全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SPSS论坛
2044 3
2022-01-27
拿到的数据如下,变量为响应时长,均为正值,该组数据的变异系数为0.85,请问我该用什么方法筛选出异常值(用了箱线图和3sigma法则识别出来的异常值特别多,不符合业务逻辑)
附件列表
微信截图_20220127120936.png

原图尺寸 56.75 KB

微信截图_20220127120936.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-1-27 17:12:57
1.首先应当考虑,是否有必要进行异常值的剔除?
即使是正态分布,正负3个标准差也仅包含约99.7%,也就是说,按此标准,大概每333个个案就会产生1个“异常值”,但这个数值却是“正常”的,且是正态分布所包含的。建议先明确为什么要剔除异常值。

2.剔除异常值的标准
常用的剔除标准有①三个标准差之外(Z分数法);②百分比极端值(按比例剔除);③箱型图;④固定标准(例如作答时长超过xx秒全部剔除);⑤近年来比较流行的绝对中位差方法(MAD)

其中,第⑤目前大部分软件都没有,但是可以自己手算。参考文献见
Leys, C., Ley, C., Klein, O., Bernard, P.,& Licata, L. (2013). Detecting outliers: Do not use standard deviationaround the mean, use absolute deviation around the median. Journal ofExperimental Social Psychology, 49(4), 764-766.

使用SPSS的话,可以直接用我开发的插件完成
SPSS异常值检测插件-绝对中位差(Median Absolute Deviation,MAD) - SPSS论坛 - 经管之家(原人大经济论坛) (pinggu.org)

手算的话,流程如下:
第一,求出变量A的中位数MA;
第二,使用变量A减去中位数MA,得到变量B;
第三,对新变量B取绝对值,得到变量C;
第四,求出变量C的中位数MC;
第五,将MC校正为MAD,MAD=MC*1.4826;
第六,使用变量A的中位数加减MAD的倍数:MA±倍数*MAD,超出此范围的数值被认为是异常值。
在第六步中,Leys(2013)本人建议使用2.5倍的MAD进行异常值的判断。





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-1-28 11:16:10
邱宗满 发表于 2022-1-27 17:12
1.首先应当考虑,是否有必要进行异常值的剔除?
即使是正态分布,正负3个标准差也仅包含约99.7%,也就是说 ...
1、我们这边的目的是通过响应时长来衡量系统的健康度,因此有必要找出异常数据。
2、绝对中位差有一个问题:当数据过于集中,如25ms~50ms时,40ms以上的数据会被当成异常值。而我们的目的是,50ms也属于可接受的范围,此时应异常值为0才对。这是比较矛盾的地方。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-1-28 17:44:43
iathking 发表于 2022-1-28 11:16
1、我们这边的目的是通过响应时长来衡量系统的健康度,因此有必要找出异常数据。
2、绝对中位差有一个问 ...
既然如此,那你们筛选异常值的标准属于“固定标准”,而不是统计标准。
自然也不需要来这里问其它方法,更没有必要强行将自己的标准与现有的统计标准挂钩。

异常值的判定原本就有理论方面的这你,只要符合你们自己的判定即可。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群