如何决定使用哪种正态性检验

数据挖掘 统计数据 分散式
2021-10-03 06:19:44

给定一个包含特征的数据集,你想检查正态性,一次一个特征没有多元正态检验,你如何决定使用哪个正态检验?例如,使用 python 模块 scipy 我可以使用:

http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.shapiro.html

或者我可以使用:

http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.mstats.normaltest.html

例如,在相同的功能上,我得到以下输出:

scipy.stats.shapiro(data[:,0])
(0.9985173940658569, 0.77845299243927)


scipy.stats.mstats.normaltest(data[:,0])
NormaltestResult(statistic=1.492603328675163, pvalue=0.47411675723570479)


scipy.stats.anderson(data[:,0], dist='norm')
AndersonResult(statistic=0.17542490527580412, critical_values=array([ 0.573,  0.653,  0.783,  0.913,  1.086]), significance_level=array([ 15. ,  10. ,   5. ,   2.5,   1. ]))
1个回答

两种不同测试的数学细节可以在两篇论文中找到:

[1]。http://sci2s.ugr.es/keel/pdf/algorithm/articulo/shapiro1965.pdf

[2]。http://www.jstor.org/stable/2334522?seq=1#page_scan_tab_contents

总而言之,这两种方法都基于假设检验。但他们使用不同的测试统计数据。

Shapiro-Wilk 检验具有许多良好的分析特性,旨在适用于样本量小于50. 但是,当样本量变大时,Shapiro-Walk 检验可能不可靠。正如我从第二篇论文中引用的:

Shapiro 和 Wilk 没有将他们的测试扩展到超过 50 大小的样本。许多原因表明最好不要进行这样的扩展。

本质上,这就是人们发明第二个正态性检验的原因。正如我从第二篇论文中引用的:

我们提出了一种新的正态性检验,适用于具有理想综合属性的 50 或更大的样本