【发布时间】:2021-02-12 20:54:00
【问题描述】:
我已经阅读了许多类似的问题,但仍然找不到答案。 以下是我用来校准以下方程式的一些数据:
set.seed(100)
i <- sort(rexp(n = 100,rate = 0.01))
Tr <- sort(runif(n = 100,min = 5,max = 100))
k_start <- 3259
u_start <- 0.464
t0_start <- 38
n_start <- -1
i_test <- k_start*Tr^u_start * (5 + t0_start)^n_start
m <- nls(i~(k * Tr^u / (5+t0)^n), start = list(k = k_start, u = u_start,
t0 = t0_start, n = n_start))
当我使用nlsLM 时出现同样的错误:
nlsModel(formula, mf, start, wts) 中的错误:初始参数估计处的奇异梯度矩阵
对于起始值,我尝试使用 Python 中的校准值,但仍然出现相同的错误。
还有另一种使用该等式的方法,如下所示: 但是,结果是同样的错误。
d_start <- 43
m <- nls(i ~ (k * Tr^u / d),
start = list(k = k_start, u = u_start,d=d_start))
当我只使用分子时它可以工作,但这不是我需要的。 任何帮助将不胜感激。
【问题讨论】:
标签: r nonlinear-optimization nls