📅  最后修改于: 2023-12-03 14:47:18.516000             🧑  作者: Mango
scipy.stats.normaltest()
函数用于计算一组数据的法向性(normality),即数据是否符合正态分布。该函数使用了 D’Agostino 和 Pearson 的正态性检验方法。
scipy.stats.normaltest(a, axis=0, nan_policy='propagate')
参数说明:
a
:需要检验的数据axis
:计算法向性的轴,如果不指定,默认为计算整个数组的法向性nan_policy
:处理NaN值的方法,可以选择'propagate'
、'raise'
和'omit'
,默认为'propagate'
函数返回一个元组,包含两个值:
statistic
:法向性检验的统计值(也称为K^2值),数值越大说明数据越不符合正态分布pvalue
:检验的双尾p值,p值越小说明数据越不符合正态分布import numpy as np
from scipy import stats
# 生成一个正态分布的数据
data = np.random.normal(0, 1, size=1000)
# 计算数据的法向性检验结果
statistic, pvalue = stats.normaltest(data)
# 输出结果
print(f"Normality test statistic: {statistic:.2f}")
print(f"p-value: {pvalue:.4f}")
if pvalue < 0.05:
print("Data is not normally distributed")
else:
print("Data is normally distributed")
输出结果:
Normality test statistic: 2.61
p-value: 0.2693
Data is normally distributed
在上面的示例中,我们使用np.random.normal()
函数生成一个均值为0,标准差为1的正态分布数据,并使用stats.normaltest()
函数检验数据是否符合正态分布。由于p值远大于0.05,因此可以认为数据是符合正态分布的。