[R] Problems with nls

rahul143 rk204885 at gmail.com
Sun Dec 2 16:33:12 CET 2012


I'm trying to fit the Bass Diffusion Model using the nls function in R but 
I'm running into a strange problem. The model has either two or three 
parameters, depending on how it's parameterized, p (coefficient of 
innovation), q (coefficient of immitation), and sometimes m (maximum market 
share). Regardless of how I parameterize the model I get an error saying 
that the step factor has decreased below it's minimum. I have tried 
re-setting the minimum in nls.controls but that doesn't seem to fix the 
problem. Likewise, I have run through a variety of start values in the past 
few days, all to no avail. Looking at the trace output it appears that R 
believes I always have one more parameter than I actually have (i.e. when 
the model is parameterized with p and q R seems to be seeing three 
parameters, when m is also included R seems to be seeing four). My 
experience with nls is limited, can someone explain to me why it's doing 
this? I've included the data set I'm working with (published in Michalakelis 
et al. 2008) and some example code. 

## Assign relevant variables 
adoption <- 
c(167000,273000,531000,938000,2056452,3894103,5932090,7963742,9314687,10469060,11393302,11976340) 
time <- seq(from = 1,to = 12, by = 1) 
## Models 
Bass.Model <- adoption ~ ((p + q)^2/p) * (exp(-(p + q) * time)/((q / p) * 
exp(-(p + q) * time) + 1)^2) 
## Starting Parameters 
Bass.Params <- list(p = 0.1, q = 0.1) 
## Model fitting 



-----
TO GET MORE DETAILS CLICK HERE  
--
View this message in context: http://r.789695.n4.nabble.com/Problems-with-nls-tp4651641.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list