多元回归:残差分析与异常值诊断
多元回归:残差分析与异常值诊断
多元回归分析是统计学中常用的一种数据分析方法,用于研究一个因变量与多个自变量之间的线性关系。在进行多元回归分析时,残差分析和异常值诊断是非常重要的步骤,可以帮助我们评估模型的拟合效果和数据的可靠性。本文将通过一个糖尿病患者的数据集,使用R语言进行多元回归建模,并详细讲解残差检验和异常值诊断的具体方法。
数据集简介
基础分析数据为27位糖尿病者的血清总胆固醇(X1)、甘油(X2)、空腹胰岛素(X3)、糖化血红蛋白(X4)、空腹血糖(Y)的测量值。我们可以使用R语言建立空腹血糖与其他四个变量的多元回归方程,从中学习如何分析残差和异常值诊断。
一、建立多元回归模型
使用R语言中的LM方法及“一切子集回归方法”来逐步回归,可以得到 y ~ x2 + x3 + x4
是 AIC=40.34 最小,在R中我们常有的残差检验方法有:普通残差、标准化残差、学生化残差。
library(readxl)
lm.xuetang<-lm(y~x1+x2+x3+x4,data=ex2_1)
lm.step<-step(lm.xuetang,direction = "both")
二、残差检验
分别使用普通残差、标准残差检验了 lm.xuetang
、lm.step
模型,绘制了两个残差图,从两张图中可以看出只有一个点落在了残差的[-2,2]的区间之外,并小于3,可以判断是一个可疑点(异常点需要大于3)。同样可以看出残差的分布随机分布在0点上,没有随着预测值增大而增大的趋势,具有同方差性的可能性更大。
y.res<-residuals(lm.xuetang)
y.rst<-rstandard(lm.step)
y.fit<-predict(lm.step)
plot(y.res~y.fit)
plot(y.rst~y.fit)
三、强影响点的判断
可疑点/异常点能不能剔除,不能一概而论,需要进一步评估数据点的对模型的影响大小,强影响点不能直接剔除,需要尝试其他模型进行模拟训练,从而找到最优的模型。
我们对逐步回归模型进行了诊断,除了点26、6、13 这三个观测值,其余点的残差—拟合图基本呈现随机分布;整体Q-Q图与直线拟合较好,表面残差服从正态分布;大小-位置图和残差-杠杆图可以看出 大部分点离中不远,点26、6、25 可能是异常值和强影响点。
par(mfrow=c(2,2))
plot(lm.step)
influence.measures(lm.step)
通过 influence.measures(lm.step)
方法给出了统计变量:DEBETAS、DFFITS、协方差比、库克距离和帽子阵的值,可以看出对应的点:6、7、25、26 被诊断为强影响点。不能简单的剔除它们。