您在R中使用哪些函数来拟合数据曲线并测试曲线的拟合程度?什么结果被认为是好的?
答案 0 :(得分:26)
该问题的第一部分可以填满整本书。只是一些快速选择:
lm()
glm()
用于广义线性模型(例如用于逻辑回归)rlm()
用于稳健的线性模型lmrob()
来自strong robustbase for robust linear models loess()
用于非线性/非参数模型然后有特定于域的模型,例如时间序列,微观计量经济学,混合效应等等。例如,几个任务视图Econometrics更详细地讨论了这一点。至于适合度,这也是人们可以轻松地在整本书中讨论的问题。
答案 1 :(得分:11)
R中规范曲线拟合的主要工具是lm()
,glm()
和nls()
。对我而言,拟合优度是模型选择中较大问题的一个子问题。事实上,错误地使用拟合优度(例如,通过逐步回归)会产生严重错误指定的模型(参见Harrell关于“回归建模策略”的书)。我不是从头开始讨论这个问题,而是推荐Harrell的书lm
和glm
。维纳布尔斯和里普利的圣经很简洁,但仍然值得一读。 Faraway的“使用R扩展线性模型”具有全面性和可读性。 nls不在这些来源中,但是Ritz& amp;的“非线性回归与R”。 Streibig填补了空白,非常实际操作。
答案 2 :(得分:8)
nls()
函数(http://sekhon.berkeley.edu/stats/html/nls.html)非常适用于非线性最小二乘曲线拟合。 Chi平方(平方残差的总和)是在这种情况下优化的度量,但它没有标准化,因此您不能轻易地使用它来确定拟合的好坏程度。你应该确保的主要是你的残差是正常分布的。不幸的是,我不确定这是一种自动化的方法。
答案 3 :(得分:6)
Quick R网站对用于拟合模型和测试拟合的基本函数以及样本R代码进行了合理的总结:
答案 4 :(得分:3)
可能会修改你应该确保的主要是 你的残差是正常的 分散式。不幸的是我不是 确保自动化的方式。
qqnorm()
以找到样本分位数与理论分位数之间的相关性。从本质上讲,这只是对正常分位数图的数值解释。也许为不同的分位数范围提供几个相关系数值可能是有用的。例如,如果中间97%的数据的相关系数接近于1,而尾部的相关系数则低得多,这告诉我们残差的分布大致正常,尾部有一些有趣的情况。