卡方检验正态性python代码
时间: 2024-09-21 16:13:03 浏览: 61
卡方检验(Chi-squared test)用于评估观察数据是否符合预期的理论分布,通常应用于二分类或多分类变量的独立性测试。在Python中,我们可以使用`scipy.stats`库来进行卡方检验,包括检验连续数据的正态性。这里是一个简单的例子:
```python
from scipy.stats import chisquare
import numpy as np
# 假设我们有一组随机生成的数据,想检验其是否符合正态分布
data = np.random.normal(size=100) # 生成一组正态分布的数据
# 计算样本频率,这通常是将数据分到几个类别里得到的频数
observed_frequencies = np.histogram(data, bins=10, density=True)[0]
# 假设理论分布(如果假设数据正态,则可以取均匀分布)
expected_frequencies = np.ones_like(observed_frequencies) / len(data)
# 使用chisquare函数计算卡方统计量和p值
chi2_statistic, p_value = chisquare(observed_frequencies, expected_frequencies)
print(f"Chi-square statistic: {chi2_statistic}")
print(f"P-value: {p_value}")
# 如果p_value大于某个显著性水平(如0.05),则拒绝原假设,认为数据不符合正态分布
if p_value > 0.05:
print("Data is likely normally distributed (at the given significance level).")
else:
print("Data does not appear to be normally distributed (at the given significance level).")
阅读全文