定义
异常点(Outlier):残差很大的点(即:因变量y的值是极端值的观测值)
高杠杆点(High Leverage Point):远离样本空间中心的点(即:自变量x的值是极端值的观测值)
强影响点(Influential Point):对模型有较大影响的点,如果删除该点能改变拟合回归方程
注意:
1,异常点不一定是强影响点,强影响点也不一定是异常点
2,高杠杆点不一定是强影响点,强影响点也不一定是高杠杆点
异常点
虚线和实线分别是包含红点在内和不包含红点在内训练出来的回归模型。可以看到,两条回归线之间相差不大,因此,该红点不是强影响点。
同时,该红点并没有离其他自变量的值很远,因此也不是高杠杆点。但是它离回归线很远(残差大),因此该红点是异常点。
高杠杆点
虚线和实线分别是包含红点在内和不包含红点在内训练出来的回归模型。可以看到,两条回归线之间相差不大,因此,该红点不是强影响点。
同时,该红点离回归线不远,因此也不是异常点。但是它离其他自变量的值很远,因此该红点是高杠杆点。
强影响点
虚线和实线分别是包含红点在内和不包含红点在内训练出来的回归模型。可以看到,两条回归线之间相差较大,因此,该红点是强影响点。
同时,该红点离其他自变量的值较远,因此是高杠杆点。它离回归线也很远(残差大),因此该红点也是异常点。
判断是否是异常点
(1)标准化残差(standardized residuals):
相对于普通残差来说,消除了量纲的影响。如果标准化残差的绝对值>3,该观测值即判定为异常值
(2)学生化残差(studentized residuals):
对于标准化残差,还去除了高杠杆值的影响。如果学生化残差的绝对值>3,该观测值即判定为异常值。
判断是否是高杠杆点
如果帽子统计量大于平均帽子值的3倍,那么可以判断该观测值是高杠杆点。
H被称为帽子矩阵,因为其相当于给y戴上了一顶帽子来预测y的值。 h i j h_{ij} hij是权重,当 h i j h_{ij} hij较大时,说明第 j j j个观测值对第 i i i个拟合值有较大的影响。
判断是否是强影响点
实战
import pandas as pd
import numpy as np
from sklearn import model_selection
import statsmodels.api as sn
sdata = pd.read_csv("../input/traindatas/char7/Predict to Profit.csv")
#print(sdata.head())
train,test = model_selection.train_test_split(sdata,test_size = 0.2,random_state = 1234)
mode = sn.formula.ols("Profit~RD_Spend +Administration + Marketing_Spend+C(State)",data=train).fit()
outliers = mode.get_influence()
leverage = outliers.hat_matrix_diag
dffits = outliers.dffits[0]
resid_stu = outliers.resid_studentized_external
cook = outliers.cooks_distance[0]
print(sdata.columns)
pr = train.loc[:,['RD_Spend', 'Administration', 'Marketing_Spend', 'State']]
pr.index = range(pr.shape[0])
pr['cook'] = pd.Series(cook)
pr['resid_stu'] =pd.Series(resid_stu)
pr['dffits'] =pd.Series(dffits)
pr['leverage'] = pd.Series(leverage)
print(pr.columns)
print(pr.loc[:,['Marketing_Spend', 'State', 'cook',
'resid_stu', 'dffits', 'leverage']])
Index(['RD_Spend', 'Administration', 'Marketing_Spend', 'State', 'Profit'], dtype='object')
Index(['RD_Spend', 'Administration', 'Marketing_Spend', 'State', 'cook',
'resid_stu', 'dffits', 'leverage'],
dtype='object')
Marketing_Spend State cook resid_stu dffits leverage
0 201126.82 Florida 0.068436 1.816348 0.662739 0.117491
1 35534.17 New York 0.022867 0.857159 0.368913 0.156286
2 282574.31 New York 0.007137 -0.579571 -0.204848 0.111052
3 229160.95 Florida 0.026777 1.101083 0.402113 0.117675
4 299737.29 New York 0.016770 -0.701793 -0.314755 0.167467
5 298664.47 California 0.000438 0.146877 0.050496 0.105705
6 303319.26 Florida 0.010295 -0.769609 -0.246995 0.093381
7 443898.53 California 0.030914 0.766112 0.427972 0.237843
8 46085.25 California 0.014879 -0.731151 -0.296674 0.141368
9 297114.46 Florida 0.107106 -1.305513 -0.810158 0.278032
10 353183.81 New York 0.046211 -1.206906 -0.530189 0.161764
11 210797.67 California 0.041713 1.016371 0.500526 0.195184
12 137962.62 California 0.003120 0.408034 0.135089 0.098782
13 214634.81 Florida 0.005810 -0.581160 -0.184823 0.091850
14 471784.10 New York 0.006976 0.394700 0.201959 0.207490
15 249744.55 California 0.020788 0.920375 0.352352 0.127828
16 323876.68 Florida 0.009824 -0.619459 -0.240510 0.130997
17 383199.62 New York 0.055789 1.477126 0.588829 0.137118
18 197029.42 California 0.018076 -0.561927 -0.325891 0.251691
19 127716.82 California 0.016905 -0.567816 -0.315197 0.235557
20 407934.54 Florida 0.063940 1.239273 0.624393 0.202458
21 205517.64 New York 0.005906 0.483170 0.186040 0.129114
22 1903.93 New York 0.137454 1.977724 0.947356 0.186631
23 304981.62 California 0.014797 -0.802036 -0.296348 0.120126
24 264346.06 California 0.024965 1.247048 0.390270 0.089204
25 362861.36 New York 0.020919 -0.872668 -0.352998 0.140616
26 118148.20 Florida 0.000151 -0.053932 -0.029673 0.232369
27 172795.67 California 0.000437 0.139047 0.050429 0.116244
28 174999.30 California 0.018759 -0.854749 -0.334119 0.132547
29 91131.24 Florida 0.008397 -0.546958 -0.222068 0.141514
30 134050.07 Florida 0.026656 -1.082497 -0.400963 0.120648
31 164470.71 Florida 0.001221 -0.205803 -0.084341 0.143796
32 304768.73 Florida 0.003420 -0.421431 -0.141457 0.101258
33 261776.23 New York 0.090686 -2.436406 -0.790889 0.095328
34 140574.81 New York 0.028772 -1.061846 -0.416294 0.133225
35 249839.44 Florida 0.031618 1.455359 0.442868 0.084752
36 185265.10 New York 0.062287 1.196744 0.615316 0.209085
37 0.00 New York 0.025039 0.624172 0.383998 0.274566
38 0.00 California 0.051040 -1.180349 -0.556679 0.181956