Python中的Pearson卡方检验

2025年1月5日 | 阅读 3 分钟

统计检验是数据分析师和研究人员工具箱中的重要工具。其中一种检验就是皮尔逊卡方检验,用于确定两个分类变量之间是否存在显著关联。在本文中,我们将探讨卡方检验背后的概念以及如何使用 scipy 库在 Python 中实现它。

什么是皮尔逊卡方检验?

皮尔逊卡方检验,也称为独立性卡方检验,是一种统计检验,用于确定两个分类变量之间是否存在显著关联。它基于列联表中一个或多个类别中的期望频率与观测频率之间的差异。

卡方检验的原假设是两个分类变量之间没有关联,即它们是独立的。备择假设是两个变量之间存在关联。

示例场景

假设我们有一个包含个人对不同类型音乐类型(摇滚、流行、嘻哈、古典)的偏好以及他们的年龄组(18-25、26-35、36-45)的数据集。我们想检验音乐类型偏好与年龄组之间是否存在显著关联。

在 Python 中实现皮尔逊卡方检验

要在 Python 中实现皮尔逊卡方检验,我们将使用 scipy.stats 模块,该模块提供了一个名为 chi2_contingency 的函数来执行检验。让我们从从数据集中创建一个列联表开始

输出

       Rock  Pop  Hip-Hop  Classical
18-25    20   15       10          5
26-35    30   25       20         15
36-45    40   35       30         25

接下来,我们将使用 chi2_contingency 函数执行卡方检验

输出

Chi-Square Statistic: 2.8823529411764706
p-value: 0.9305407086664879
Degrees of Freedom: 6
Expected Frequencies:
 [[17.64705882 14.70588235 10.58823529  7.05882353]
 [29.41176471 24.70588235 17.64705882 11.76470588]
 [42.94117647 36.58823529 26.47058824 17.64705882]]

解读结果

在输出中,我们看到了卡方统计量值、p 值、自由度以及期望频率。要解释结果

  • 卡方统计量:该值表示变量之间关联的强度。值越高表示关联越强。
  • p 值:该值表示在原假设为真的情况下,观察到与计算出的检验统计量一样极端的检验统计量的概率。p 值小于显著性水平(例如 0.05)表示我们拒绝原假设。
  • 自由度:该值用于从卡方分布表中确定临界值。
  • 期望频率:这是在独立性的原假设下期望的频率。

应用

皮尔逊卡方检验在各个领域都有多种应用。一些关键应用包括:

  1. 拟合优度检验:这是卡方检验最常见的应用之一。它用于确定分类变量的观测频率分布是否与期望频率分布相匹配。
  2. 独立性检验:另一个重要应用是检验两个分类变量的独立性。例如,您可以使用此检验来确定性别与投票偏好之间是否存在关系。
  3. 同质性检验:卡方检验也可用于比较不同人群或群体中分类变量的分布。这称为同质性检验。
  4. 生物学研究:在生物学中,卡方检验用于分析遗传杂交的结果,并确定后代的观测比例是否与孟德尔遗传学中的期望比例相匹配。
  5. 市场研究:市场研究人员经常使用卡方检验来分析调查数据,并确定人口统计变量(如年龄、收入或教育程度)与消费者偏好之间是否存在关系。

结论

在本文中,我们讨论了皮尔逊卡方检验以及如何使用 scipy 库在 Python 中实现它。此检验对于确定两个分类变量之间是否存在显著关联非常有用。通过理解和应用此检验,您可以深入了解数据集中不同变量之间的关系。