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-Scoreskewtest
和k
是否由返回的z-Scorekurtosistest
。- 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