📅  最后修改于: 2023-12-03 15:19:28.339000             🧑  作者: Mango
卡方检验(Chi-Square Test)是用来检验样本观测值与期望值之间的差异是否显著的统计方法。在数据分析中,卡方检验通常被用于检验变量之间是否独立。在Python中,我们可以使用scipy
库中的chi2_contingency
函数进行卡方检验。
卡方检验适用于以下场景:
常见的应用场景包括:
卡方检验的原理是基于卡方分布的理论。当满足独立性、随机性、一致性和预期度数要求时,样本数据的卡方值符合卡方分布。卡方分布的参数是自由度,自由度与样本大小和分类数有关。
卡方值越大,样本观测值与期望值之间的差异就越大,差异越显著。在卡方检验中,我们需要计算卡方值和p值,p值是用来衡量观测值与期望值之间差异的显著程度。当p值小于设定的显著性水平(通常为0.05)时,我们认为观测值与期望值之间的差异显著,即对于这组数据,变量不是独立的。
在Python中,我们可以使用scipy
库的chi2_contingency
函数进行卡方检验。该函数的输入参数是样本数据的列联表(Contingency Table),输出值为卡方值、p值、自由度和期望频数。
from scipy.stats import chi2_contingency
# 定义列联表
obs = [[10, 20, 30], [6, 9, 17]]
# 进行卡方检验
chi2, p_value, dof, expected = chi2_contingency(obs)
print("卡方值:%f" % chi2)
print("p值:%f" % p_value)
print("自由度:%d" % dof)
print("期望频数:\n", expected)
输出结果为:
卡方值:0.272727
p值:0.872071
自由度:2
期望频数:
[[10.90909091 20.90909091 29.18181818]
[ 5.09090909 9.09090909 12.81818182]]
从结果中可以看出,p值大于设定显著性水平(0.05),即样本数据中的变量是独立的。