Skip to content

Problems with nls

1 message · John C Nash

#
The problem is badly scaled -- parameters from very small to very big.

nlmrt package manages a bit better, but scaling would likely make it and 
nls both happier. nlxb insists on having its data in a data frame.

Here's my code

rm(list=ls())
Laptop_sale <- c(1405,
1863,2027,2669,2938,5275,6595,6943,8621,10905,12420,22400,32380,31600,34900,43163,47838,47592)
CuSale <- Laptop_sale
time <- seq_along(Laptop_sale)
Bass.Model <- Laptop_sale ~ m * ((p + q)^2/p) * (exp(-(p + q) * time)/((q /
p) * exp(-(p + q) * time) + 1)^2)
Bass.Fit <- nls(formula = Bass.Model, start = c(p = 0.03, q = 0.4, m 
=max(CuSale)), trace = TRUE)
Bass.Fit
library(nlmrt)
xdata<-data.frame(Laptop_sale, time)
Bass.Fitn <- nlxb(formula = Bass.Model, start = c(p = 0.03, q = 0.4, m = 
max(CuSale)), data=xdata,trace=TRUE)
Bass.Fitn


JN