ARTICLE

卡方独立性检验

卡方独立性检验 (Chi-squared Test of Independence) 卡方独立性检验 (Chi-squared Test of Independence),也常简称为卡方检验,是一种广泛应用的statistical hypothesis test。其核心目标是检验两个categorical data(分类变量)之间是否存在显著的关联性。换言之

浏览 45 更新 2025-10-25

卡方独立性检验 (Chi-squared Test of Independence)

卡方独立性检验 (Chi-squared Test of Independence),也常简称为卡方检验,是一种广泛应用的statistical hypothesis test。其核心目标是检验两个categorical data(分类变量)之间是否存在显著的关联性。换言之,它帮助我们判断这两个变量是互相independent(独立)的,还是dependent(相关)的。

该检验通过比较实际观测到的数据频数与在“两变量独立”这一假设下理论上应出现的期望频数之间的差异来得出结论。这些数据通常被整理在一种被称为 contingency table(列联表)的表格中。

核心原理:观测值与期望值的比较

卡方独立性检验的逻辑根基在于比较两种频率:

  1. Observed Frequency (Oij O_{ij} ):即在样本数据中,每个单元格(由两个变量的特定类别组合而成)内实际观察到的频数或计数。
  2. Expected Frequency (Eij E_{ij} ):即假设两个变量完全独立时,我们理论上预期在每个单元格中出现的频数。

如果两个变量是独立的,那么观测频数(Oij O_{ij} )与期望频数(Eij E_{ij} )之间的差异应该很小,主要由随机抽样误差引起。反之,如果两者之间存在显著差异,则暗示着两个变量可能并非独立,而是存在某种关联。

期望频数的计算是该检验的关键一步。对于列联表中位于第 i i 行、第 j j 列的单元格,其期望频数计算公式为:

Eij=(第 i 行的总频数)×(第 j 列的总频数)样本总数 (Grand Total)E_{ij} = \frac{(\text{第 } i \text{ 行的总频数}) \times (\text{第 } j \text{ 列的总频数})}{\text{样本总数 (Grand Total)}}

这个公式的直觉理解是:如果变量独立,那么某个观测同时属于第 i i 行和第 j j 列的概率等于这两个边缘概率的乘积。即 P(i and 列j)=P(i)×P(j) P(\text{行}i \text{ and 列}j) = P(\text{行}i) \times P(\text{列}j) 。将此概率乘以总样本数 N N ,即可得到期望频数:Eij=N×(i总数N)×(j总数N) E_{ij} = N \times \left(\frac{\text{行}i\text{总数}}{N}\right) \times \left(\frac{\text{列}j\text{总数}}{N}\right) ,化简后即为上述公式。

假设的构建

作为一种标准的hypothesis test,卡方独立性检验遵循其固有的假设构建框架:

  • Null Hypothesis (H0 H_0 ):两个分类变量在总体中是 独立的。它们之间不存在关联。
  • Alternative Hypothesis (Ha H_a H1 H_1 ):两个分类变量在总体中是 不独立(相关)的。它们之间存在关联。

需要注意的是,即使检验结果拒绝了原假设,它也只能告诉我们变量之间“存在关联”,而不能描述这种关联的强度、方向或因果关系。

卡方检验统计量 (χ2 \chi^2 )

为了量化观测频数与期望频数之间的总体差异,我们计算一个名为卡方统计量χ2 \chi^2 statistic)的值。其计算公式为:

χ2=所有单元格(OijEij)2Eij\chi^2 = \sum_{\text{所有单元格}} \frac{(O_{ij} - E_{ij})^2}{E_{ij}}

其中:

  • Oij O_{ij} 是第 i i 行、第 j j 列单元格的观测频数。
  • Eij E_{ij} 是对应单元格的期望频数。
  • \sum 符号表示对列联表中所有单元格的计算结果进行求和。

这个公式的每一项 (OijEij)2/Eij (O_{ij} - E_{ij})^2 / E_{ij} 都代表了一个单元格的差异程度。通过将所有单元格的这种标准化差异加总,我们得到了一个衡量整体偏离独立性假设程度的指标。χ2 \chi^2 值越大,表明观测数据与独立性假设下的期望数据偏离越大,从而越有理由拒绝原假设。

做出统计决策

计算出的 χ2 \chi^2 统计量本身并不能直接得出结论,我们需要将其与一个理论分布进行比较。在原假设为真的前提下,该统计量近似服从 Chi-squared distribution(卡方分布)。

  1. degrees of freedom (df):卡方分布的形态取决于其自由度。在独立性检验中,自由度的计算公式为:
df=(r1)×(c1)df = (r - 1) \times (c - 1)

其中,r r 是列联表的行数,c c 是列联表的列数。自由度代表了在给定行和列的总数后,可以自由填充的单元格数量。

  1. 决策方法:通常有两种方法来做出决策:
  • 临界值法 (Critical Value Approach):首先设定一个significance level(显著性水平)α \alpha (通常为 0.05, 0.01 或 0.10)。然后,根据该 α \alpha 和计算出的自由度 df df ,从卡方分布表中查找到一个critical value(临界值)。如果计算出的 χ2 \chi^2 统计量大于临界值,则拒绝原假设 H0 H_0 ;否则,不拒绝 H0 H_0
  • P值法 (P-value Approach):计算出一个p-value,它表示在原假设为真的情况下,获得一个像当前计算出的 χ2 \chi^2 统计量一样大或更大的值的概率。然后将 p-value 与显著性水平 α \alpha 进行比较。如果 pα p \le \alpha ,则拒绝原假设 H0 H_0 ;否则,不拒绝 H0 H_0 。在现代统计软件中,p-value 会被自动计算出来,这是目前更常用的方法。

示例:探究吸烟与肺癌是否相关

假设一项研究调查了300人,记录了他们是否吸烟以及是否患有肺癌。数据整理如下(观测频数 Oij O_{ij} ):

| | 患肺癌 | 未患肺癌 | 行总计 | | :--- | :---: | :---: | :---: | | 吸烟 | 70 | 80 | 150 | | 不吸烟| 20 | 130 | 150 | | 列总计 | 90 | 210 | 300 |

步骤 1:设定假设

  • H0 H_0 :吸烟与患肺癌是独立的。
  • Ha H_a :吸烟与患肺癌是相关的。

步骤 2:计算期望频数 (Eij E_{ij} )

  • E11 E_{11} (吸烟, 患肺癌) = (150 * 90) / 300 = 45
  • E12 E_{12} (吸烟, 未患肺癌) = (150 * 210) / 300 = 105
  • E21 E_{21} (不吸烟, 患肺癌) = (150 * 90) / 300 = 45
  • E22 E_{22} (不吸烟, 未患肺癌) = (150 * 210) / 300 = 105

步骤 3:计算 χ2 \chi^2 统计量

χ2=(7045)245+(80105)2105+(2045)245+(130105)2105\chi^2 = \frac{(70-45)^2}{45} + \frac{(80-105)^2}{105} + \frac{(20-45)^2}{45} + \frac{(130-105)^2}{105}
χ2=25245+(25)2105+(25)245+252105\chi^2 = \frac{25^2}{45} + \frac{(-25)^2}{105} + \frac{(-25)^2}{45} + \frac{25^2}{105}
χ2=13.889+5.952+13.889+5.952=39.682\chi^2 = 13.889 + 5.952 + 13.889 + 5.952 = 39.682

步骤 4:确定自由度并做出决策

  • 自由度 df=(21)×(21)=1 df = (2-1) \times (2-1) = 1
  • 设定显著性水平 α=0.05 \alpha = 0.05 。对于 df=1 df=1 α=0.05 \alpha=0.05 对应的卡方临界值为 3.841。
  • 因为我们计算出的 χ2 \chi^2 值 (39.682) 远大于临界值 (3.841),所以我们拒绝原假设 H0 H_0

步骤 5:解释结论 检验结果提供了强有力的统计证据,表明吸烟与是否患肺癌之间存在显著关联。

使用条件与假设

为了保证卡方独立性检验结果的有效性,需要满足以下几个条件:

  1. 分类变量:两个变量都必须是分类的(名义或有序变量)。
  2. 观测独立性:样本中的每个观测值都应是独立的。例如,在抽样调查中,一个被调查者的选择不应影响另一个。
  3. 期望频数的大小:这是至关重要的一点。一个被广泛接受的经验法则是,所有单元格的期望频数 (Eij E_{ij} ) 都应大于等于5。如果此条件不满足,卡方统计量的抽样分布可能不再近似于卡方分布,导致检验结果不可靠。
  • 对于期望频数过小的情况 (特别是当超过20\%的单元格 Eij<5 E_{ij} < 5 或任何一个单元格 Eij<1 E_{ij} < 1 ):
  • 对于 2x2 的列联表,应改用 Fisher's exact test (费雪精确检验)。
  • 对于更大的表格,可以尝试合并相邻的、有逻辑意义的类别以增加单元格的期望频数。

局限性与后续分析

卡方独立性检验是一个强大的工具,但也有其局限性:

  • 它不衡量关联的强度。一个非常大的样本量即使在关联非常弱的情况下也可能产生一个统计上显著的 χ2 \chi^2 值。
  • 为了衡量关联强度,可以在显著的卡方检验之后计算其他指标,如 phi coefficient (phi系数,用于2x2表格) 或 Cramér's V (克莱姆V系数,用于更大的表格)。
  • 当检验结果显著时,可以通过 residual analysis (残差分析) 来探究哪些特定的单元格对总体差异的贡献最大,从而更深入地理解关联的模式。