本篇文章介绍了如何使用马氏距离Mahalanobis Distance来判断离群值, 并介绍了SPSS的操作方法以及对离群值的处理方法。
定义
多变量离群值与单变量离群值有很大的差别, 因为多变量要考虑多个变量的联合分布, 比如说, 体重和身高是两个变量, 身高120cm的人不多但是也不算离群值, 体重120KG的人不多, 但也不算离群值, 但是有个人是身高120cm体重120KG, 这种人就很可能是离群值了, 所以在这种联合分布的情况下, 我们怎么判断一个值是否是离群值呢?
步骤
排除多变量离群值的步骤分两步:
- 先排除每个单变量的离群值
- 再根据马氏距离(Mahalanobis Distance)排除离群值
单个变量的离群值在之前的视频里讲过了, 现在就是要讲一下如何根据马氏距离拍排除离群值
计算马氏距离Mahalanobis Distance
马氏距离就是两点间的空间距离, 如果是两个变量, 那就是二维平面内的两点距离, 它与欧氏距离不同的是, 欧式距离假设维度之间是无关的, 也就是直角坐标系, 但是马氏距离不需要假定维度之间无关。
在SPSS计算的马氏距离就是每个数据点离均值所在的数据点之间的距离, 如果马氏距离的显著性达到0.001, 那么我们将其判定为离群值
SPSS操作
打开”回归”对话框, 如图
这里注意, 我们的因变量可以是任意变量, 这不重要, 因为计算马氏距离实际上是用自变量, 而跟因变量无关
在”保存”对话框下, 勾选”马氏距离”
这样, 点击”确定”以后,我们就可以看到数据中多了一个变量”MAH_1”, 这就是我们得到的每个数据点到均值点的马氏距离, 但是我们如何判断哪个数据是离群值呢? 我们需要根据马氏距离计算P值, p值低于0.001, 我们就认为这是个离群值
打开”计算变量”对话框
p值的计算公式就是1-CDF.CHISQ(MAH_1,2)
, 注意2代表自由度是2, 也就是我们使用了2个自变量, 这里如果你用到了3个自变量就得写3
上面的公式计算以后, 就可以得到p值
为了更精确的看到p值, 我们设置pvalue的小数位数是4
在数据界面对pvalue进行升序排序, 这样我们就可以将最小p值的找出来, 显然没有找到pvalue小于0.001的数据, 因此没有找到利群数据
参考文献
视频教程
注意
本文由jupyter notebook转换而来, 您可以在这里下载notebook
统计咨询请加QQ 2726725926, 微信 mllncn, SPSS统计咨询是收费的
微博上@mlln-cn可以向我免费题问
请记住我的网址: mlln.cn 或者 jupyter.cn