Chi-Square检验正态性检验代码
时间: 2023-09-03 08:10:44 浏览: 89
下面是一个示例代码,用于对一个数据集进行正态性检验,使用卡方检验(Chi-Square Test):
```python
import numpy as np
from scipy import stats
# 生成一个随机的数据集
data = np.random.normal(0, 1, 1000)
# 计算数据集的频数
hist, bin_edges = np.histogram(data, bins='auto')
# 计算每个区间的期望频数
mu = np.mean(data)
sigma = np.std(data)
expected_freq = stats.norm.cdf(bin_edges, mu, sigma)
expected_freq = np.diff(expected_freq) * len(data)
# 计算卡方统计量和p值
chisq, p = stats.chisquare(hist, expected_freq)
# 打印结果
print("Chi-Square Statistic:", chisq)
print("p-value:", p)
```
在这个示例中,我们首先使用 `numpy.random.normal()` 生成了一个包含 1000 个数据点的随机数据集。然后使用 `numpy.histogram()` 函数计算数据集的频数,并使用 `scipy.stats.norm.cdf()` 函数计算每个频数区间的期望频数。最后,使用 `scipy.stats.chisquare()` 函数计算卡方统计量和p值。如果p值小于给定的显著性水平(例如0.05),则可以拒绝零假设,并得出结论该数据集不服从正态分布。
阅读全文