python生成正态分布_如何正态分布检验

python生成正态分布_如何正态分布检验在 Python 中 检验数据是否符合正态分布可以使用 SciPy 库中的函数 以下是几种常用的正态性检验方法 Shapiro Wilk 检验 scipy stats shapiro pythonfrom scipy import statsa np random normal 0 1 50 生成标准正态分布数据 stat p stats shapiro a

在Python中,检验数据是否符合正态分布可以使用SciPy库中的函数。以下是几种常用的正态性检验方法:

Shapiro-Wilk检验(`scipy.stats.shapiro`)

python

from scipy import stats

a = np.random.normal(0,1,50) 生成标准正态分布数据

stat, p = stats.shapiro(a) 进行Shapiro-Wilk检验

print(f"统计量:{stat}, P值:{p}")

Kolmogorov-Smirnov检验(`scipy.stats.kstest`)

python

from scipy import stats

a = np.random.normal(0,1,50) 生成标准正态分布数据

stat, p = stats.kstest(a, 'norm') 进行Kolmogorov-Smirnov检验

print(f"统计量:{stat}, P值:{p}")

Anderson-Darling检验(`scipy.stats.anderson`)

python

from scipy import stats

a = np.random.normal(0,1,50) 生成标准正态分布数据

result = stats.anderson(a, dist='norm')

print(f"统计量:{result.statistic}, P值:{result.pvalue}")

(Quantile-Quantile plot)

python

import matplotlib.pyplot as plt

import numpy as np

a = np.random.normal(0,1,50) 生成标准正态分布数据

stats.probplot(a, plot=plt) 绘制图

plt.show()

直方图和核密度估计(Histogram and KDE)

python

import matplotlib.pyplot as plt

import numpy as np

a = np.random.normal(0,1,50) 生成标准正态分布数据

plt.hist(a, bins=30, alpha=0.5) 绘制直方图

plt.plot(np.linspace(-3, 3, 100), stats.norm.pdf(np.linspace(-3, 3, 100)), 'r--') 绘制核密度估计

plt.show()

以上方法都可以用来检验数据是否符合正态分布。其中,Shapiro-Wilk检验适用于样本量较小的情况,而Kolmogorov-Smirnov检验适用于样本量较大的情况。Anderson-Darling检验则提供了多个统计量,可以更全面地评估数据是否符合正态分布。图和直方图结合核密度估计也是一种直观的方法,可以用来初步判断数据是否符合正态分布。

请根据您的具体需求选择合适的方法进行正态性检验

编程小号
上一篇 2026-04-30 20:02
下一篇 2026-04-30 19:53

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/48992.html