1. Shapiro-Wilk test
单样本的K-S检验是用来检验一个数据的观测经验分布是否是已知的理论分布。当两者间的差距很小时,推断该样本取自已知的理论分布。
作为零假设的理论分布一般是一维连续分布 F(如正态分布、均匀分布、指数分布等),有时也用于离散分布(如Poisson分布)。即H0:总体X 服从某种一维连续分布 F。检验统计量为:
#原假设:符合正态分布
import scipy
scipy.stats.shapiro(x)
2. scipy.stats.kstest
Shapiro—Wilk检验法是S.S.Shapiro与M.B.Wilk提出用顺序统计量W来检验分布的正态性。统计量:
#原假设:符合正态分布
scipy.stats.kstest (rvs, cdf, args = ( ), N = 20, alternative ='two-sided', mode ='approx')
样本量小于2000时看shapiro-wilk的检验结果,精度高。
kolmogorov-smimov适合大样本,一般大于2000。
3. Anderson-Darling test
scipy.stats.anderson (x, dist ='norm' )
该方法是由 scipy.stats.kstest 改进而来的,可以做正态分布、指数分布、Logistic 分布、Gumbel 分布等多种分布检验。默认参数为 norm,即正态性检验。
参数:x - 待检验数据;dist - 设置需要检验的分布类型
返回:statistic - 统计数;critical_values - 评判值;significance_level - 显著性水平
4. scipy.stats.normaltest
scipy.stats.normaltest (a, axis=0)