在对数据建模前需要做数据探索,比如做特征相关性的时候,经常会用到假设检验,很多时候我们需要对数据做正态性检验,进而通过检验结果确定下一步的分析方案。下面介绍 Python 中常用的几种正态性检验方法:
scipy.stats.kstest(K-S检验)
kstest 是一个很强大的检验模块,除了正态性检验,还能检验 scipy.stats 中的其他数据分布类型,仅适用于连续分布的检验,
原假设:数据符合正态分布
kstest(rvs, cdf, args=(), N=20, alternative='two_sided', mode='approx', **kwds)
对于正态性检验,我们只需要手动设置三个参数即可:
rvs:待检验的一组一维数据
cdf:检验方法,例如'norm','expon','rayleigh','gamma',这里我们设置为'norm',即正态性检验
alternative:默认为双尾检验,可以设置为'less'或'greater'作单尾检验
model:'approx'(默认),使用检验统计量的精确分布的近视值,
'asymp':使用检验统计量的渐进分布
输出结果中第一个为统计量,第二个为P值(注:统计量越接近