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. ______________________________________________ R-help@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.