R可视乎|回归诊断(文末送书)

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

Lindia 包简介


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


引言

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

library(MASS)
data(Cars93)
cars_lm <- lm(Price ~ Passengers + Length + RPM, data = Cars93)

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

par(mfrow = c(2,2))
plot(cars_lm)

image.gif

【🌟🌟🌟】这四幅图的含义为[2]

(1) Residuals vs Fitted:残差和拟合值。 如果红线能很好地拟合大部分散点且是近乎水平的,则说明自变量和因变量是线性相关的。若呈较明显的曲线,则应考虑可能存在非线性关系。

(2) Normal Q-Q:QQ图,用来检验正态性。 若满足正态假设,那么图上的点应该落在呈45度角的直线上;若不是如此,那么就违反了正态性的假设。

(3) Scale - Location:检验方差齐性。 若满足假设,则散点会均匀地分布在水平线上。

(4) Residuals - Leverage:判断是否有极端值。 判断依据是 cook's distance(库克距离),在红色等高线外的点可以考虑将其删除。


方法介绍

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

# 安装包
devtools::install_github("yeukyul/lindia")
library(lindia)
#绘图
gg_diagnose(cars_lm)

D]5FCWL1G@1587QX9T3BIIE.png

【🌟结果解读】:输出结果不仅包含了 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(): 库克距离图
目录
相关文章
|
8月前
|
机器学习/深度学习 数据采集 算法
女性健康守护者:随机森林与校准曲线助力乳腺癌早期诊断!
女性健康守护者:随机森林与校准曲线助力乳腺癌早期诊断!
176 0
|
Python
『三分钟学分析』Graveyard分析模型是真的牛X!(上)
在上篇品牌知名度实例的基础上,讲一个经典分析模型,对品牌知名度做更立体的分析。
663 0
『三分钟学分析』Graveyard分析模型是真的牛X!(上)
|
2月前
|
数据采集 机器人 计算机视觉
一手训练,多手应用:国防科大提出灵巧手抓取策略迁移新方案
【10月更文挑战第24天】国防科技大学研究人员提出了一种新颖的机器人抓取方法,通过学习统一的策略模型,实现不同灵巧夹具之间的策略迁移。该方法分为两个阶段:与夹具无关的策略模型预测关键点位移,与夹具相关的适配模型将位移转换为关节调整。实验结果显示,该方法在抓取成功率、稳定性和速度方面显著优于基线方法。论文地址:https://arxiv.org/abs/2404.09150
39 1
|
5月前
|
人工智能 算法 新能源
【2023高教社杯】A题 定日镜场的优化设计 问题分析及数学模型
本文介绍了2023年高教社杯数学建模竞赛A题的定日镜场优化设计问题,涉及问题分析和数学模型构建,旨在提高太阳能光热发电效率并实现电力系统的新能源转型。
107 1
【2023高教社杯】A题 定日镜场的优化设计 问题分析及数学模型
|
6月前
|
测试技术
ACL 2024:大模型性能掺水严重?北大交出答卷:交互评估+动态出题,死记硬背也没用
【7月更文挑战第8天】北大研究团队推出KIEval框架,针对大语言模型(LLMs)的性能评估进行创新。KIEval采用互动评估和动态出题,通过多轮基于知识的对话测试模型理解和应用能力,旨在减少数据污染影响,挑战死记硬背的评估。然而,该方法可能增加计算需求,且评估结果可能受主观因素影响,不适用于所有类型LLMs。[论文链接:](https://arxiv.org/abs/2402.15043)**
108 24
|
8月前
|
机器学习/深度学习 算法
R语言分类回归分析考研热现象分析与考研意愿价值变现
R语言分类回归分析考研热现象分析与考研意愿价值变现
|
8月前
|
移动开发
R语言线性回归模型拟合诊断异常值分析家庭燃气消耗量和卡路里实例带自测题
R语言线性回归模型拟合诊断异常值分析家庭燃气消耗量和卡路里实例带自测题
|
数据可视化 数据库
scRNA分析|使用CellChat完成细胞通讯分析-简单且可视化出众,代码自取
scRNA分析|使用CellChat完成细胞通讯分析-简单且可视化出众,代码自取
1620 0
|
机器学习/深度学习 传感器 算法
基于黄金莱维引导机制的阿基米德优化算法(MSAOA)-附matlab代码
基于黄金莱维引导机制的阿基米德优化算法(MSAOA)-附matlab代码
|
运维 监控 算法
基于典型相关分析的故障检测和过程监控算法研究(Matlab代码实现)
基于典型相关分析的故障检测和过程监控算法研究(Matlab代码实现)
134 0