在数据中查找异常值的5种方法总结及示例解释
作者:互联网
凡是搞计量经济的,都关注这个号了
稿件:econometrics666@126.com
所有计量经济圈方法论丛的code程序, 宏微观数据库和各种软件都放在社群里.欢迎到计量经济圈社群交流访问.
关于计量方法合辑,各位学者可以查看如下文章:①“实证研究中用到的200篇文章, 社科学者常备toolkit”、②实证文章写作常用到的50篇名家经验帖, 学者必读系列、③过去10年AER上关于中国主题的Articles专辑、④AEA公布2017-19年度最受关注的十大研究话题, 给你的选题方向,⑤2020年中文Top期刊重点选题方向, 写论文就写这些。后面,咱们又引荐了①使用CFPS, CHFS, CHNS数据实证研究的精选文章专辑!,②这40个微观数据库够你博士毕业了, 反正凭着这些库成了教授,③Python, Stata, R软件史上最全快捷键合辑!,④关于(模糊)断点回归设计的100篇精选Articles专辑!,⑤关于双重差分法DID的32篇精选Articles专辑!,⑥关于合成控制法SCM的33篇精选Articles专辑!⑦最近80篇关于中国国际贸易领域papers合辑!,⑧最近70篇关于中国环境生态的经济学papers合辑!⑨使用CEPS, CHARLS, CGSS, CLHLS数据库实证研究的精选文章专辑!⑩最近50篇使用系统GMM开展实证研究的papers合辑!这些文章受到了各位学者的欢迎和热议。
最近,我们引荐了①如何选择正确的自变量(控制变量),让你的计量模型不再肮脏,②忽略交互效应后果很严重,审稿人很生气!,③过去三十年, RCT, DID, RDD, LE, ML, DSGE等方法的“高光时刻”路线图,④空间双重差分法(spatial DID)最新实证papers合辑,⑤机器学习方法出现在AER, JPE, QJE等顶刊上了,⑥中介效应检验流程, 示意图公布, 不再畏惧中介分析,⑦关于各种因果识别方法的120份经典实证文献汇总,⑧使用R软件学习计量经济学方法三本书籍推荐,⑨第一(二)卷.Stata最新且有趣的程序系列汇编等,在学者间引起了广泛的讨论。
关于下方文字内容,作者:李友民,兰州大学农林经济管理,通信邮箱:liym2017@lzu.edu.cn。
必看:计量经济圈公众号搜索功能及操作流程演示
正文
在数据中查找异常值的方法
异常值是远离其他数据点的数据点。换句话说,它们是一个数据集中不同寻常的值。异常值对于许多统计分析是有问题的,因为它可能让我们错过显著发现或扭曲实际结果。
不幸的是,现在还没有严格的统计规则可以明确地识别异常值。查找异常值取决于对主题领域的知识和数据收集过程的理解。即使没有可靠的数学定义,但有一些准则和统计检验可用于查找可能的异常值。
在这篇文章中,我将解释什么是异常值,以及它们为什么有问题,并介绍查找它们的各种方法。此外,我将比较各种识别异常值的方法,并分享一些我在识别异常值过程中的首选方法。
异常值及其影响
异常值是一个简单的概念,它们是与其他数据点明显不同的值,它们可能会在统计过程中产生问题。
为了演示单个异常值对结果的影响程度,我们来检验示例数据集的属性。它包含15个男性身高的观测值。其中一个值是异常值。下表显示了带有异常值和没有带异常值的平均值和标准差。
在这篇文章中,我将使用这个CSV样例数据集。
从表中,很容易看出单个异常值是如何扭曲真实情况的。一个异常值将平均高度改变了 0.6 米(2 英尺),标准差改变了 2.16 米(7 英尺)!使用带异常值的平均值的假设检验会偏离事实。而且,更大的标准差将严重降低统计效果!
这篇文章的主题是,在执行统计分析之前,应识别出潜在的异常值。在下一篇文章中,我们将指出如何处理异常值。
有很多方法可以查找异常值。所有这些方法都采用不同的方式来查找与数据集中其他部分相比不寻常的值。我将开始可视化评估,然后转到更多的分析性评估。
这里给大家提供五种方法来尝试找出异常值。
1.对数据表进行排序来找出异常值
对数据表进行排序是找出异常值的一种简单而有效的方法。只需对每个数据表的变量进行排序,然后查找异常高或低的值。
例如,若按升序对下面这个数据集进行排序,则可以看出最高值与其他值明显不同。虽然这种方法没有量化异常值的异常程度,但一目了然,可以让我们发现异常高的值或异常低的值。
2.绘制数据图形以识别异常值
箱型图、直方图和散点图可以突出显示异常值。
箱型图通过在图形上显示星号或其他符号来明确地指示数据集何时包含异常值。这些图形使用带界限的四分位数来查找异常值,稍后再对此进行解释。下面的箱型图显示了我们的示例数据集。很明显,位于正上方的异常值与典型的数据值明显不同。
当你对数据进行了分组时,你也可以使用箱型图来识别异常值。下面的箱型图显示,“Method 2”组中具有异常值。
柱状图也强调异常值的存在。如图所示,我们异常值是最右边的那条柱。图表在最左边的文字数据点上塞块。
在这篇文章中,我们讨论的大多数异常值都是单变量异常值。可以通过查看数据分布中的单个变量的数据来找到超出一个分布的值。但是,当遇到多变量集时,你可以使用散点图检测该数据集里可能的异常值。
在下图中,我们看投入与产出两个变量的关系。带回归线的散点图显示大多数点都跟随模型的拟合直线,但红圈标注的圆点偏离了这个模型。
有趣的是,投入值Input (约为14) 并不存在异常情况,因为 X 轴上其他投入值的范围都在10 到 20。此外,请注意产出值 (约为50)也在Y轴取值范围内。因此,在此数据集中,投入和产出本身都不常见。不过,该点仍然是一个异常值,因为它偏离了该模型的拟合直线。
这种类型的异常值可能是回归分析中的问题。鉴于多元回归的多方面性质,该领域存在多种异常值类型。
在本文的其余部分中,我们将重点关注单变量异常值。
- 使用Z分数检测异常值
Z-分数可以量化正态分布数据集中观测值的异常性。Z-分数的值表示每个高于和低于平均值的值对应的标准差的数量。例如,一个值为2的Z分数表示一个观测值比平均值高两个标准差,而值为-2的Z 分数表示其比平均值低两个标准差。Z 分数为零表示其等于平均值。
要计算观测值的 Z-分数,我们需要减去平均值并除以标准差。在数学上,该过程的公式如下:
观察值的Z分数离零越远,就越异常。查找异常值的标准差临界值为 +/-3 的 Z 分数,或距离零更远。下面的概率分布显示标准正态分布中 Z 分数的分布。超过 +/- 3 的 Z 分数非常小,几乎看不到该曲线下的阴影区域。
在一个遵循正态分布的总体中,Z 分数的值比 +/- 3 更小的概率为 0.0027(2*0.00135),约为 370个观测值中的一个。但是,如果数据不遵循正态分布,则此方法可能不准确。
Z 分数和我们的示例数据集
在下面的示例数据集中,我将示例数据集中的值与 Z 分数一起展示。此方法将识别相同观测值中的异常值。
请注意,在小数据集中Z 分数可能具有误导性,因为Z 分数最大极限为(n-1)/sqrt(n). 实际上,我们的 Z 分数大约为 3.6的时候正好接近样本大小为15时Z分数的最大值。样本大小为 10 或更少的观测值不可能有超过 +/-3 临界值的 Z 分数。
另外,请注意,正如我们前面看到的,异常值的存在会使Z 分数变化,因为它会使平均值和标准差变大。请注意除异常值之外,所有 Z 分数都是负数。如果我们在没有异常值的情况下计算Z分数,它们就会不同!不过也需要注意,如果数据集包含异常值并且Z 值存在偏差,那z分数可能没有之前那么极端(即接近于零)。
4.使用分位数区间创建异常值界限
你可以使用四分位数区间 (IQR)、多个四分位数值和一个调整因子来计算构成次要值和主要异常值的边界。相对于总体分布值的次要值,主要的异常值更极端,分析人员将这些分为轻度和极端的异常值。
IQR 是数据集的中间 50%。它是第三个四分位数和第一个四分位数(Q3 = Q1)之间的值的范围。我们可以采用 IQR、Q1 和 Q3 值来计算数据集以下异常值范围界限:下外层、下内层、上内层和上外层。用这四个点来确定数据点是异常值,以及它们是轻度的还是极端的。
落在两个内部界限内的值不是异常值。我们用示例说明这一流程。
使用四分位数范围计算异常值界限
使用统计软件,我们可以确定四分位数范围以及示例数据集的 Q1 和 Q3 值。我们需要这些值来计算识别次要和主要异常值的"界限"。以下输出表示我们的第一季度值为 1.714,第 3 季度值为 1.936。我们的 IQR 是 1.936 = 1.714 = 0.222。
要计算异常值界限,我们需要执行以下操作:
把你的IQR乘以1.5和3。我们将使用这些值来获取内部和外部的界限。对于我们的示例,IQR 等于 0.222。因此,0.222 1.5 = 0.333 和 0.222 3 = 0.666。我们将在以下步骤中使用 0.333 和 0.666。
计算内和外下界限。获取Q1值,并用Q1值减去步骤1中得到的两个值。两个结果是较低的内层和外层异常值界限。在我们的示例中,Q1 是 1.714。因此,下内界限 = 1.714-0.333 = 1.381,下外界限 = 1.714 - 0.666 = 1.048。
计算内和外上部界限。获取 Q3 值,并用Q1值加上步骤1中得到的两个值。两个结果是上内和上异常值界限。对于我们的示例,Q3 是 1.936。因此,上内界限 = 1.936 + 0.333 = 2.269,上外界限 = 1.936 + 0.666 = 2.602.
使用异常值界限与示例数据集
对于我们的示例数据集,这些节点值如下:1.048、1.381、2.269、2.602。几乎所有数据都应该位于内部界限之内,即 1.381 和 2.269之间。此时,我们查看数据值,并确定是否有任何限定为主要异常值或次要异常值。在15 个数据点中,有 14 个位于内部界限内,而它们就不是异常值。第15个数据点位于上外界限之外,因此是一个主要或极端的异常值。
IQR 方法很有用,因为它使用百分位数,而不依赖于特定的分布。此外,与其他定量方法相比,百分位数方法更加可靠。
箱型图使用 IQR 方法计算内部界限。通常当我们想使用此方法时,还是多使用箱型图而不是自己计算界限值。在本文的定量方法中,这应当是我们的首选方法。
5. 使用假设检验查找异常值
你可以使用假设检验来查找异常值。现有许多异常值的测试方法,但我们会重点介绍它们的工作原理。在这篇文章中,我演示了 Grubbs’ test,,它测试以下假设:
• 原假设:样本中的所有值都取自遵循相同正态分布的单个总体。
• 备择假设:样本中的一个值不是从具相同正态分布总体中取出的。
如果此测试的p 值小于显著性水平,则可以拒绝原假设并得出结论:其中一个值是异常值。
我们使用样本数据集演示此假设检验。Grubbs’ 检验假定你的数据来自一个正太分布总体,并且只能检测一个异常值。如果你怀疑还有其他异常值,建议使用其他测试。
Grubbs的异常值检验产生的 p 值为 0.000。因为它小于0.05的显著性水平,所以可以得出结论:我们的数据集只包含一个异常值。上面的输出结果显示,它是我们以前找到的异常高的值。
如果使用Grubbs检验并查找异常值,请不要删除该异常值,而是要再次进行分析。因为此过程也可能导致非异常值的错误删除。
使用异常值假说检验的挑战:Masking和Swamping
执行异常值检验时,需要根据异常值的数量选择程序,或者指定待测试的异常值的数量。Grubbs检验只能检验出一个异常值。但是,其他程序(如Tietjen-Moore Test)要求你指定异常值的数量。这很难正确做到!因为你正在执行测试以找到异常值!Masking和Swamping是两个问题,当你在数据集中指定的异常值数量不正确时,可能会出现以下问题:
当你指定的异常值太少时,就会发生masking。存在的其他异常值可能会影响检验,导致检测不出现异常值。例如,如果指定一个异常值,但实际有有两个异常值,则检验可能会错过这两个异常值。
相反,当你指定过多的异常值时,就会发生swamping。在这种情况下,检验将过多的数据点标识为异常值。例如,如果指定两个异常值,而实际上只有一个异常值,则检验可能会认为有两个异常值。
由于这些问题,我不是异常值检验的狂热粉丝。
个人关于查找异常值的哲学
如你所见,有许多方法可以识别异常值。我的理念是,在分析数据时,你必须对所有变量有深入了解。比如,知道哪些值是典型的,哪些值是不寻常的,哪些值是不可能的。
当有这种深入的知识时,你最好使用更加直接、更加可视化的方法。在相关知识完备的情况下,潜在的异常值的数据点变得一目了然。因此,我会经常使用箱型图和对原始数据进行排序!这些简单的工具为我提供了足够的信息,以便我找到异常的数据点和做进一步调查。
通常,我不使用 Z 分数和假设检验来查找异常值,因为它们具有复杂性。使用异常值检验可能具有挑战性,因为它们通常假定你的数据遵循正态分布,而且还存在masking和swamping。此外,异常值的存在使 Z 分数变得不那么极端。具有讽刺意味的是,这些识别异常值的方法实际上对异常值的存在很敏感!不过幸运的是,只要研究人员使用一个简单的方法来显示不寻常的值,知识渊博的分析人员可能知道哪些值需要做进一步调查。
在我看来,更正式的统计检验和计算不必要,因为它们不能明确识别出异常值。最终,分析人员必须调查异常值,并运用他们的专业知识来确定它们是否是合理的数据点。如果不知道统计资料的主题或数据收集过程,是无法做出最终决定的。不应该完全基于假设检验或统计结果的观测值。
在分析的阶段,我们只确定潜在的异常值,以便进一步调查。这只是处理它们的第一步。
在今天推送的第二篇文章中,我们将解释在调查异常值时要了解的内容,以及这如何帮助你决定是否从数据集中删除它们。并非所有异常值都是坏的,有些是不应该删除的。事实上,异常值可以非常翔实地介绍主题和数据收集过程。了解异常值是如何出现的,以及它们是否可能作为过程或研究领域的正常部分再次出现,是很重要的一点。
读完本文之后,强烈建议各位学者参看明天即将发布的第二篇文章“删除和处理数据中异常值的指南”。
source: https://statisticsbyjim.com
拓展性阅读
2月21日,给各位学者引荐了二个数据库的使用指南疫情期Wind资讯金融终端操作指南和CEIC数据库操作指南,参考一下“清华北大经管社科数据库有哪些? 不要羡慕嫉妒恨!”。2月22日,引荐了“估计具有两个高维固定效应的泊松回归模型”,里面包括面板泊松回归、面板负二项回归、控制函数法CF、受限三次样条等等。2月27日,引荐了“哈佛大学新修订完成的因果推断经典大作免费下载!附数据和code!”和“最清晰的内生性问题详解及软件操作方案!实证研究必备工具!”
之前,咱们圈子引荐过一些数据库(当然,社群里的数据库远不止这些),如下:1.这40个微观数据库够你博士毕业了;2.中国工业企业数据库匹配160大步骤的完整程序和相应数据;3.中国省/地级市夜间灯光数据;4.1997-2014中国市场化指数权威版本;5.1998-2016年中国地级市年均PM2.5;6.计量经济圈经济社会等数据库合集;7.中国方言,官员, 行政审批和省长数据库开放;8.2005-2015中国分省分行业CO2数据;9.国际贸易研究中的数据演进与当代问题;10.经济学研究常用中国微观数据手册。
之前,咱们小组引荐了1.DID运用经典文献,强制性许可:来自对敌贸易法的证据,2.连续DID经典文献, 土豆成就了旧世界的文明,3.截面数据DID讲述, 截面做双重差分政策评估的范式,4.RDD经典文献, RDD模型有效性稳健性检验,5.事件研究法用于DID的经典文献"环境规制"论文数据和程序,6.广义DID方法运用得非常经典的JHE文献,7.DID的经典文献"强制许可"论文数据和do程序,8.传销活动对经济发展影响, AER上截面数据分析经典文,9.多期DID的经典文献big bad banks数据和do文件,10.因果推断IV方法经典文献,究竟是制度还是人力资本促进了经济的发展?,11.AER上因果关系确立, 敏感性检验, 异质性分析和跨数据使用经典文章,12.第二篇因果推断经典,工作中断对工人随后生产效率的影响?,13.密度经济学:来自柏林墙的自然实验, 最佳Econometrica论文,14.AER上以DID, DDD为识别策略的劳动和健康经济学,15.一个使用截面数据的政策评估方法, 也可以发AER,16.多期DID模型的经典文献,big bad banks讲解",",17.多期DID的经典文献big bad banks数据和do文件,18.非线性DID, 双重变换模型CIC, 分位数DID,受到博士生导师普遍欢迎,并分享给其指导的学生学习。
下面这些短链接文章属于合集,可以收藏起来阅读,不然以后都找不到了。
2.5年,计量经济圈近1000篇不重类计量文章,
可直接在公众号菜单栏搜索任何计量相关问题,
Econometrics Circle
标签:总结,分数,示例,DID,异常,查找,界限,数据 来源: https://blog.51cto.com/15057855/2677912