【发布时间】:2017-09-06 23:48:42
【问题描述】:
我想使用像 brian s. cheng 这样的 logit 函数进行非线性回归,基于 Fox & Weisberg.
我想去most pain-free way
并使用nls,但出现错误
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
NA/NaN/Inf in foreign function call (arg 1)
我检查了我没有任何NaN, Inf or similar,发现我有Singular gradient error。但是,我不使用零残留人工数据(因为不应该使用)。因为它与nls 的内部有关,所以我转向nlsLM,但错误仍然存在。我能做什么?
我的数据是https://pastebin.com/iTXQcBzB
我的代码是
nlsLM(y ~ SSlogis(x, Asym, xmid, scal), mydata) % Error in lm.fit
nlsLM(y ~ theta1/(1 + exp(-(theta2 + theta3 * x))), mydata) % Singular gradient
提供的数据其实只是一部分,我的完整代码更像
mydata %>%
group_by(groupNr) %>%
do(regmodel = nls(.$y ~ SSlogis(.$x, Asym, xmid, scal), .,
start = c(Asym = max(.$y), xmid = mean(.$x), scal = 1)))
【问题讨论】:
标签: r regression non-linear-regression