【发布时间】:2017-05-03 14:40:38
【问题描述】:
我想使用 70 系列拟合模型/查找功能形式。我对它们中的每一个都有 30 个值。该图显示趋势不是线性的,因此我尝试使用 NLS。
不确定这是否是正确的方法。我以前没有实现过这个。我应该使用其他东西来建模吗?我收到以下错误:
nls 中的错误(y ~ a * exp(b * x), start = list(a = a_start, b = b_start)) :
奇异梯度
x 的值为 1:30,重复 70 次。 Y 值在 0 和 1 之间变化。我应该使用 71 个向量(长度为 30)还是应该将它们全部收集在两列中。目前,我已将它们全部收集在两列中。
数据看起来像这样:
a_start<-0.2
b_start<-2*log(2)/a_start
【问题讨论】:
-
我对@987654324@ 相对缺乏经验,但从我使用它的时间来看,最棘手的部分之一是为其提供足够接近的起始值,以便它可以找到解决方案.我不确定这个错误是否相关,但这将是尝试自动拟合许多系列的问题。为此,您可能会研究自启动模型。请参阅
?selfStart和链接。 -
尝试记录双方的日志并使用 lm 进行拟合,然后将结果转换为起始值,或者 lm 对您来说就足够了。
标签: r curve-fitting nls