scipy.stats.normaltest

scipy.stats.normaltest(a, axis=0, nan_policy='propagate')[源代码]

检验样本是否不同于正态分布。

此函数测试样本来自正态分布的零假设。它是根据达戈斯蒂诺和皮尔逊的 [1], [2] 将偏态和峰度相结合以产生正态的综合检验的检验。

参数
aarray_like

包含要测试的样本的数组。

axis整型或无型,可选

要沿其计算测试的轴。默认值为0。如果没有,则对整个阵列进行计算 a

nan_policy{‘Propagate’,‘RAISE’,‘OMIT’},可选

定义输入包含NaN时的处理方式。以下选项可用(默认值为‘Propagate’):

  • ‘Propagate’:返回NaN

  • “raise”:引发错误

  • ‘omit’:执行计算时忽略NaN值

退货
statistic浮点或数组

s^2 + k^2 ,在哪里 s 是否由返回的z-Score skewtestk 是否由返回的z-Score kurtosistest

pvalue浮点或数组

假设检验的双侧卡方概率。

参考文献

1

D‘Agostino,R.B.(1971),“中、大样本量正态检验的综合检验”,Bitomka,58,341-348

2

D‘Agostino,R.和Pearson,E.S.(1973),“偏离正态分布的检验”,比普里斯卡,60,613-622。

示例

>>> from scipy import stats
>>> rng = np.random.default_rng()
>>> pts = 1000
>>> a = rng.normal(0, 1, size=pts)
>>> b = rng.normal(2, 1, size=pts)
>>> x = np.concatenate((a, b))
>>> k2, p = stats.normaltest(x)
>>> alpha = 1e-3
>>> print("p = {:g}".format(p))
p = 8.4713e-19
>>> if p < alpha:  # null hypothesis: x comes from a normal distribution
...     print("The null hypothesis can be rejected")
... else:
...     print("The null hypothesis cannot be rejected")
The null hypothesis can be rejected