我目前正在研究我编写的 MC 模拟产生的一些数据——我希望这些值是正态分布的。自然地,我绘制了一个直方图,它看起来很合理(我猜?):
[左上:直方图dist.pdf(),右上:累积直方图dist.cdf(),下:QQ图,datavs dist]
然后我决定通过一些统计测试来更深入地研究这个问题。(请注意dist = stats.norm(loc=np.mean(data), scale=np.std(data))。)我所做的和得到的输出如下:
Kolmogorov-Smirnov 检验:
scipy.stats.kstest(data, 'norm', args=(data_avg, data_sig)) KstestResult(statistic=0.050096921447209564, pvalue=0.20206939857573536)夏皮罗-威尔克测试:
scipy.stats.shapiro(dat) (0.9810476899147034, 1.3054057490080595e-05) # where the first value is the test statistic and the second one is the p-value.QQ图:
stats.probplot(dat, dist=dist)
我的结论是:
通过查看直方图和累积直方图,我肯定会假设一个正态分布
在查看 QQ 情节后也是如此(它会变得更好吗?)
KS 测试说:“是的,这是一个正态分布”
我的困惑是:SW 检验表明它不是正态分布的(p 值远小于显着性alpha=0.05,并且初始假设是正态分布)。没看懂,有没有人有更好的解释?我在某个时候搞砸了吗?
