0
我在一些真实数据测试中遇到过这个nls奇异矩阵问题,也试过nlsLM,但我总是得到相同的错误。一些现有的解决方案在stackoverflow说初始参数不够理想。然后我创建了一个添加了噪音的测试数据集。然后我输入了开始的确切参数,但仍然有相同的错误。有人可以看看,这有什么问题?nlsModel中的误差:初始参数估计中的奇异梯度矩阵
library(minpack.lm)
f <- function(x,a,b,m,n) {
m + n* b/(a^b) * (x^(b-1))
}
# test dataset
x = seq(1,100)
y= f(x,a = 1,b = 2.5,m = 0.5, n= 50)
noise = runif(100,-1000,1000)
y = y+ noise # add noise
plot(x, y, type="l")
data = as.data.frame(cbind(x,y))
mod <- nlsLM(y ~ f(x,a,b,m,n), data = data, start=list(a = 1,b = 2.5,m = 0.5, n= 50), control = list(maxiter = 500))
在此先感谢!
我能得到一个很好的契合'MOD1 < - 流明(Y〜聚(X,2,生= TRUE ));行(x,predict(mod1),col =“red”)'。我并不感到惊讶的是,优化器遇到了四参数函数的问题。 – Roland