可视化库克距离并绘制阈值线以识别影响力大的样本(R语言)
在数据分析和机器学习中,库克距离(Cook’s distance)是一种用于评估数据集中个别样本对模型的影响程度的统计量。通过计算每个样本的库克距离,并绘制阈值线,我们可以识别出对回归模型具有较大影响力的样本。本文将使用 R 语言来实现可视化库克距离并添加阈值线的方法。
首先,让我们准备一些示例数据来进行演示。我们将使用 mtcars 数据集,该数据集包含了一些汽车相关的参数,我们将使用其中的两个变量:燃油效率(mpg)和引擎功率(hp)。
# 导入必要的库和数据集
library(MASS)
data(mtcars)
# 提取 mpg 和 hp 变量
x <- mtcars$mpg
y <- mtcars$hp
# 创建散点图
plot(x, y, xlab = "燃油效率", ylab = "引擎功率", main = "燃油效率 vs 引擎功率")
接下来,我们将使用线性回归模型拟合这些数据,并计算出每个样本的库克距离。
# 拟合线性回归模型
model <- lm(y ~ x)
# 计算库克距离
cooksd <- cooks.distanc