What should I be looking for in the output of the nls() routine that alerts me to the fact that the Hessian is potentially ill-conditioned?
Glenn Peter Dalgaard wrote: > glenn andrews wrote: > >> Thanks for the response. I was not very clear in my original request. >> >> What I am asking is if in a non-linear estimation problem using >> nls(), as the condition number of the Hessian matrix becomes larger, >> will the t-values of one or more of the parameters being estimated in >> general become smaller in absolute value -- that is, are low t-values >> a sign of an ill-conditioned Hessian? >> > > In a word: no. Ill-conditioning essentially means that there are one > or more directions in parameter space along which estimation is > unstable. Along such directions you get a large SE, but also a large > variability of the estimate, resulting in t values at least in the > usual "-2 to +2" range. The large variation may swamp a true effect > along said direction, though. > >> Typical nls() ouput: >> >> Formula: y ~ (a + b * log(c * x1^d + (1 - c) * x2^d)) >> >> Parameters: >> Estimate Std. Error t value Pr(>|t|) a 0.11918 0.07835 1.521 >> 0.1403 b -0.34412 0.27683 -1.243 0.2249 c 0.33757 0.13480 >> 2.504 0.0189 * >> d -2.94165 2.25287 -1.306 0.2031 >> Glenn >> >> Prof Brian Ripley wrote: >> >> >> >>> On Wed, 26 Mar 2008, glenn andrews wrote: >>> >>> >>> >>>> I am using the non-linear least squares routine in "R" -- nls. I >>>> have a >>>> dataset where the nls routine outputs tight confidence intervals on >>>> the >>>> 2 parameters I am solving for. >>>> >>> >>> nls() does not ouptut confidence intervals, so what precisely did >>> you do? >>> I would recommend using confint(). >>> >>> BTW, as in most things in R, nls() is 'a' non-linear least squares >>> routine: there are others in other packages. >>> >>> >>> >>>> As a check on my results, I used the Python SciPy leastsq module on >>>> the >>>> same data set and it yields the same answer as "R" for the >>>> coefficients. However, what was somewhat surprising was the the >>>> condition number of the covariance matrix reported by the SciPy >>>> leastsq >>>> program = 379. >>>> >>>> Is it possible to have what appear to be tight confidence intervals >>>> that >>>> are reported by nls, while in reality they mean nothing because of the >>>> ill-conditioned covariance matrix? >>>> >>> >>> The covariance matrix is not relevant to profile-based confidence >>> intervals, and its condition number is scale-dependent whereas the >>> estimation process is very much less so. >>> >>> This is really off-topic here (it is about misunderstandings about >>> least-squares estimation), so please take it up with your >>> statistical advisor. >>> >>> >> >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > > > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.