检查分布正态性时的无限 p 值

机器算法验证 r 正态分布 正态假设
2022-04-07 22:28:17

我的数据有以下分布:

在此处输入图像描述

我想确定它是否是正态分布,所以:

> library(nortest)
Warning message:
package 'nortest' was built under R version 2.12.2 
> sf.test(y)
Error in sf.test(y) : sample size must be between 5 and 5000
> ad.test(y)
            Anderson-Darling normality test
data:  y 
A = 5487.108, p-value = Inf

> cvm.test(y)   
        Cramer-von Mises normality test
data:  y 
W = 855.7627, p-value = Inf

> pearson.test(y)    
        Pearson chi-square normality test    
data:  y 
P = 2456556, p-value < 2.2e-16

> qqnorm(y); abline(0, 1)

当我这样做时qqnorm,我发现

在此处输入图像描述

我可以得出结论y没有正态分布,因为 p 值 = INF 和 qqnorm 不适合 abline?

当我的分布处于正态分布时,我应该期望所有这些 p 值接近零还是一?pearson.test 怎么样?

我应该如何解释 p 值之前的数字(A、W 和 P)?

1个回答

您有一个非常大的数据集(看起来超过一百万个案例)。由于 N 如此大,即使是与正态性的最微小变化也将非常显着。这里的关键是QQ情节。正如尼克指出的那样,它表明您的数据已被截断。为什么会这样?

(补充)我试过这个:

library(nortest)
x <- rnorm(1000000)
ad.test(x)

p值为0.03!但是qqnorm非常接近一条直线。我会相信我的眼睛在测试。