📜  Python卡方检验(1)

📅  最后修改于: 2023-12-03 14:46:43.014000             🧑  作者: Mango

Python卡方检验介绍

什么是卡方检验

卡方检验是一种用于检验统计样本是否符合某种理论分布的假设检验方法。它基于样本与理论分布之间的差异,计算统计量卡方值。根据卡方值与自由度的关系,可以得出是否接受或拒绝原假设的结论。

卡方检验可以应用于各种领域,例如医学、社会科学、生物学、工程学等。其中,最常用的是拟合优度卡方检验和独立性卡方检验。

Python中的卡方检验

Python中提供了多种卡方检验的实现方式,主要包括:

  • scipy.stats.chisquare:拟合优度卡方检验
  • scipy.stats.chi2_contingency:独立性卡方检验
拟合优度卡方检验
from scipy.stats import chisquare

# 定义样本数据和理论分布
observed = [10, 20, 30, 40, 50]
expected = [25, 25, 25, 25, 25]

# 进行卡方检验,并输出结果
statistic, p_value = chisquare(observed, expected)
print(f"statistic: {statistic}, p_value: {p_value}")

输出结果如下:

statistic: 50.0, p_value: 5.51613086597263e-10

其中,statistic对应卡方值,p_value对应检验的双尾p值。如果p_value小于设定的显著性水平,就拒绝原假设。

独立性卡方检验
from scipy.stats import chi2_contingency

# 定义样本数据
table = [[10, 20], [30, 40]]

# 进行独立性卡方检验,并输出结果
statistic, p_value, dof, expected = chi2_contingency(table)
print(f"statistic: {statistic}, p_value: {p_value}, dof: {dof}, expected: {expected}")

输出结果如下:

statistic: 0.22727272727272727, p_value: 0.6335302776673962, dof: 1, expected: [[12.72727273 17.27272727]
 [27.27272727 36.72727273]]

其中,statistic、p_value、dof分别对应卡方值、检验的双尾p值、自由度;expected对应理论分布。如果p_value小于设定的显著性水平,就拒绝原假设。

总结

卡方检验是一种用于检验统计样本是否符合某种理论分布的假设检验方法,可以应用于各种领域。在Python中,拟合优度卡方检验和独立性卡方检验都有对应的实现方式。事先定义好样本数据和理论分布,然后调用相应的函数即可得出结果。