当至少一个变量为分类(categorical)时,Pearson / Spearman / Kendall 不再直接适用。本篇介绍 Phi 系数、Cramér’s V(Cramér’s V)、点二列相关(point-biserial correlation)及与 卡方检验 的关系。
段末注释:Phi 系数($\phi$)为 $2\times2$ 列联表的标准化关联强度;Cramér’s V 推广到任意 $r\times c$ 表。
1. 问题与直观(D1)

- 两分类:突变有害/无害 vs 表达高/低 → $2\times2$ 列联表
- 多分类:氨基酸类型 vs 活性等级 → $r\times c$ 表
- 一分类一连续:是否达标(0/1)vs 酶活数值 → 点二列
2. 数据类型与系数选型(D2)
| X \ Y | 连续 | 二分类 | 多分类 |
|---|---|---|---|
| 连续 | Pearson / Spearman | 点二列 $r_{pb}$ | 多二列 / ANOVA $\eta$ |
| 二分类 | 点二列 | Phi $\phi$ | Cramér’s V |
| 多分类 | ANOVA / $\eta$ | Cramér’s V | Cramér’s V |
3. 公式与显著性(D3–D4)

3.1 Phi 系数($2\times2$)
列联表卡方 $\chi^2$,样本量 $n$:
$$
\phi = \sqrt{\frac{\chi^2}{n}}, \quad \phi \in [0,1]
$$
$\phi$ 大 → 两二元变量关联强。符号需结合表内方向解读(或报告 OR)。
3.2 Cramér’s V($r\times c$)
$$
V = \sqrt{\frac{\chi^2}{n \cdot \min(r-1,, c-1)}}, \quad V \in [0,1]
$$
$r$ 行数,$c$ 列数;$2\times2$ 时 $V=|\phi|$。
3.3 点二列相关
二元 $D\in{0,1}$ 与连续 $Y$:
$$
r_{pb} = \frac{\bar{Y}_1 - \bar{Y}_0}{s_Y}\sqrt{\frac{n_0 n_1}{n(n-1)}}
$$
等价于 Pearson($D, Y$)(当 0/1 编码时)。
3.4 显著性
$H_0$:两变量独立 → 卡方检验 或 Fisher 精确(小样本);系数本身为效应量。
4. 适用场景(D5–D7)

| 场景 | 方法 |
|---|---|
| 有害/无害 vs 高/低表达 | Phi |
| 20 种氨基酸 vs 活性档 | Cramér’s V |
| 是否 WT 以上 vs 酶活 | 点二列 |
| 交叉表 + p 值 | $\chi^2$ + V |
5. 局限与误用(D8)

| 问题 | 说明 |
|---|---|
| 期望频数 $<5$ | Fisher 精确;慎用 $\chi^2$ |
| 有序分类当名义 | 损失信息 → Spearman / $\tau$ |
| $V$ 随表维度变大 | 仅在同维度表间粗比 |
| 相关≠因果 | 同连续变量 |
| 稀疏大表 | 合并类别 / 正则化 |
6. 示例代码
1 | import numpy as np |
7. 小结
- 分类相关:$2\times2$ 用 Phi;一般列联表用 Cramér’s V;二元+连续用 点二列。
- 显著性走 $\chi^2$ / Fisher;系数报告效应量。
系列导航:02 Pearson | 20 特征选择