nls奇异梯度矩阵在初始参数估计

时间:2017-01-05 13:35:52

标签: r nls

我试图将第一个零级动力学曲线拟合到某些数据,当我绘制数据并向模型添加一些初始参数时,我得到了非常好的视觉效果,但是当我跑步时,我得到了错误:

t <- 1:50
CrStart <- 850
CsStart <- 1100
KrStart <- 0.27
KsStart <- 0.0065
y3 <- runif(1,825,875)*(1 - exp(-runif(1,0.25,0.3)*t)) + runif(1,1050,1150)*runif(1,0.00625,0.00675)*t+runif(50,0,100)

plot(t,y3)

m <- nls (y3~Cr*(1 - exp(-Kr*t)) + Cs*Ks*t, start=list(Cr=CrStart,Cs=CsStart,Kr=KrStart,Ks=KsStart))

我玩过这些参数没有成功,所以我根据模型模拟了一些数据,但仍然得到同样的错误。任何可能出错的建议:

{{1}}

1 个答案:

答案 0 :(得分:2)

您的问题是参数CsKs混淆了;您的模型中有太多参数。 CsKs的组合无限多,适合模型。

解决方案是将Cs*Ks更改为K并改为解决K。然后是K = Cs*Ks