r ADBUG模型nls奇异梯度

时间:2018-12-03 08:29:15

标签: r nls

我已经尝试使用r中的nls函数将以下内容放入ADBUG模型中,但是奇异矩阵错误不断重复出现,我真的不知道该怎么做... < / p>

     nprice       nlv2
[1,] 0.6666667 1.91666667
[2,] 0.7500000 1.91666667
[3,] 0.8333333 1.91666667
[4,] 0.9166667 1.44444444
[5,] 1.0000000 1.00000000
[6,] 1.0833333 0.58333333
[7,] 1.1666667 0.22222222
[8,] 1.2500000 0.08333333
[9,] 1.3333333 0.02777778

代码:

fit <- nls(f=nprice~a+b*nlv2^c/(nlv2^c+d),start=list(a=0.083,b=1.89,c=-10.95,d=0.94))
  

nls中的错误(f = nprice〜a + b * nlv2 ^ c /(nlv2 ^ c + d),start = list(a = 0.083,:     奇异梯度

1 个答案:

答案 0 :(得分:0)

nlsr 通过函数nls提供了nlxb的更新版本,在大多数情况下,避免了“奇异梯度”错误。

library(nlsr)
fit <- nlxb(f = nprice~a+b*nlv2^c/(nlv2^c+d),
       data = df,
       start = list(a=0.083,b=1.89,c=-10.95,d=0.94))
## vn:[1] "nprice" "a"      "b"      "nlv2"   "c"      "d"     
## no weights

fit$coefficients
##           a           b           c           d 
## -2.1207e+04  2.1208e+04 -7.4083e-01  1.6236e-05 

拟合系数与起始值相距甚远,非常大,表明问题未得到很好的接地。