真实世界的数据,由于测量误差、错误记录等原因,经常存在一些偏离其它大部分样本的特异值。这些特异值,常常会对数据分析造成很大的干扰。所以,如何在保留数据信息的基础上,辨别和剔除特异值,往往成为数据处理的第一步。如果是通过模型来进行分析,同样需要了解数据中的特异值是否会影响模型的准确性。
很多研究在提及特异值时只检查了离群值,然而离群值就是特异值的全部吗?并不是。本文将介绍几种特异值以及常用的辨别方法。我们将看到,离群值不一定对回归分析造成很大的影响,引起回归偏差的数据点(强影响点)也并不一定就是离群值。
所以,在数据分析时,我们需要综合考虑不同种类的特异值:离群值、高杠杆点以及强影响点。
文中案例分析用到的数据集为R软件ISLR包中的Carseats数据,包括了400家商店某品牌儿童安全座椅的销售数据,变量包括销量(Sales,单位为千个)、广告宣传(Advertising,单位为千美元)以及定价(Price,单位为千美元)等。
假设某销售经理希望通过这个数据集,判断销量是否与宣传和定价相关。那么,自变量就是宣传和定价,因变量为该儿童座椅的销量。(后文中图下方若未特殊指明,均表明是用上述数据集,简称儿童座椅数据)。
离群值
因变量的特异值即离群值,常常通过箱式图或学生化残差识别。
方法一:箱式图(box-plot)
大部分统计分析软件的箱式图绘制模块都自带辨别离群值的功能。以R软件为例,在箱式图中会以“°”标示离群值,即以下样本点:
- 大于箱子上边缘+1.5×四分位间距,
或
- 小于箱子下边缘-1.5×四分位间距。
在R软件中,可以使用boxplot()命令画出箱式图,并且判断离群值。
确认删除