我的数据分布正常吗?(尝试过 Shapiro 和 Kolmogornov-Smirnov 检验)

机器算法验证 正态分布 方差 kolmogorov-smirnov 测试
2022-04-06 06:49:18

我有一个包含 83163 个数据点的一维数据集,我想知道数据是否服从正态分布。

我尝试在 R 中使用 shapiro.test 和 ks.test:

d 是包含数据的向量

shapiro.test(样本(d,5000))

    Shapiro-Wilk normality test

data:  sample(d, 5000) 
W = 0.9694, p-value < 2.2e-16

(重复几次。注意二次抽样。)

ks.test(d, dnorm, mean=mean(d), sd=sd(d))

    One-sample Kolmogorov-Smirnov test

data:  d 
D = 1, p-value < 2.2e-16
alternative hypothesis: two-sided 

Warning message:
In ks.test(d, dnorm, mean = mean(d), sd = sd(d)) :
  cannot compute correct p-values with ties

两个测试都表明数据分布正常。

所以我尝试绘制数据(黑色),它似乎比从数据(蓝色)估计的均值和 sd 的正态分布“更高”。

http://dl.dropbox.com/u/38050492/data-distrib.png

我想知道方差是否由于异常值而被高估,所以我尝试计算 Winsorized 方差。我启发式地将峰值与数据分布相匹配,但我无法很好地拟合(红色)。

编辑:

qqplot 也暗示非正态性。

http://dl.dropbox.com/u/38050492/qqplot.png

是否存在可以更好地对数据建模的分布?

我想检查正态性的原因是因为其他人已经做了两个样本的 z 检验,并使用高斯分布对数据进行了建模。

长话短说,如果假设数据分布是正常的,那么数学计算会很好。由于正态性假设超出了参数测试的简单应用,我不知道当数据不是正态分布时结果有多稳健......

就分布的峰度而言,似乎与正态性存在相当大的偏差。这种偏差从数据集到数据集是一致的......

1个回答

这绝对不正常,不仅仅是样本量大。那个qq图真的很清楚。关于峰态的维基百科页面可能对您有用;它提到了 Pearson VII 型分布系列,其密度图像与您的非常相似。