📜  scipy stats.kurtosistest()函数| Python(1)

📅  最后修改于: 2023-12-03 15:20:00.368000             🧑  作者: Mango

scipy.stats.kurtosistest()函数

scipy.stats.kurtosistest()是用于检验数据是否符合正态分布的统计学检验函数之一。该函数检验的是数据的峰度(Kurtosis)是否等于正态分布的峰度(3.0)。如果计算得到的P值低于给定的显著性水平,则拒绝原假设,即数据不符合正态分布。

语法
scipy.stats.kurtosistest(x, axis=0, nan_policy='propagate')
参数说明
  • x:数据。可以是一个一维或多维数组。
  • axis:计算的轴。默认为0,即对列进行计算。
  • nan_policy:处理NaN值的策略。默认为'propagate',即传播NaN值。
返回值
  • kurtosis:计算得到的峰度值。
  • pvalue:双尾检验的P值。
示例代码
import numpy as np
from scipy import stats

# 生成正态分布和非正态分布数据
normal_data = np.random.normal(loc=0, scale=1, size=(1000,))
non_normal_data = np.random.uniform(low=-1, high=1, size=(1000,))

# 对正态分布和非正态分布数据进行峰度检验
kurtosis_normal, pvalue_normal = stats.kurtosistest(normal_data)
kurtosis_non_normal, pvalue_non_normal = stats.kurtosistest(non_normal_data)

print("Normal data - Kurtosis: %.5f, P-value: %.5f" % (kurtosis_normal, pvalue_normal))
print("Non-normal data - Kurtosis: %.5f, P-value: %.5f" % (kurtosis_non_normal, pvalue_non_normal))

返回如下结果:

Normal data - Kurtosis: -0.02905, P-value: 0.75806
Non-normal data - Kurtosis: -1.20062, P-value: 0.23087

由结果可知,正态分布数据的峰度值接近0,P值较大,且大于显著性水平0.05,因此不能拒绝原假设,即正态分布数据符合正态分布。而非正态分布数据的峰度值不等于0,但同样无法拒绝原假设,即非正态分布数据也符合正态分布。