gpt4 book ai didi

r - 关于 R 中异常值检测的 grubbs 测试

转载 作者:行者123 更新时间:2023-12-02 08:31:14 26 4
gpt4 key购买 nike

我按照 How to repeat the Grubbs test and flag the outliers 网站中的程序代码进行操作,并测试了我的数据向量中的异常值。我的数据向量包含超过 44000 个项目。

输出如下:

grubbs.result = grubbs.test(test_data)

pvalue = grubbs.result$p.value

grubbs.result

Grubbs test for one outlier
data: test_data
G = 3.79551464153584561, U = 0.99967764032789053, p-value = 1
alternative hypothesis: highest value -48.70000076 is an outlier

pvalue

[1] 1

grubbs.result$alternative

[1] "highest value -48.70000076 is an outlier"

我的问题是,为什么 p 值为 1,但程序检测到值 -48.70000076 是异常值??? -48.70000076 是否是 grubbs 测试检测到的异常值?如果是,如何解释pvalue是1,而不是像0.01这样的小值?

因为我是这个领域的新手,有人可以给我任何帮助吗?预先非常感谢您。

最佳答案

这更多的是CV的问题,但我会快速上一堂统计课。寻找异常值时要知道的最重要的一点是,除非您有有效的非统计原因,否则任何数据点(无论与其他数据有多么不同)都不是真正的异常值。这些极端数据点是您数据的一部分——它们属于您。

有些数据确实是异常值,但这并不是因为格鲁布的测试如此。例如,如果您正在测量人们的体温,并且一个人将温度计放在灯泡旁边,那么他们的体温可能会被视为异常值。如果其他人只是喝了一杯冷水并且是口腔测量,那么他们也可以被视为异常值。但如果某人的体温与刚刚喝了一杯冷水的人的体温相同,则不一定属于异常值。我们不会仅仅出于统计原因就说某件事是异常值。

撇开免责声明不谈,我们可以在这里解决核心问题,这是统计问题。该检验说明替代假设是什么,即最极端的数据点是异常值。在这种情况下,“-48.70000076”恰好比任何其他数据点距其他数据点更远,因此我们的零假设是没有数据点是异常值 - 包括最极端的点。如果我们拒绝零假设,我们将得出的替代假设是,至少最极值点是异常值(统计上)。

在这种情况下,p 值表明您没有任何证据表明您的任何数据是异常值,因为 p 值为 1:

set.seed(123)
test0 <- runif(1000)
test_data <- test0-max(test0)-48.70000076
grubbs.test(test_data)

# Grubbs test for one outlier

# data: test_data
# G = 1.74660, U = 0.99694, p-value = 1
# alternative hypothesis: highest value -48.70000076 is an outlier

关于r - 关于 R 中异常值检测的 grubbs 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33919056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com