Dear WinBUGGERs,

Thanks to A. Thomas, David Spiegelhalter, Bill Heavlin, Peter Lenk, Gheorghe Doros, Seth Wenger, David LeBlond, Corey Powell, Marc Brodsky, Kent Holsinger, Phil Woodward, and Dave Fournier who commented on my 5 param non-linear model (original mail below). Their suggestions can be summarized under four rubrics:

(1) Choice of priors: Several people commented that NL models can't cope well with totally uninformative priors. So what is known about a parameter should be reflected in the choice of its prior. This includes the likely location or whether it's positive or negative. The challenge then is how to constrain a prior for it to still be "uniformative" (Phil Woodward). Bill Heavlin reported that the gamma(.01,.01) prior on a precision hardly ever worked and should better be replaced by a wide uniform. 

(2) Choice of initial values: Starting from "bad" regions in parameter space can prevent the chains from converging (Peter Lenk). Chosing initial values at or close to the MLEs avoids this problem (David Spiegelhalter).

(3) Model structure: Several people suggested that my model had too many parameters and that its estimates were likely strongly correlated. It means that there is very little information in the data to separately estimate all unknowns and this creates trouble. One way around would be to reparameterize the model or use a similar model with fewer parameters. Desired functions of parameters, such as the asymptote in the present model, could still be obtained as a side-product.Another comment was that the lower asymptote was actually at minus infinity, not around zero, making our model biologically less attractive than I had recognized at first.

(4) Other: Centering of covariates was mentioned as an important way of avoiding computational trouble. Kent Holsinger wondered if the MLE's could be recovered if the MLE of tau was input rather than estimated (don't know, since I do not have it).

Finally, Dave Fournier claimed that AD model builder was much better than WinBUGS for estimating highly correlated parameters in a model such as mine and offered to have a try with my data. He confirmed that the parameter estimates are highly confounded and suggested the model was overparameterised with especially little information present about parameter B. 

With all this wisdom I now try to convince my physiologist colleague to abandon his supermodel and chose a simpler one; after all, we just want good predictive ability in the observed range of the x variate.

Thanks again for your help.

Kind regards  --  Marc

Marc Kery

Schweizerische Vogelwarte - Swiss Ornithological Institute
CH - 6204 Sempach
phone: 0041 41 462 97 93 (direct)
fax:   0041 41 462 97 10

email (work): [log in to unmask]
email (private): [log in to unmask]

> -----Ursprüngliche Nachricht-----
> Von: (The BUGS software mailing list) [mailto:[log in to unmask]]Im
> Auftrag von Kery Marc
> Gesendet: Freitag, 2. Juni 2006 09:14
> An: [log in to unmask]
> Betreff: [BUGS] simple non-linear model
> Dear WinBUGGERS,
> I am new to WinBUGS and have tried a full day solving this 
> seemingly simple problem and would be very grateful if 
> somebody could point out where my mistake is.
> I want to estimate a non-linear relationship between fat mass 
> extracted from 55 garden warblers and fresh body mass. My 
> physiologist colleagues suggested the following function:
> 	y = A + (B + C*x - A)/(1 + exp(D - E*x)),
> where x is fresh body mass, y is fat extracted and A, B, C, 
> D, and E are parameters. This curve has the desirable 
> properties of having an asymptote at A (expected to lie 
> between 0 and 0.5) and a constant slope of between 0 and 1 at 
> higher values of x.
> MLEs that somebody obtained years ago (A=0.22, B=0.81, 
> C=0.48, D=8.9, E=0.35) seem to produce a well-fitting curve 
> (albeit with heteroscedastic errors). However, I just can't 
> replicate them in WinBUGS, using this model:
> 	model {
> 	A ~ dnorm(0,.01)
> 	B ~ dnorm(0,.01)
> 	C ~ dnorm(0,.01)
> 	D ~ dnorm(0,.01)
> 	E ~ dnorm(0,.01)
> 	tau.fat ~ dgamma(.01,.01)
> 	for(i in 1:55){	
> 	   fat[i] ~ dnorm(mu[i],tau.fat)
> 	   mu[i] <- A + ( B + C*fresh[i] - A )/( 1 + exp(D - 
> E*fresh[i]))
> 	   }
> 	}
> Apart from not getting similar estimates for A-E, two 
> parallel chains just don't seem to mix for D and E, 
> regardless if I scale the covariate or not.
> Thanks a lot for any suggestions about what may be wrong.
> Kind regards  --  Marc

This list is for discussion of modelling issues and the BUGS software.
For help with crashes and error messages, first mail [log in to unmask]
To mail the BUGS list, mail to [log in to unmask]
Before mailing, please check the archive at
Please do not mail attachments to the list.
To leave the BUGS list, send LEAVE BUGS to [log in to unmask]
If this fails, mail [log in to unmask], NOT the whole list