[R] Collinearity in nls problem

Spencer Graves spencer.graves at pdf.com
Fri Mar 3 02:58:07 CET 2006


	  Trying different parameterizations is often a wise with nonlinear 
regression.  However, I know of no general rule for finding a good one 
other than to try several and try to fit a paraboloid to the sums  of 
squares surface in a region of the least squares solution:  The best 
parameterization will be fairly close to parabolic.  To do this, I've 
used "expand.grid" to get the points, then chop of all points with sums 
of squares exceeding the minimum plus some number that should represent, 
say, a joint 99% confidence region.  I also supplement this with contour 
or perspective plots:  Parameterizations with the better R^2's usually 
also have a more elliptical appearance in contour plots.  I've done this 
successfully to find a parameterization that will both speed up 
estimation AND provide reasonable accuracy with Wald approximate 
confidence intervals.

	  Even without that, however, we can still get good, joint confidence 
regions in the form of contour plots of the sums of squares surface: 
The validity of these confidence regions is only affected by the 
intrinsic curvature of the problem, and is not affected by the 
parameterization.  Of course, if we select a strange parameterization, 
our confidence regions will not look very elliptical (and our univariate 
confidence intervals may be far from symmetric).

	  My favorite reference for this kind of thing is Bates and Watts 
(1988) Nonlinear Regression Analysis and Its Applications (Wiley).

	  hope this helps.
	  spencer graves

Simon Frost wrote:

> Dear R-Help list,
> 
> I have a nonlinear least squares problem, which involves a changepoint;
> at the beginning, the outcome y is constant, and after a delay, t0, y
> follows a biexponential decay. I log-transform the data, to stabilize
> the error variance. At time t < t0, my model is
> 
> log(y_i)=log(exp(a0)+exp(b0))
> 
> at time t >= t0, the model is
> 
> log(y_i)=log(exp(a0-a1*(t_i - t0))+exp(b0=b1*(t_i - t0)))
> 
> I thought that I would have identifiability issues, but this model seems
> to work fine except that the parameters t0 (the delay) is highly
> correlated with the initial decay slope a0 (which makes sense, as the
> longer the delay, the more rapid the drop has to be, conditional on the
> data).
> 
> To get over this problem, I could reparameterize the problem, but it
> isn't clear to me how to do this for the above model. I also thought
> about using a penalized least square approach, to shrink t0 and a1
> towards 0. I haven't seen much on penalized least squares in a nonlinear
> least squares setting; is this a good way to go? Can I justifiably
> penalize only a0 and a1, or should I also penalize the other parameters?
> 
> Thanks for any help!
> Simon




More information about the R-help mailing list