Math-00.数学分布-26.卡方分布

卡方分布(Chi-square distribution,$\chi^2$)是 $k$ 个独立标准正态随机变量平方和的分布,是拟合优度检验独立性检验方差推断的理论基础。

段末注释:$\chi^2$ 读作「卡方」;自由度 $\nu$(degrees of freedom,df)决定分布形态。

读前说明:连续分布,支撑集 $(0,+\infty)$。系列:20 正态 | 28 F


1. 产生背景与直观

图 1 标准正态平方和

若 $Z_1,\ldots,Z_k$ i.i.d. $\mathcal{N}(0,1)$,则

$$
\chi^2_k = \sum_{i=1}^k Z_i^2
$$

皮尔逊(1900)用 $\chi^2$ 检验分类数据的「观测 vs 期望」偏离,成为列联表分析基石。


2. 定义与参数

$X \sim \chi^2_\nu$:

要素 内容
支撑集 $(0, +\infty)$
参数 自由度 $\nu > 0$(常为整数)

3. PDF 与 CDF

图 2 右偏、随 ν 增大趋近正态

3.1 PDF

$$
f(x) = \frac{1}{2^{\nu/2}\Gamma(\nu/2)} x^{\nu/2 - 1} e^{-x/2}, \quad x > 0
$$

3.2 CDF

scipy.stats.chi2.cdf;上侧分位数 $\chi^2_{\alpha,,\nu}$ 用于假设检验临界值。


4. 数字特征

公式
$\mathbb{E}[X]$ $\nu$
$\mathrm{Var}(X)$ $2\nu$
偏度 $\sqrt{8/\nu}$
$\nu \to \infty$ $\chi^2_\nu$ 近似 $\mathcal{N}(\nu, 2\nu)$

5. 与其他分布的关系

关系 说明
正态 $k$ 个 $\mathcal{N}(0,1)^2$ 之和 → $\chi^2_k$
t 分布 $t(\nu) = Z / \sqrt{\chi^2_\nu/\nu}$ → 27
F 分布 两个独立 $\chi^2$ 之比 → 28
Gamma $\chi^2_\nu = \mathrm{Gamma}(\nu/2, \mathrm{scale}=2)$
样本方差 $n$ 个 $\mathcal{N}(\mu,\sigma^2)$ 样本:$(n-1)s^2/\sigma^2 \sim \chi^2_{n-1}$

6. 前提假设

作为检验统计量的参考分布(非一般观测模型):

假设 含义 违背时
独立 $N(0,1)$ 构成 $\sum_{i=1}^{\nu} Z_i^2$,$Z_i$ i.i.d. 标准正态 非正态成分 → 其他参考分布
大样本渐近(拟合优度) 期望频数足够大(常 $\ge 5$) 小期望 → 精确/Fisher
独立观测(列联表) 各单元格计数独立或近似 配对/重复 → McNemar 等
分类互斥完备 各类别划分完备 重叠类别 → 重新定义

段末注释:$\chi^2$ 多用于检验统计量;与 tF 构成抽样分布三角。


7. 适用场景

图 3 适用场景

场景 统计量
拟合优度 $\sum (O_i-E_i)^2/E_i \sim \chi^2$
列联表独立性 行×列频数 Pearson $\chi^2$
方差检验 样本方差与 $\sigma_0^2$ 比较
多分类模型 分类预测 vs 观测(混淆矩阵)

规划衔接:Math-01.显著性检验-07.卡方检验


8. 局限与误用

图 4 局限

问题 说明
期望频数 $<5$ 近似失效;用 Fisher 精确或合并类别
非独立观测 $\chi^2$ 假设破坏
连续数据硬分箱 损失信息;应用 K-S 等
与 t/F 混淆 检验类型与分布要匹配

9. 参数估计与推断

$\chi^2$ 本身通常不作为数据生成模型参数估计,而是作为检验统计量的参考分布

Pearson $\chi^2$ 统计量

$$
\chi^2 = \sum_{i=1}^k \frac{(O_i - E_i)^2}{E_i}
$$

在 $H_0$ 下近似 $\chi^2_{k-1}$(或 $(r-1)(c-1)$ 对列联表)。


10. 示例与代码

场景:孟德尔遗传 4 表型,观测 vs 理论 9:3:3:1。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import numpy as np
from scipy import stats

observed = np.array([120, 35, 38, 12])
expected = np.array([0.5625, 0.1875, 0.1875, 0.0625]) * observed.sum()

chi2, p = stats.chisquare(observed, f_exp=expected)
print(f"chi2={chi2:.3f}, df=3, p={p:.4f}")

# 列联表独立性
table = np.array([[10, 20], [30, 15]])
chi2_2, p_2, dof, expected_2 = stats.chi2_contingency(table)
print(f"contingency chi2={chi2_2:.3f}, dof={dof}, p={p_2:.4f}")

# PDF 不同自由度
import matplotlib.pyplot as plt
x = np.linspace(0.01, 30, 300)
for df in [2, 5, 10]:
plt.plot(x, stats.chi2.pdf(x, df), label=f'df={df}')
plt.legend(); plt.savefig('chi2_pdf.png', dpi=150)

11. 小结

  • $\chi^2_\nu$:正态平方和;拟合优度与列联表的核心参考分布。
  • tF 构成抽样推断三角。

系列导航27 t | 28 F

-------------本文结束感谢您的阅读-------------