我已经尝试使用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,: 奇异梯度
答案 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
拟合系数与起始值相距甚远,非常大,表明问题未得到很好的接地。