编程语言
首页 > 编程语言> > Python正态性检验

Python正态性检验

作者:互联网

Python正态检验

https://blog.csdn.net/cyan_soul/article/details/81236124
https://blog.csdn.net/QimaoRyan/article/details/72861387
官方文档:https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.kstest.html

scipy.stats.kstest

from scipy import stats
kstest(rvs, cdf, args=(), N=20, alternative=’two_sided’, mode=’approx’, **kwds)
from scipy import stats
stats.kstest(df['value'], 'norm', (u, std))
# 结果返回两个值:statistic → D值,pvalue → P值
# p值大于0.05,很可能为正态分布

rvs:待检验的数据
cdf:检验方法,这里我们设置为‘norm’,即正态性检验
alternative:默认为双尾检验,可以设置为‘less’或‘greater’作单尾检验

scipy.stats.normaltest

scipy.stats.normaltest(a, axis=0, nan_policy=’propagate’)

a:待检验的数据,至少8个
axis:默认为0,表示在0轴上检验,即对数据的每一行做正态性检验,我们可以设置为 axis=None 来对整个数据做检验
nan_policy:当输入的数据中有空值时的处理办法。默认为 ‘propagate’,返回空值;设置为 ‘raise’ 时,抛出错误;设置为 ‘omit’ 时,在计算中忽略空值。

scipy.stats.anderson

anderson 是修改版的 kstest,说是增强版也不为过。也可以做多种分布的检验,默认的检验时正态性检验。

scipy.stats.anderson(x, dist=’norm’)

anderson 有三个输出值,第一个为统计数,第二个为评判值,第三个为显著性水平, 评判值与显著性水平对应
对于正态性检验,显著性水平为:15%, 10%, 5%, 2.5%, 1%

scipy.stats.shapiro

from scipy.stats import shapiro
test_shapiro = shapiro(s['value'])

注:至少输入3个数据,样本量大于5000时可能不准

标签:shapiro,stats,Python,kstest,检验,scipy,正态性
来源: https://blog.csdn.net/qq_24591139/article/details/100655528