前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R可视乎|回归诊断

R可视乎|回归诊断

作者头像
庄闪闪
发布2021-12-22 10:15:09
1.2K0
发布2021-12-22 10:15:09
举报

回归应该算得上统计分析中最常用的建模手段,要判断最终得到的模型是否准确,还需要进行关键的一步——回归诊断。用过 R 语言进行回归分析的小伙伴应该知道,base 包里的 plot()函数可以直接绘制诊断结果,今天小编介绍一个更方便的工具:Lindia包[1]使用这个包可以获得更详细的回归诊断结果,语法也非常简单,下面跟着小编一起学习吧~

Lindia 包简介

Lindia 是 ggplot2 的扩展,提供更详细的线性模型诊断结果的可视化功能。Lindia 中的所有函数输入都必须为 lm 对象(包括 lm()glm() ),并以 ggplot 对象的形式返回线性诊断图。

引言

这里以 Cars93 数据集为例,建立一个线性回归模型。

代码语言:javascript
复制
library(MASS)
data(Cars93)
cars_lm <- lm(Price ~ Passengers + Length + RPM, data = Cars93)

首先,介绍一下使用 base 包中的 plot() 函数进行回归诊断

代码语言:javascript
复制
par(mfrow = c(2,2))
plot(cars_lm)

【🌟🌟🌟】这四幅图的含义为[2](1) Residuals vs Fitted:残差和拟合值。 如果红线能很好地拟合大部分散点且是近乎水平的,则说明自变量和因变量是线性相关的。若呈较明显的曲线,则应考虑可能存在非线性关系。 (2) Normal Q-Q:QQ图,用来检验正态性。 若满足正态假设,那么图上的点应该落在呈45度角的直线上;若不是如此,那么就违反了正态性的假设。 (3) Scale - Location:检验方差齐性。 若满足假设,则散点会均匀地分布在水平线上。 (4) Residuals - Leverage:判断是否有极端值。 判断依据是 cook's distance(库克距离),在红色等高线外的点可以考虑将其删除。

方法介绍

下面正式介绍今天的主角:Lindia包,该包来源于 github ,使用其中的gg_diagnose()函数实现诊断结果全输出:

代码语言:javascript
复制
# 安装包
devtools::install_github("yeukyul/lindia")
library(lindia)

#绘图
gg_diagnose(cars_lm)

【🌟结果解读】:输出结果不仅包含了 plot() 函数输出的四幅图,还多了 5 幅图。 (1) Histogram of Residuals:残差直方图[3]。 使用残差的直方图可确定数据是偏斜还是包含异常值。图中可看出存在异常值,残差分布有轻微右偏。因为直方图的外观取决于用来进行数据分组的区间数,所以请勿使用直方图评估残差的正态性。 (2) Residuals vs 变量名:残差与变量[4]。 如果在残差中看到非随机图形,则表明变量会系统性地影响响应。请考虑在分析中包含该变量 (5)-(8):这四幅图参照引言中的解释。 (9) Cook's distance Plot:库克距离。 这幅图的含义和引言中提到的杠杆图类似,相比之下含义更清晰一些,红线之上的点即为异常值。

其他函数

lindia 还包含许多实用的函数,可以根据分析需要单独输出某一张诊断图。

  • gg_reshist(): 残差直方图
  • gg_resfitted(): 残差与拟合值
  • gg_resX(): 残差与预测值
  • gg_qqplot(): QQ图
  • gg_boxcox(): box-cox图
  • gg_scalelocation(): 检验方差齐性
  • gg_resleverage(): Residual by leverage plot
  • gg_cooksd(): 库克距离图

参考资料

[1]lindia包: https://github.com/yeukyul/lindia

[2]这四幅图的含义为: https://data.library.virginia.edu/diagnostic-plots/

[3]残差直方图: https://support.minitab.com/zh-cn/minitab/18/help-and-how-to/modeling-statistics/doe/how-to/factorial/analyze-factorial-design/interpret-the-results/all-statistics-and-graphs/residual-plots/#histogram-of-residuals

[4]残差与变量: https://support.minitab.com/zh-cn/minitab/18/help-and-how-to/modeling-statistics/doe/how-to/factorial/analyze-factorial-design/interpret-the-results/all-statistics-and-graphs/residual-plots/#histogram-of-residuals

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 庄闪闪的R语言手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Lindia 包简介
  • 引言
  • 方法介绍
  • 其他函数
    • 参考资料
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档