R中的拟合优度函数

时间:2009-07-25 02:36:06

标签: r statistics curve-fitting

您在R中使用哪些函数来拟合数据曲线并测试曲线的拟合程度?什么结果被认为是好的?

5 个答案:

答案 0 :(得分:26)

该问题的第一部分可以填满整本书。只是一些快速选择:

    标准线性模型
  • lm()
  • glm()用于广义线性模型(例如用于逻辑回归)
  • 来自MASS包的
  • rlm()用于稳健的线性模型
  • lmrob()来自strong robustbase for robust linear models
  • loess()用于非线性/非参数模型

然后有特定于域的模型,例如时间序列,微观计量经济学,混合效应等等。例如,几个任务视图Econometrics更详细地讨论了这一点。至于适合度,这也是人们可以轻松地在整本书中讨论的问题。

答案 1 :(得分:11)

R中规范曲线拟合的主要工具是lm()glm()nls()。对我而言,拟合优度是模型选择中较大问题的一个子问题。事实上,错误地使用拟合优度(例如,通过逐步回归)会产生严重错误指定的模型(参见Harrell关于“回归建模策略”的书)。我不是从头开始讨论这个问题,而是推荐Harrell的书lmglm。维纳布尔斯和里普利的圣经很简洁,但仍然值得一读。 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,而尾部的相关系数则低得多,这告诉我们残差的分布大致正常,尾部有一些有趣的情况。