由于ROUT方法尚不属于标准方法,因此我们进行模拟以便比较其和Grubbs方法。我们比较了无异常值、具有一个异常值和具有两个异常值的数据的两种方法。
•所有模拟均假设高斯分布,其中大部分值的平均值为100,SD为15。
•添加指定数量的异常值。这些均从规定了限制的均匀分布中选择得到。
•错误发现率(FDR)的计算方式:对于每个模拟数据集,如果未检测到异常值,则将FDR定义为0.0。如果检测到任何异常值,则该模拟的FDR是异常值的分数,异常值是从高斯分布中模拟的假值,且未纳入模拟的异常值。总体FDR等于模拟中这些单个FDR值的平均值。
•在每种情况下,均进行25,000次模拟。
下表示出了十个模拟试验设计,其在样本量(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 |
此处给出结果。采用Grubbs法和ROUT法对每组模拟数据进行了分析。
|
|
|
|
发现的异常值数量 |
|
|||
|
设计 |
异常值数量 |
分析方法 |
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检验设置的α值。如果您将α设置为0.05或将Q设置为5%,您将在约5%的模拟中检测到单个异常值,即使这些模拟中的所有数据都来自高斯分布。
当模拟包括不属于相同高斯分布的单个异常值时,Grubbs检验更容易检测到该异常值。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检验。