# 分类变量的关联性分析 (Analysis of Association for Categorical Variables)
分类变量的关联性分析 是一系列{{{统计学}}}方法的总称,用于检验和度量两个或多个{{{分类变量}}} (Categorical Variables) 之间是否存在统计学上的关系。与衡量{{{连续变量}}}之间关系的{{{相关分析}}} (Correlation Analysis) 或{{{回归分析}}} (Regression Analysis) 不同,此分析专注于处理非数值型数据,例如性别、产品偏好、教育水平或疾病状态。
其核心目标是回答以下问题:一个变量的取值是否会随着另一个变量的取值变化而系统性地变化?如果答案是肯定的,我们就说这两个变量之间存在 关联 (Association) 。反之,如果一个变量的取值分布在另一个变量的各个类别中都是相似的,我们就说这两个变量是 独立的 (Independent) 。
## 核心工具:列联表 (Contingency Table)
分析分类变量关联性的起点通常是构建一个 {{{列联表}}},也称为 交叉分类表 (Cross-Tabulation)。这是一个二维或多维的表格,用于展示两个或多个分类变量的联合频率分布。
考虑一个 $r \times c$ 的列联表,它表示一个变量有 $r$ 个类别,另一个变量有 $c$ 个类别:
| 变量1 / 变量2 | 类别 1 | 类别 2 | $...$ | 类别 c | 行合计 | | :--- | :---: | :---: | :---: | :---: | :---: | | 类别 A | $O_{A1}$ | $O_{A2}$ | $...$ | $O_{Ac}$ | $R_A$ | | 类别 B | $O_{B1}$ | $O_{B2}$ | $...$ | $O_{Bc}$ | $R_B$ | | $...$ | $...$ | $...$ | $...$ | $...$ | $...$ | | 类别 r | $O_{r1}$ | $O_{r2}$ | $...$ | $O_{rc}$ | $R_r$ | | 列合计 | $C_1$ | $C_2$ | $...$ | $C_c$ | $N$ |
其中: * $O_{ij}$ 代表位于第 $i$ 行和第 $j$ 列单元格的 观测频数 (Observed Frequency),即同时满足行变量第 $i$ 类别和列变量第 $j$ 类别的样本数量。 * $R_i$ 是第 $i$ 行的边际合计 (Marginal Total)。 * $C_j$ 是第 $j$ 列的边际合计。 * $N$ 是总样本量 (Grand Total)。
## 检验关联性:卡方检验 (Chi-Squared Test)
最常用的检验两个分类变量是否独立的方法是 皮尔逊卡方检验 (Pearson's Chi-Squared Test, $\chi^2$ Test)。该检验通过比较观测频数与“期望频数”之间的差异来判断变量间是否存在关联。
### 1. 假设的建立
卡方检验是一种{{{假设检验}}}。其原假设和备择假设为: * 原假设 ($H_0$):两个变量是相互独立的。即一个变量的分类不影响另一个变量的分类。 * 备择假设 ($H_1$):两个变量不是独立的,即它们之间存在关联。
### 2. 计算期望频数 (Expected Frequency)
期望频数 ($E_{ij}$) 是在原假设(即变量相互独立)成立的情况下,我们期望在每个单元格中看到的频数。其计算逻辑是:如果两变量独立,则某个单元格的联合概率等于其对应边际概率的乘积。因此,期望频数的计算公式为:
$$ E_{ij} = \frac{R_i \times C_j}{N} = \frac{(\text{第 } i \text{ 行的总计}) \times (\text{第 } j \text{ 列的总计})}{\text{总样本量}} $$
如果观测频数 $O_{ij}$ 与期望频数 $E_{ij}$ 相差很大,则表明数据与独立性假设不符,我们更有理由拒绝原假设。
### 3. 计算卡方统计量 ($\chi^2$)
{{{卡方统计量}}}度量了所有单元格中观测频数与期望频数之间的总差异。其计算公式为:
$$ \chi^2 = \sum_{i=1}^{r} \sum_{j=1}^{c} \frac{(O_{ij} - E_{ij})^2}{E_{ij}} $$
这个公式的含义是: * 计算每个单元格的观测值与期望值之差的平方 $(O_{ij} - E_{ij})^2$。 * 将该差值用期望值 $E_{ij}$ 进行标准化,以消除频数大小本身的影响。 * 将所有单元格的标准化差异加总。
$\chi^2$ 的值越大,表示观测数据与独立性假设的偏离程度越大,从而越倾向于认为变量之间存在关联。
### 4. 做出决策
为了判断 $\chi^2$ 统计量是否“足够大”以拒绝原假设,我们需要考虑{{{自由度}}} (Degrees of Freedom, df) 并确定{{{p值}}} (p-value)。 * 自由度 (df):对于一个 $r \times c$ 的列联表,自由度为 $df = (r-1) \times (c-1)$。它代表了表中可以自由变化的单元格数量。 * 决策规则: 1. 计算出的 $\chi^2$ 统计量服从一个近似的{{{卡方分布}}}。 2. 根据该统计量和相应的自由度,我们可以计算出 p-值。 3. p-值是在原假设为真的前提下,获得当前观测到的、或比当前更极端的结果的概率。 4. 将p-值与预设的{{{显著性水平}}} $\alpha$(通常为 0.05 或 0.01)进行比较。如果 $p < \alpha$,则我们拒绝原假设 $H_0$,并得出结论:两个变量之间存在统计上显著的关联。
注意:卡方检验的一个重要假设是样本量足够大。通常要求所有单元格的期望频数 $E_{ij}$ 不小于1,且至少80%的单元格的期望频数不小于5。当此条件不满足时(尤其是在 $2 \times 2$ 表中),应考虑使用 {{{费雪精确检验}}} (Fisher's Exact Test)。
## 度量关联强度 (Measures of Association)
卡方检验的显著性(即p值很小)告诉我们关联存在,但它并不直接告诉我们关联有多强。一个非常大的样本量即使在关联非常弱的情况下也可能产生显著的p值。因此,我们需要使用关联强度指标(也称为{{{效应量}}} Effect Size)来量化关系的大小。
### 1. 基于 $\chi^2$ 的指标 (适用于{{{名义变量}}})
这些指标通过对 $\chi^2$ 统计量进行标准化来消除样本量的影响。 * Phi系数 ($\phi$):专用于 $2 \times 2$ 列联表。其值域类似于{{{皮尔逊相关系数}}},通常在0到1之间(在某些定义下可为-1到1)。 $$ \phi = \sqrt{\frac{\chi^2}{N}} $$ * Cramér's V (克莱姆V):是Phi系数对大于 $2 \times 2$ 表格的推广。其值域为0到1,其中0表示完全独立,1表示完全关联。 $$ V = \sqrt{\frac{\chi^2}{N \times (\min(r, c) - 1)}} $$ 其中 $\min(r, c)$ 是行数和列数中的较小者。
### 2. 适用于{{{有序变量}}}的指标
当两个分类变量都是有序的(例如“低、中、高”),我们可以度量关联的方向(正向或负向)和强度。 * Gamma ($\gamma$):度量有序变量间关联的强度和方向,其值域为-1到1。它基于对数据对的一致对 (Concordant Pairs) 和 不一致对 (Discordant Pairs) 的比较。正值表示正相关(一个变量增加,另一个变量也倾向于增加),负值表示负相关。 * Kendall's Tau ($\tau$):与Gamma类似,但有多个版本(如Tau-b和Tau-c),它们对数据中的结 (Ties)(即多个观测值具有相同等级)进行了不同的校正。Kendall's Tau-b 适用于行列数相同的方形表,而Tau-c适用于长方形表。 * Somers' D:是一个不对称的关联度量,适用于一个变量被视为{{{自变量}}}而另一个被视为{{{因变量}}}的情景。
## 事后分析 (Post-Hoc Analysis)
如果一个大于 $2 \times 2$ 的列联表的卡方检验结果显著,我们知道变量间存在关联,但不知道是哪些具体的类别组合导致了这种关联。事后分析可以帮助我们识别哪些单元格对整体的显著性贡献最大。 常用的方法是分析每个单元格的 标准化残差 (Standardized Residuals)。
$$ \text{Standardized Residual}_{ij} = \frac{O_{ij} - E_{ij}}{\sqrt{E_{ij}}} $$
或者更精确的 调整后标准化残差 (Adjusted Standardized Residuals),它进一步考虑了行列边际的影响。 如果一个单元格的调整后标准化残差的绝对值大于某个阈值(通常是1.96或2.58,对应于正态分布的95%或99%置信水平),则可以认为该单元格的观测频数与期望频数之间存在显著差异,即这个特定的类别组合是关联性的一个重要来源。
## 相关高级模型
当分析涉及三个或更多分类变量时,简单的卡方检验可能不足。更高级的模型包括: * {{{对数线性模型}}} (Log-Linear Models):可以看作是卡方检验的推广,用于分析多个分类变量之间的复杂交互作用。 * {{{逻辑回归模型}}} (Logistic Regression):当因变量是分类的(尤其是二元的),而自变量可以是分类或连续的时,该模型非常有用。