我试图解释nls()的输出。我已经阅读了这篇文章,但我仍然不明白如何选择最合适的。根据我的拟合,我有两个输出:
> summary(m)
Formula: y ~ I(a * x^b)
Parameters:
Estimate Std. Error t value Pr(>|t|)
a 479.92903 62.96371 7.622 0.000618 ***
b 0.27553 0.04534 6.077 0.001744 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 120.1 on 5 degrees of freedom
Number of iterations to convergence: 10
Achieved convergence tolerance: 6.315e-06
和
> summary(m1)
Formula: y ~ I(a * log(x))
Parameters:
Estimate Std. Error t value Pr(>|t|)
a 384.49 50.29 7.645 0.000261 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 297.4 on 6 degrees of freedom
Number of iterations to convergence: 1
Achieved convergence tolerance: 1.280e-11
第一个参数有两个参数,残留误差较小。第二个参数只有一个,但残差最差。哪个最合适?
4
我删除了我的答案,该答案建议使用
—
罗兰
AIC
,因为注释引起了有说服力的论点,即AIC通常不适用于nls
适合的选择。我将始终尝试根据机械知识来决定非线性模型,尤其是如果数据集与您的数据集一样小时。
嗯 @Roland现在删除的答案的原始评论者愿意重新发表评论吗?对于我来说,立即了解为什么AIC不适合...(虽然stat.ethz.ch/pipermail/r-help/2010-August/250742.html给出了一些提示),但作为最后的提示,如果您在尝试确定功率变换时,您可以尝试Box-Cox变换(
—
Ben Bolker 2012年
boxcox
在MASS
包装中)