在一个回归模型中,异常值点包括离群点,高杠杆值点和强影响点,这些点都可能对结果产生较大的负面影响,因此对异常值点的判断及修正对建立正确的回归模型非常重要。



python 去掉离群数据 去除离群值_python 去掉离群数据

1.离群点

离群点通常指残差非常大的点,模型预测的y值与真实的y值相差非常大。通常检测离群点的方法有:

法一:用QQ图检测,落在置信区间外的点通常被认为是离群点;

法二:通常认为标准化残差的绝对值大于2的点可能是离群点,也有资料说是大于3,可视情况而定;

对离群点,我们一般会选择删除(谨慎些更好),删除离群点还有利于提高数据集对于正态分布假设的拟合度。

2.高杠杆值点

高杠杆值点指的是x值比较异常,通常与响应变量值y没有关系。

判断高杠杆值点的方法,是计算点的帽子统计量,若该点的帽子统计量大于帽子统计量的均值的2或3倍,通常被认为是高杠杆值点。其中,帽子矩阵的计算公式为:

python 去掉离群数据 去除离群值_相关分析_02

帽子统计量就是矩阵H的对角线上的元素。

3.强影响点

高杠杆值点,若是离群点,则是强影响点。当然强影响点也不局限于此,强影响点是指对统计推断有影响的点,一般用cook距离进行判断,若cook距离的值大于4/(n-k-1),则表明是强影响点。

最后提一个influenceplot()函数(car包中有),可以把离群点,高杠杆值点,影响点都整合在一个图上,影响图横坐标为帽子值,纵坐标为学生化残差,因此纵坐标超过+2或者-2的点被认为是离群点,横坐标可以判断哪些点是高杠杆值点,图中越往右上角的点,越有可能是强影响点。