异常值:是错误数据,还是重要信息?
在数据清洗过程中,缺失值之外,另一个让人反复犹豫的问题就是异常值。
看到一个明显偏离整体的数据点,有人的第一反应是删除。但删还是不删,往往没有那么简单。
有些异常值确实是错误,有些却可能隐藏着重要信息。判断失误,可能直接影响研究结论。
01 什么是异常值?为什么它几乎一定会出现
做数据分析时,几乎都会遇到这样一种情况:大部分数据分布得比较集中,突然出现一个数值,明显偏离整体。
问卷里极高的收入,企业数据中某一年异常增长,或者某个观测值远离回归趋势线。这类与整体差距较大的观测,通常被称为异常值。
在统计学中,异常值通常被称为 outlier,有时也被称为极端值(extreme value)。在回归分析中,还会区分“高杠杆点”和“高影响点”。不同术语强调的侧重点略有不同,但核心问题都是:它是否改变了我们对数据的判断。
异常值并不罕见。现实世界本身就存在波动和极端情况。问题的关键不在于“有没有异常值”,而在于——这个异常值究竟意味着什么。
02异常值会带来什么影响?
异常值之所以引人关注,是因为它可能改变统计结果。
均值对极端值非常敏感。一个明显偏大的观测值,就可能拉高整体平均水平。标准差也会随之扩大。
在回归分析中,异常值有时会明显改变估计结果。尤其是在样本规模不大的情况下,少数极端观测就可能影响回归线的位置。
更现实的情况是:删除或保留某个极端值,变量的显著性可能发生变化,甚至结论方向都会不同。
这种变化并不少见。因此,异常值问题往往比想象中更重要。
03先别急着删除:怎么判断它是不是“问题”?
看到异常值,最常见的反应是删除。但在操作之前,更稳妥的做法是先判断它的性质。
可以从几个角度思考。
第一,是否是录入或测量错误。如果某个数值明显超出合理范围,比如年龄出现三位数,或者收入出现明显单位错误,那么删除通常是合理的。
第二,这个数值在理论上是否可能存在。现实世界中确实存在极高收入者,也存在极端增长的企业。如果异常值符合现实逻辑,它未必是“错误”。
第三,它对整体结果是否产生实质影响。可以尝试做一个简单对比:保留与删除该观测,观察回归结果是否发生明显变化。如果变化很大,就说明该异常值具有较强影响力。
需要注意的是,异常值并不一定是噪声。有时,它恰恰代表某种特殊现象。如果研究目标本身涉及极端行为或极端企业,那么异常值反而是重要信息。
因此,判断异常值的关键,不是它“看起来奇怪”,而是它是否违背研究逻辑。
在分布接近正态的情况下,可以参考三倍标准差原则。理论上,大约 99.7% 的观测应落在均值加减 3 倍标准差之内。超出这个范围的值,可以视为极端,需要重点关注。
不过,这个标准并不是硬规则。对于明显偏态的数据,例如收入或企业规模,仅凭标准差判断往往不够准确。这时可以结合箱线图,参考 1.5 倍 IQR 的规则,或者直接比较删除前后的回归结果。
更重要的一点是,即便某个值在统计上被视为异常,也不意味着一定要删除。它可能是错误,也可能是真实存在的极端现象。
关键在于,它是否违背研究逻辑。
04如何发现异常值+一个简单例子
在实际操作中,可以通过可视化和对比分析来判断异常值的影响。
例如,在 SPSS 中先绘制箱线图或散点图,识别可能的极端观测值。随后分别在“保留异常值”和“删除异常值”的情况下进行回归,对比系数和显著性变化。
有时会发现,异常值对均值影响明显,但对回归关系影响有限;也有可能,删除一个观测之后,原本显著的变量变得不显著。
这一步对比的目的,不是为了选择“更好看”的结果,而是理解异常值在数据中的作用。
如果异常值确实改变了结论,就需要在论文中说明处理逻辑,而不是简单删除。
我们看一下《SPSS数据分析案例教程》一书中的相关内容(第3章“数据清洗和整理”,P43):
“在处理异常值时,可以考虑以下方法:
(1)可视化探索:通过绘制直方图、散点图、箱线图等可视化图表,观察数据分布和异常值的存在情况。异常值通常在图表上呈现为与其他数据点明显不同的极端值。
(2)确定阈值:基于领域知识、统计方法或经验,设定一个阈值来判断哪些值被认为是异常值。常见的方法包括使用标准差、百分位数或专业领域的指标。如果没有其它指定的阈值,就使用经验法则。
(3)删除异常值:对于明显的异常值,可以选择直接删除。但在删除之前,需要仔细评估异常值的原因和影响,并确保删除的合理性和合适性。
(4)替代异常值:有时,可以使用其他合理的值来替代异常值。例如,可以使用变量的平均值、中位数或者根据其他模型进行估计来替代异常值。
(5)数据转换:对于偏态分布的数据,可以考虑进行数据转换,例如对数转换、平方根转换等,以减少异常值的影响。
(6)异常值分组:将异常值分组,并单独进行分析。这样可以更好地了解异常值的特性,并决定是否保留或处理。
需要注意的是,异常值并不总是表示错误或无效的数据。有时候它们可能是真实的数据点,但因为其与其他数据点的差异较大,因此在统计分析中被视为异常值。在处理异常值时,需要根据具体情况来决定是否删除、修正或保留这些数据点。”
接着我们看一下书中的案例。
例3-5:对数据集“员工信息”中的变量“当前薪金”,根据本节学习的方法,对变量的数据进行异常值分析。
这个案例,我们通过“极值表”“箱线图”“茎叶图”等三个角度,进行异常值判断 :
1.使用“探索”命令分析异常值
在菜单栏中执行“分析”→“描述统计”→“探索”命令,弹出“探索”对话框。单击“统计”按钮,打开“统计”对话框,选择“离群值”;单击“图”按钮,可以选择输出“茎叶图”或“直方图”,如果都不选择,软件默认输出箱线图。
2.极值表
生成的“当前薪金”极值表共列出了 10 个极端观测值,其中包括 5 个最大值和 5 个最小值。从结果可以看出,薪水最高的 5 位员工的收入均超过 10 万美元,其中最高达到 13.5 万美元;而薪水最低的 5 位员工收入在 1.6 万美元左右。
从数值差距来看,最高薪与最低薪之间存在明显差距,说明该变量的分布可能存在较大的离散程度,并呈现一定的右偏特征。这些高薪观测值是否属于异常值,还需要结合整体分布(如茎叶图或箱线图)进一步判断,而不能仅凭数值大小直接删除。
3.茎叶图
分析茎叶图是一种简单而有效的数据可视化方法,用于了解数据的分布和集中趋势。茎叶图通常用于小规模数据集,可以快速获取数据的主要特征。
从生成的这张茎叶图看,当前薪金主要集中在 2 万到 4 万区间,对应的“茎”部分叶子最密集,说明这一段是样本的主体分布。随着薪金水平上升,叶子数量明显减少,尤其是 5 万以上,数据已经变得稀疏。图中还单独标出了“极值(≥56750)”,说明超过这一范围的观测值数量很少,已经脱离了主体区间,属于右侧尾部的极端值。
因此,仅从茎叶图本身就可以判断:数据整体呈现右偏分布,高薪区间存在长尾。若想进一步确认哪些具体个案属于极端值,可以结合“极值表”查看具体数值和对应个案编号,两者配合使用,更容易识别真正的极端观测。
4.箱线图
从生成的箱线图可以看出,“当前薪金”的中位数大约在 3 万美元左右,箱体主要集中在 2.5 万到 3.5 万之间,说明大部分员工的薪资分布相对集中。上下须线的范围并不对称,上侧明显更长,提示该变量存在一定程度的右偏分布,也就是说,高薪员工对整体分布的拉伸作用更为明显。
在箱体上方可以看到多个被标记出来的观测点,这些点位于上须线之外,属于统计意义上的异常值。从图形上判断,高薪区间存在明显的“长尾”。不过需要注意的是,这些异常点并不一定是错误数据,它们可能反映的是少数高收入员工的真实情况。是否需要处理,还应结合研究目的以及对整体结果的影响来综合判断。
5.结论
结合茎叶图、极值表和箱线图的结果,可以对“当前薪金”的分布特征形成一个较为清晰的整体判断。
首先,从茎叶图可以看出,薪资主要集中在 2 万至 4 万美元区间,属于样本的主体部分;超过 5 万美元后,观测值明显减少,呈现出右侧长尾结构。极值表进一步显示,最高薪资超过 10 万美元,而最低薪资约为 1.6 万美元,最大值与最小值之间存在较大差距。箱线图则直观展示了这种右偏分布特征,上方存在多个统计意义上的异常点。
综合来看,该变量呈现明显的右偏分布,存在少数高薪个案构成的长尾现象。但这些高值并非孤立错误,而是与整体结构相衔接的尾部延伸。因此,在没有证据表明数据录入错误的情况下,这些极端值更可能反映真实收入差异,而不应简单删除。是否需要对其进行处理,应结合研究目的及对模型结果的影响进一步判断。
此外,书中这一节还介绍了使用“标识异常个案”命令来分析异常值(略)。
05如何处理本案例中的异常值?
那么,下一步做模型时怎么办?
在确认数据存在右偏分布,并且高薪属于真实观测而非录入错误之后,处理方式就不再是“删或不删”这么简单,而是要考虑建模策略。
如果研究关注的是整体薪资水平,而极端高薪个案数量很少,可以先在保留全部样本的情况下进行回归分析,然后再做一次“去除极端值”的对比检验。如果两次结果差异不大,可以说明模型对异常值不敏感,结论较为稳健。
如果高薪样本对结果影响明显,可以考虑对变量进行变换,例如取对数。收入类变量本身往往呈现右偏分布,对数变换可以压缩极端值的影响,使分布更接近对称,也更符合线性模型的假设。
在某些情况下,也可以采用稳健回归方法,降低极端值对参数估计的影响,而不是简单删除观测。
因此,面对异常值,建模阶段常见的做法并不是“先清理干净再回归”,而是:
-
先判断是否为错误数据
-
再通过对比分析检验其影响
-
必要时采用变量变换或稳健方法
核心原则只有一句话:
异常值的处理,应服务于模型的解释逻辑,而不是追求结果的整齐。
06小结:异常值不是敌人,而是信号
异常值之所以让人犹豫,是因为它处在“错误”与“信息”之间。
有些异常值确实来自录入问题,应当删除;有些则反映现实中的极端情况,应当保留;还有一些,需要通过稳健性分析来判断影响。
面对异常值,真正需要做的不是立刻清理,而是先理解。
异常值可能是噪声,也可能是信号。关键在于判断,而不是直接消灭异常值。