Re: Non-positive semi-definite message
From: "Olofsen, E." <E.Olofsen@lumc.nl>
Subject: Re: Non-positive semi-definite message
Date: Thu, 16 Aug 2001 15:33:49 +0200 (CEST)
Dear Atul,
> One more suggestion was to use MATRIX=S in COV step to get around this
> message although I am not sure how it works.
See the User's Guide part II, page 21, on the assumption of the
distribution of random effects.
> I used these methods and I could work around the problem. It is not
> clear to me still how change of NSIG effects the search of the global
> minima? Perhaps somebody could comment on this.
I wanted to understand this, and the origin of the `rounding errors'
message as well, so I had a look at the code. This is what I think
I learned.
First, NSIG determines the small but finite difference h in (scaled)
parameters at function evaluations to calculate the gradient and to
update the Hessian (see Help Guide). These terms will be more accurate
when NSIG is higher (due to the nonlinearity of the objective
function), but a too small h may cause numerical instability.
Second, it is used to check if the required precision is achieved, to
terminate the minimization (successfully). Third, it is checked if
precision is still high enough to calculate a new solution. When this
is not possible, the Hessian is reset (see Help Guide). If it is still
not possible, the minimization terminates with the `rounding errors'
message. This therefore may be caused by a low NSIG rather than
numerical instability such as above. Note that NSIG is also used in
the COVR step to determine h.
It may be that there is a discrepancy between the accuracy of
numerical derivatives and the precision of parameter estimates when
they are highly correlated; the former needing a higher NSIG than
obtainable for the latter.
Erik