作者:菜鸟自学编程 | 来源:互联网 | 2024-11-30 15:12
Python 中 scipy.stats.kurtosistest() 函数详解
来源: GeeksforGeeks
scipy.stats.kurtosistest(array, axis=0)
函数用于测试给定的数据集是否符合正态分布的峰度特性(基于 Fisher 或 Pearson 定义)。
峰度概念
峰度是指一个概率分布的尾部相对于正态分布的尾部而言的轻重程度。它是通过第四中心矩与方差平方的比率来计算的,用于描述数据分布的尖峭程度。具体来说,它衡量的是分布尾部的厚重程度,而非峰值的高度。
数学表达式
峰度的计算公式如下所示:
函数参数说明
- array: 输入数组或含有元素的对象。
- axis: 指定沿哪个轴计算 kurtosistest,默认为 0,即沿第一维度计算。
返回值
该函数返回一个元组,包含两个值:
- Z 值 (统计值): 表示数据集相对于正态分布的偏离程度。
- P 值: 用于判断假设检验的结果,P 值越小,表明拒绝原假设(数据集服从正态分布)的理由越充分。
示例代码
# 导入必要库
from scipy.stats import kurtosistest
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
x = np.linspace(-5, 5, 1000)
y = 1. / (np.sqrt(2 * np.pi)) * np.exp(-0.5 * x**2)
# 绘制图形
plt.plot(x, y, '*')
plt.title('Normal Distribution')
plt.show()
# 计算并打印峰度测试结果
result = kurtosistest(y)
print('对于正态分布的峰度测试结果:\n', result)
运行结果
对于正态分布的峰度测试结果:
KurtosistestResult(statistic=-2.2557936070461615, pvalue=0.024083559905734513)