正态分布:
若随机变量x服从有个数学期望为μ,方差为σ2 的正态分布,记为N(μ,σ)
其中期望值决定密度函数的位置,标准差决定分布的幅度,当υ=0,σ=0 时的正态分布是标准正态分布
判断方法有画图/k-s检验
1. Shapiro-Wilk检验(W检验):
- 样本:小于50
- 方法:scipy.stats.shapiro(x)
- 官方文档:SciPy v1.1.0 Reference Guide
- 参数:x - 待检验数据
- 返回:W - 统计数;p-value - p值
scipy.stats.shapiro(x)
'''输出结果中第一个为统计量,第二个为P值(统计量越接近1越表明数据和正态分布拟合的好,
P值大于指定的显著性水平,接受原假设,认为样本来自服从正态分布的总体)'''
2.Kolmogorov-Smirnov检验(K-S检验):
- 样本:大于 300
- 方法:scipy.stats.kstest (rvs, cdf, args = ( ), N = 20, alternative ='two-sided', mode ='approx')
- 官方文档:SciPy v0.14.0 Reference Guide
- 参数:rvs - 待检验数据,可以是字符串、数组;
- cdf - 需要设置的检验,这里设置为 norm,也就是正态性检验;
- alternative - 设置单双尾检验,默认为 two-sided,还可以设置为单边检验,可以选择 ‘less‘ 或者 ’greater’
- 返回:W - 统计数;p-value - p值
scipy.stats.kstest(rvs, cdf, args=(), N=20, alternative='two_sided', mode='approx', **kwds)
'''输出结果中第一个为统计量,第二个为P值(注:统计量越接近0就越表明数据和标准正态分布拟合的越好,
如果P值大于显著性水平,通常是0.05,接受原假设,则判断样本的总体服从正态分布)'''
3. Anderson-Darling 检验:
- 方法:scipy.stats.anderson (x, dist ='norm' )
- 该方法是由 scipy.stats.kstest 改进而来的,可以做正态分布、指数分布、Logistic 分布、Gumbel 分布等多种分布检验。默认参数为 norm,即正态性检验。
- 官方文档:SciPy v1.1.0 Reference Guide
- 参数:x - 待检验数据;dist - 设置需要检验的分布类型
- 返回:statistic - 统计数;critical_values - 评判值;significance_level - 显著性水平
scipy.stats.anderson (x, dist ='norm' )
4. 正态分布检验:
- 样本量大于20,小于50, normaltest运用了D’Agostino–Pearson综合测试法,每组样本数大于20
- 方法:scipy.stats.normaltest (a, axis=0)
- 该方法专门用来检验数据是否为正态性分布,
- 官方文档:SciPy v0.14.0 Reference Guide
- 参数:a - 待检验数据;axis - 可设置为整数或置空,如果设置为 none,则待检验数据被当作单独的数据集来进行检
验。该值默认为 0,即从 0 轴开始逐行进行检验。 - 返回:k2 - s^2 + k^2,s 为 skewtest 返回的 z-score,k 为 kurtosistest 返回的 z-score,即标准化值;p-value - p值
scipy.stats.normaltest(a, axis=0)
'''输出结果中第一个为统计量,第二个为P值(注:p值大于显著性水平0.05,认为样本数据符合正态分布)'''
网友评论