由于 ROUT 方法还不是标准方法,我们进行了模拟,将其与 Grubbs 方法进行比较。我们对没有异常值、有一个异常值和有两个异常值的数据进行了比较。
•所有模拟都假定大部分数值呈高斯分布,均值为 100,标距为 15。
•在此基础上,添加了指定数量的异常值。这些离群值是从一个均匀分布中选取的,该分布的限值是指定的。
•错误发现率(FDR)的计算方法:对于每个模拟数据集,如果没有检测到异常值,则 FDR 定义为 0.0。如果检测到任何异常值,则该模拟的 FDR 是异常值中的一部分,即从高斯分布中模拟出的、未被模拟列为异常值的假 - 值。总体 FDR 是这些模拟中单个 FDR 值的平均值。
•每种情况都进行了 25000 次模拟。
下表列出了十种模拟实验设计,它们在样本量(n)、样本中包含的异常值数量以及从中选取异常值的数值范围方面各不相同。
设计 |
n |
# 异常值数量 |
异常值范围 |
A |
100 |
0 |
|
B |
10 |
0 |
|
C |
10 |
1 |
50-75 |
D |
10 |
1 |
100-125 |
E |
100 |
1 |
100-125 |
F |
100 |
1 |
50-75 |
G |
100 |
2 |
50-75 |
H |
100 |
2 |
100-125 |
I |
10 |
2 |
50-75 |
J |
25 |
2 |
50-75 |
结果如下。每组模拟数据都用 Grub法和 ROUT 法进行了分析。
|
|
|
|
Number of outliers identified |
|
|||
|
Design |
# Outliers |
Analysis method |
0 |
1 |
2 |
>2 |
FDR |
1 |
A |
0 |
Grubbs 5% |
95.104% |
4.69% |
0.19% |
0.20% |
4.90% |
2 |
A |
0 |
Rout 5% |
94.31% |
4.68% |
0.74% |
0.10% |
5.69% |
3 |
A |
0 |
Grubbs 1% |
99.10% |
0.90% |
0.00% |
0.00% |
0.90% |
4 |
A |
0 |
Rout 1% |
98.70% |
1.21% |
0.00% |
0.08% |
1.21% |
5 |
B |
0 |
Grubbs 5% |
94.99% |
5.01% |
0.00% |
0.00% |
5.01% |
6 |
B |
0 |
Rout 5% |
95.13% |
3.87% |
0.98% |
0.02% |
4.87% |
7 |
B |
0 |
Grubbs 1% |
98.92% |
1.08% |
0.00% |
0.00% |
1.08% |
8 |
B |
0 |
Rout 1% |
98.65% |
1.14% |
0.21% |
0.00% |
1.35% |
9 |
C |
1 |
Grubbs 1% |
74.33% |
25.41% |
0.26% |
0.00% |
0.13% |
10 |
C |
1 |
Rout 1% |
78.11% |
21.29% |
0.60% |
0.00% |
0.31% |
11 |
D |
1 |
Grubbs 1% |
5.50% |
93.51% |
0.99% |
0.00% |
0.50% |
12 |
D |
1 |
Rout 1% |
15.38% |
84.01% |
0.60% |
0.00% |
0.30% |
13 |
D |
1 |
Grubbs 5% |
0.20% |
94.86% |
4.75% |
0.18% |
2.51% |
14 |
D |
1 |
Rout 5% |
2.30% |
94.96% |
2.70% |
0.04% |
2.73% |
15 |
E |
1 |
Grubbs 1% |
0.00% |
98.94% |
1.05% |
0.01% |
0.53% |
16 |
E |
1 |
Rout 1% |
0.00% |
97.92% |
1.94% |
0.14% |
1.07% |
17 |
F |
1 |
Grubbs 1% |
43.94% |
55.47% |
0.57% |
0.02% |
0.40% |
18 |
F |
1 |
Rout 1% |
47.08% |
51.16% |
1.63% |
0.11% |
1.05% |
19 |
G |
2 |
Grubbs 1% |
39.70% |
29.84% |
30.72% |
0.38% |
0.16% |
20 |
G |
2 |
Rout 1% |
29.08% |
26.61% |
40.37% |
1.88% |
0.82% |
21 |
G |
2 |
Grubbs 5% |
10.82% |
21.29% |
64.23% |
3.66% |
1.40% |
22 |
G |
2 |
Rout 5% |
7.52% |
15.50% |
66.54% |
10.43% |
3.96% |
23 |
H |
2 |
Grubbs 1% |
0.00% |
0.00% |
98.89% |
1.11% |
0.37% |
24 |
H |
2 |
Rout 1% |
0.00% |
0.00% |
97.57% |
2.43% |
0.84% |
25 |
I |
2 |
Grubbs 5% |
98.80% |
1.20% |
0.00% |
0.00% |
0.00% |
26 |
I |
2 |
Rout 5% |
6.06% |
0.97% |
92.80% |
0.16% |
0.05% |
27 |
I |
2 |
Rout 1% |
27.46% |
2.58% |
69.95% |
0.01% |
0.004% |
28 |
J |
2 |
Grubbs 5% |
49.16% |
7.86% |
40.85% |
2.14% |
0.737% |
29 |
J |
2 |
Rout 5% |
24.57% |
13.27% |
57.46% |
0.71% |
1.74% |
30 |
J |
2 |
Grubbs 1% |
90.21% |
3.51% |
6.20% |
0.72% |
0.24% |
31 |
J |
2 |
Rout 1% |
54.47% |
15.08% |
29.46% |
0.98% |
0.36% |
当模拟的数据集没有异常值时,ROUT 检验和 Grubbs 检验的结果几乎相同。为 ROUT 方法指定的 Q 值等同于为 Grubbs 检验设置的 alpha 值。如果将 alpha 设为 0.05 或将 Q 设为 5%,那么就会在大约 5%的模拟中检测到一个异常值,尽管这些模拟中的所有数据都来自高斯分布。
当模拟中包含一个异常值,而该异常值与其他异常值不属于同一高斯分布时,格拉布检验法的检测能力稍强一些。ROUT 方法的假阳性和假阴性都更多。它遗漏异常值的可能性稍大,即使模拟实际上只包含一个异常值,也更有可能发现两个异常值。
这并不太令人惊讶,因为Grubbs异常值检验的真正目的是检测单个异常值(尽管可以通过迭代来检测更多异常值)。虽然两种方法之间的差异是一致的,但并不明显。
当模拟小数据集中包含两个异常值时,ROUT 检验的效果要好得多。迭代Grubbs检验法会受试者掩蔽,而 ROUT 检验法不会。掩蔽是否是个问题,依赖于样本的大小以及异常值与其他值的平均值的距离。在确实存在掩蔽的情况下,ROUT 检验的效果要比 Grubbs 检验好得多。 例如,当 n=10 有两个异常值时(实验设计 I),Grubbs 检验从未发现两个异常值,在 98.8% 的模拟中漏掉了两个异常值。在其余 1.2%的模拟中,Grubbs检验发现了两个异常值中的一个。相比之下,ROUT 方法在 92.8%的模拟中同时发现了两个异常值,只有 6%的模拟同时漏掉了两个异常值。
一旦检测到异常值(或多个异常值),请停下来思考。不要直接删除。
考虑一下假设。Grubbs方法和 ROUT 方法都假设数据(异常值除外)是从高斯分布中采样的。如果违反了这一假设,"异常值"可能与其他数据来自同一分布。小心对数正态分布。这些分布在尾部的值往往会被假设为高斯分布的方法错误地标记为异常值。
即使该值真的是异常值,它也可能是一个重要值。它可能不是一个错误。它可能会告诉你生物的变异性。
就其设计任务而言,Grubbs 方法比 ROUT 方法略胜一筹:从高斯分布中检测单个异常值。
在检测两个异常值方面,Grubbs 检验比 ROUT 方法差很多。 我无法想象在任何科学情形下,你能肯定不存在异常值,或者只有一个异常值,而不可能存在两个或更多异常值。只要有可能存在两个(或两个以上)异常值,我们就建议使用 ROUT 方法,而不是Grubbs检验法。