【Python・统计学】卡方检验(原理及代码)
卡方检验是一种统计方法,用于检验观察频率分布是否符合预期的理论频率分布。它基于卡方分布,因此称作卡方检验。
Python中使用scipy.stats
模块的chi2_contingency
函数可以进行卡方检验。
以下是一个使用卡方检验的例子:
import pandas as pd
from scipy.stats import chi2_contingency
# 假设有一个观察频率矩阵
observed = pd.DataFrame([
[48, 15, 42],
[15, 52, 26],
[8, 35, 47]
])
# 调用chi2_contingency进行卡方检验
chi2, p, dof, expected = chi2_contingency(observed.values)
# 输出卡方值、p值和自由度
print(f"卡方值: {chi2}")
print(f"p值: {p}")
print(f"自由度: {dof}")
# 根据p值判断是否拒绝原假设
if p < 0.05:
print("拒绝原假设,观察频率矩阵不符合预期的理论频率分布")
else:
print("接受原假设,观察频率矩阵可能符合预期的理论频率分布")
在这个例子中,observed
是一个观察频率矩阵,chi2_contingency
函数会计算卡方值、p值和自由度,并据此判断观察频率矩阵是否符合预期的分布。
评论已关闭