Problem modelling MFA using nlme

340 views
Skip to first unread message

Dave Auty

unread,
May 14, 2009, 6:28:22 AM5/14/09
to for...@googlegroups.com
Dear Forest-R people,

I'm attempting to model the radial variation in microfibril angle in Scots pine (from Silviscan data), taking into account the nested
structure of the data. Currently my data are from 1 site x 6 trees x 5 sampling heights = 30 radial samples, but I will be adding data from a second site soon.

I'm fitting an existing model (Jordan et al 2005) to my data but initially only specified the
random effects for the parameter b0 as follows:

MFA.jordan1<-nlme(MFA ~ b0/(1+exp(b1*RN))+b2, start=c(b0=50, b1=0.07, b2=9), fixed=b0+b1+b2~1, random=
b0~1|Tree/Sample_ID, data = MFA.data)

This worked OK but then I tried to specify the random effects for the other parameters (NB: only specified at Tree level this time
as adding /Sample_ID caused R to 'hang') like so:

MFA.jordan2<-nlme(MFA ~ b0/(1+exp(b1*RN))+b2, start=c(b0=50, b1=0.07, b2=9), fixed=b0+b1+b2~1, random=
b0+b1+b2~1|Tree, data = MFA.data)

But I got the following error message:

Error in nlme.formula(MFA ~ b0/(1 + exp(b1 * RN)) + b2, start = c(b0 = 50, :
Step halving factor reduced below minimum in PNLS step

Does anyone know what might have gone wrong here? I thought initially
that my data set was too small, or maybe I've specified the function arguments incorrectly.

Any help gratefully accepted.

Thanks in advance,


Dave Auty MSc
PhD Student | University of Aberdeen
Forest Research NRS | Roslin | Midlothian | EH25 9SY
Scotland

dave...@gmail.com | dave...@forestry.gsi.gov.uk


John Kershaw

unread,
May 14, 2009, 6:40:33 AM5/14/09
to for...@googlegroups.com
Dave,

What has happened is that the minimizer in the background has reduced the step size (the over which it changes a parameter) below the minimum step size specified.  You can change this using nlmeControl. You might also try using the update function with your current model and changing the random part. Also try fitting the model with only b1 or b2. You also need to consider your sample sizes here, with only 30 samples, you are getting close to that number of parameters. These models can be quite touchy and I find building from the bottom up generally works best.  The examples in Pineiro and Bates are excellent for this approach.

Good luck,

JAK

Dave Auty

unread,
May 14, 2009, 7:28:55 AM5/14/09
to for...@googlegroups.com
Thanks John. in nlmeControl is it the minScale argument that I need to
decrease? Adding data from the second site I can now include Site in
the nested structure, and the model converges but only for b1 or b2, not
if I include b0.

Dave
> dave...@gmail.com <mailto:dave...@gmail.com> |
> dave...@forestry.gsi.gov.uk <mailto:dave...@forestry.gsi.gov.uk>
>
>
>
>
>
>
>
>
> >

Saunders, Michael R

unread,
May 14, 2009, 8:26:12 AM5/14/09
to for...@googlegroups.com
Dave:

As John suggests, I would also suggest taking a look at the correlations
between the parameters, both random and fixed components. If they are
too strongly correlated, then you need to remove the random component
from the parameter. You may have done this indirectly through trial and
error, but it is always nice to give a sound reason why you didn't have
all parameters random. I have generally done this by fitting with
nlsList to get a fully parameterized model, then looked at the
correlation structure there to decide how to handle the random component
in my nlme model.

Mike

Mike R. Saunders
Assistant Professor of Hardwood Silviculture

Department of Forestry and Natural Resources
221C Pfendler Hall
715 West State Street
Purdue University
West Lafayette IN 47907-2061

Phone: 765-494-2155
Cell: 765-430-1440
Fax: 765-494-9461

Dave Auty

unread,
Jun 22, 2009, 11:53:49 AM6/22/09
to Forest-R
Mike,

One question on this - how can I extract the correlation structures
for the random and fixed components once I have fitted the model with
nlsList?

Dave
> >     davea...@gmail.com <mailto:davea...@gmail.com> |
> >     dave.a...@forestry.gsi.gov.uk
> > <mailto:dave.a...@forestry.gsi.gov.uk>- Hide quoted text -
>
> - Show quoted text -

Saunders, Michael R

unread,
Jun 22, 2009, 3:16:47 PM6/22/09
to for...@googlegroups.com
Dave:

I think corr(model) would do it, if I remember properly. Remember, nlsList gives fully parameterized model and does not have a random component.

Mike

Mike R. Saunders
Assistant Professor of Hardwood Silviculture

Department of Forestry and Natural Resources
221C Pfendler Hall
715 West State Street
Purdue University
West Lafayette IN 47907-2061

Phone: 765-494-2155
winmail.dat
Reply all
Reply to author
Forward
0 new messages