Linear Regression
别看线性回归算法原理简单,但其中也还有许多特殊的问题需要特别的手段处理。比如离群点就是一个特别的案例。
少数离群点会显著影响训练集的均值结果,对回归线的整体拟合度产生较大的影响,因此我们需要找出其中的离群点并去除它们。
异常值点: 异常值是指数据中有异常表现的数据点。在一个回归模型中,异常值点包括离群点,高杠杆值点和强影响点,这些点都可能对结果产生较大的负面影响,因此对异常值点的判断及修正对建立正确的回归模型非常重要。
Outliers(离群点): 离群点通常指残差非常大的点,即模型预测的y值与真实的y值相差非常大。通常检测离群点的方法有: 方法1:用箱线图判断,如果图中的点出现在四个分位数外的一般都是离群点。 方法2:用QQ图检测,落在置信区间外的点通常被认为是离群点。 方法3:通常认为标准化残差的绝对值大于2的点可能是离群点,也有资料说是大于3,可视情况而定 方法4:用car包的outlierTest()函数求得最大标准化残差绝对值Bonferroni调整后的p值,从而作出判断。 对离群点,我们一般会选择删除,删除离群点还有利于提高数据集对于正态分布假设的拟合度。
Leverage(高杠杆值点): 高杠杆值点指的是x值比较异常,通常与响应变量值y没有关系。 判断高杠杆值点的方法: 方法1: 杠杆点在简单线性回归中较容易辨别,一般找出预测值超出正常范围的观测点即杠杆点。 方法2: 计算点的帽子统计量,若该点的帽子统计量大于帽子统计量的均值的2或3倍,通常被认为是高杠杆值点。
Influential(强影响点): 即对模型参数估计值影响有些比例失衡的点。例如,若移除模型的一个观测点时,模型会发生巨大的改变。一般来说,高杠杆值点,若是离群点,则是强影响点。当然强影响点也不局限于此,强影响点是指对统计推断有影响的点,一般用cook距离进行判断,若cook距离的值大于4/(n-k-1),则表明是强影响点
回归诊断
线性回归有诸多假设条件,对于残差来说,要求符合正态性、同方差、无自相关,因此残差诊断分析成为线性回归中必不可少一个环节。
假设:
- 因变量是连续变量
- 自变量可以被定义为连续变量
- 因变量和自变量之间存在线性关系
- 具有相互独立的观测值
- 不存在显著的异常值
- 等方差性
- 回归残差近似正态分布
残差图是指以某种残差为纵坐标,以其他适宜的变量为横坐标的散点图,所以残差图、残差散点图都是一个概念。这里横坐标有多种选择,最常见的选择是:1.因变量的拟合值;2. 某自变量的观察值等。
残差(residual):
$$
e_{i} = Y_{i}-\hat{Y_{i}}
$$
高杠杆值点
高杠杆值点是与其他预测变量有关的离群点,即它们是由许多异常的预测变量组合起来的,与响应变量值没有关系。 高杠杆值的观测点可通过帽子矩阵的值(hat statistic)判断。对于一个给定的数据集,帽子均值为p/n,其中p是模型估计的参数数目(包含截距项),n是样本量。一般来说,若观测点的帽子值大于帽子均值的2或3倍,则可认定为高杠杆值点。
离群点
指那些模型预测效果不佳的观测点,通常有很大的、或正或负的残差,正残差说明模型低估了响应值,负残差说明高佑了响应值。 outlierTest()
函数是根据单个最大(或正或负)残差值的显著性来判断是否有离群点,若不显著,则说明数据集中没有离群点,若显著,则必须删除该离群点,然后再检验是否还有其他离群点存在。qqPlot图中落在置信区间带外的点可被认为时离群点,本例中未发现有离群点
强影响点
强影响点,即对模型参数估计值影响有些比例失衡的点。例如,当移除 模型的一个观测点时模型会发生巨大的改变,那么需要检测一下数据中是否存在强影响点。Cook距离,或称为D统计量。Cook’s D值大于4/(n-k-1),则表明它是强影响点,其中n为样本量大小,k是预测变量数目(有助于鉴别强影响点,但并不提供关于这些点如何影响模型的信息),如下所示:
残差:拟合值与观测值之差
参考资料
- 线性回归笔记
- Logistic regression
- 《数理统计讲义》
- 王斌会. 多元统计分析及R语言建模[M]. 暨南大学出版社, 2010.
- 汤银才. R语言与统计分析[M]. 高等教育出版社, 2008.
- 卡巴科弗. R语言实战[M]. 人民邮电出版社, 2016.
- 线性回归(实战)
- 机器学习之线性回归法
- R语言解读一元线性回归模型