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

nls singular gradient matrix at initial parameter estimates

我正在尝试将第一个零级动力学曲线拟合到某些数据,当我绘制数据并将一些初始参数添加到模型时,我得到了非常好的视觉拟合但是当我 运行 nls 我收到错误:

Error in nlsModel(formula, mf, start, wts) : singular gradient matrix at initial parameter estimates

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

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))

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

解决办法是把Cs*Ks改成K,改成K。然后K = Cs*Ks