R语言plot(lm)绘图结果解读

在任何线性模型中,能够直接“lm”(模型有意义),既要考虑各个参数的t-test所得出的p-value,也要考虑总体模型F-检验得出的p-value。在这之后,还要清楚一个线性模型是建立在以下五个假设的基础上的。如果不满足以下五个假设,那么模型即使通过了t-test和F-test,其预测效果也大打折扣。同时,也可以通过对这五个指标的研究,进一步优化模型(比如使用其他非参数统计方法,Box-Cox等变换方法,基于AIC,BIC,Adjusted-R^2,Cpd等方法的特征选择,Lasso,Ridge-regression,Elastic Net等等)。

• Normal i.i.d. errors
• Constant error variance
• Absence of influential cases
• Linear relationship between predictors and outcome variable
Collinearity

而针对这五个假设进行验证,最直观和简单的方法就是用R语言自带的模型诊断图。

文章目录

  • plot(lm)会生成以下四组图表
    • 1. Residuals vs Fitted
    • 2. Normal QQ
    • 3. Scale-Location
    • 4. Residuals vs Leverage
  • 参考资料

plot(lm)会生成以下四组图表

  1. Residuals vs Fitted

  2. Normal QQ

  3. Scale-Location

  4. Residuals vs Leverage

R语言plot(lm)绘图结果解读_第1张图片

引用美国弗吉尼亚大学的一篇参考资料

1. Residuals vs Fitted

R语言plot(lm)绘图结果解读_第2张图片
Resiuals即为残差的意思(估计值与真实值之差)。这就是残差与真实值之间的关系画图。在理想线性模型中有五大假设。其中之一便是残差应该是一个正态分布,与估计值无关。如果残差还和估计值有关,那就说明模型仍然有值得去改进的地方,当然,这样的模型准确程度也就大打折扣。

显然,左边的图残差和估计值基本是无关的。但是右边的图,残差和估计值几乎成一个二次关系。那么这样的模型就需要进行修正了。

如果您觉得单纯用图来看还不放心,在统计学里有四种检测方法可以进一步去测试残差和估计值是否是无关的。那便是:

Shapiro-Wilk

Kolmogorov-Smirnov

Anderson-Darling

Correlation test

你可以使用R,对你的模型分别进行以上四大检验。相关的资料可以参考Julian Faraway的Linear Model with R等著名统计学书籍。这些检验理论上都比较复杂,所以我们可能会在后面展开讨论。但是实际操作是非常简单的。至于哪一种检测方法最好?Based on a 2011 paper by Razali and Wah, Shapiro-Wilk is the best test, while Anderson-Darling performs almost the same. 其实在实际操作中都是差不多的,您挑几个看着顺眼的试一下就okay。

2. Normal QQ

R语言plot(lm)绘图结果解读_第3张图片

Normal QQ-plot用来检测其残差是否是正态分布的。左边是一个残差基本正态分布的图。右边则是一个用Normal QQ-plot进行分析显示出问题的图。1和2其实用来干的事情是差不多的。

注意一条:R语言可以显示出偏差比较大的数据组。比如左边图中的38,98,36等等。这些点从改进模型的角度可以把它删除。但是有时候这些不正常的点或许暗含着一些特殊的规律。机器学习专家应该在这里和领域专家进行沟通。或者从业务的角度上来说,机器学习专家或者统计学家应该立即对出现偏差的点进行汇报。看是这些点本身有误差,还是暗含着不一样的物理或者统计规律。

3. Scale-Location

R语言plot(lm)绘图结果解读_第4张图片
这个图是用来检查等方差假设的。在一开始我们的五大假设第二条便是,我们假设预测的模型里方差是一个定值。如果方差不是一个定值那么这个模型的可靠性也是大打折扣的。

左边的图是一个方差基本确定的情况。这种情况就是可以通过测试的。方差基本是一个常数。但是右边就不对了。大家发现方差是在不断增长的。如果出现这种情况,那么就需要进一步对模型进行分析。

在实际操作中,还会出现类似“微笑曲线”或者“倒微笑曲线”的情况。也是无法通过方差恒定测试的。如果您在这个地方依然还不相信其结果,那么可以使用Berush-Pegan test进行分析。

4. Residuals vs Leverage

R语言plot(lm)绘图结果解读_第5张图片
Leverage就是杠杆的意思。这种图的意义在于检查数据分析项目中是否有特别极端的点。

在这里我们引入了一个非常重要的指标:Cook距离。我们在线性模型里用Cook距离分析一个点是否非常“influential。”一般来说距离大于0.5的点就需要引起注意了。在这里我们借用了物理学电磁场理论中的等电势理念。那个1,和0.5分别就是Cook距离为1和0.5的等高线。

参考资料

本文大部分转载自该博客

你可能感兴趣的:(学习笔记,数据分析,r语言,统计学)