From pburns at pburns.seanet.com  Thu Aug  7 12:42:15 2008
From: pburns at pburns.seanet.com (Patrick Burns)
Date: Thu, 07 Aug 2008 11:42:15 +0100
Subject: [Rd] Numerical optimisation and "non-feasible" regions
In-Reply-To: <489AC5DC.10508@epfl.ch>
References: <4899D089.6020208@epfl.ch><loom.20080807T004607-309@post.gmane.org>
	<489AC5DC.10508@epfl.ch>
Message-ID: <489AD187.7040007@pburns.seanet.com>

If the positive definiteness of the covariance
is the only issue, then you could base a penalty on:

eps - smallest.eigen.value

if the smallest eigen value is smaller than eps.

Patrick Burns
patrick at burns-stat.com
+44 (0)20 8525 0696
http://www.burns-stat.com
(home of S Poetry and "A Guide for the Unwilling S User")

Mathieu Ribatet wrote:
> Thanks Ben for your tips.
> I'm not sure it'll be so easy to do (as the non-feasible regions 
> depend on the model parameters), but I'm sure it's worth giving a try.
> Thanks !!!
> Best,
>
> Mathieu
>
> Ben Bolker a ?crit :
>> Mathieu Ribatet <mathieu.ribatet <at> epfl.ch> writes:
>>
>>  
>>> Dear list,
>>>
>>> I'm currently writing a C code to compute the (composite) likelihood -
>>> well this is done but not really robust. The C code is wrapped in an R
>>> one which call the optimizer routine - optim or nlm. However, the
>>> fitting procedure is far from being robust as the parameter space
>>> depends on the parameter - I have a covariance matrix that should be a
>>> valid one for example.
>>>     
>>
>>   One reasonably straightforward hack to deal with this is
>> to add a penalty that is (e.g.) a quadratic function of the
>> distance from the feasible region, if that is reasonably
>> straightforward to compute -- that way your function will
>> get gently pushed back toward the feasible region.
>>
>>   Ben Bolker
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>   
>



[Rd] Numerical optimisation and "non-feasible" regions
Patrick Burns