[Re: Significance of confidence intervals in the Non-Linear Least Squares Program.]
On Thu, 27 Mar 2008, 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.
That seems to be about ill-conditioning in the *correlation* matrix. As I pointed out before, the condiition number of the *covariance* matrix (which was the original question) is scale-dependent -- uncorrelated parameter estimators can have an arbitrarily high condition number of their covariance matrix (it is the ratio of the largest to the smallest variance).
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 at 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.
-- O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
______________________________________________ R-help at 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.
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595