python 线性回归异常值_线性回归中的异常值:离群点+高杠杆点+强影响点

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

1.离群点

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

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

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

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

2.高杠杆值点

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

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

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

3.强影响点

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

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

本文完

由数据小兵综合整理自网络,仅供很公众号读者交流学习,如有侵权,请及时告知删除。

更多JASP统计文章

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python有多种方法可以进行离群检测,下面介绍其的几种常用方法: 1. 基于统计模型的方法 基于统计模型的方法主要是通过对数据的分布进行建模来检测离群。常用的统计模型包括正态分布、t分布、Chisquare分布等。比如,我们可以使用均值和标准差来检测数据是否偏离正态分布。具体代码如下: ```python import numpy as np from scipy.stats import norm # 生成一组数据 data = np.random.randn(1000) # 计算均值和标准差 mu, std = norm.fit(data) # 指定阈值进行离群检测 threshold = 3 outliers = data[np.abs(data - mu) > threshold * std] print(outliers) ``` 2. 基于距离的方法 基于距离的方法主要是通过计算数据之间的距离来检测离群。常用的距离度量包括欧式距离、马哈拉诺比斯距离等。比如,我们可以使用k近邻算法来检测离群。具体代码如下: ```python from sklearn.neighbors import LocalOutlierFactor # 生成一组数据 data = np.random.randn(1000, 2) # 使用k近邻算法进行离群检测 clf = LocalOutlierFactor(n_neighbors=20, contamination=0.1) y_pred = clf.fit_predict(data) # 获取离群的索引 outliers = np.where(y_pred == -1)[0] print(outliers) ``` 3. 基于聚类的方法 基于聚类的方法主要是通过将数据分为多个簇来检测离群。常用的聚类算法包括K-means、DBSCAN等。比如,我们可以使用DBSCAN算法来检测离群。具体代码如下: ```python from sklearn.cluster import DBSCAN # 生成一组数据 data = np.random.randn(1000, 2) # 使用DBSCAN算法进行离群检测 clf = DBSCAN(eps=0.5, min_samples=5) y_pred = clf.fit_predict(data) # 获取离群的索引 outliers = np.where(y_pred == -1)[0] print(outliers) ``` 以上三种方法都有其优缺,具体使用哪种方法需要根据具体情况进行选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值