# 卡方检验

> 进阶数学 · CIE A-Level 9231
> 来源: https://www.owlsprep.com/zh/study/cie-9231-u4-chi-squared-tests/

本模块涵盖用于拟合优度和列联表独立性的卡方假设检验，包括耶茨修正、自由度规则以及考试标准的完整示例。

**先修:** [假设检验基础](https://www.owlsprep.com/zh/study/cie-9231-u4-hypothesis-testing-basics/); [离散概率分布](https://www.owlsprep.com/zh/study/cie-9231-u3-discrete-probability-distributions/)

## 学习目标

- 计算拟合优度检验和列联表检验的期望频数
- 在所有卡方检验场景中正确确定自由度
- 按照CIE要求对2×2列联表应用耶茨连续性修正
- 为独立性检验和分布拟合检验构造有效的原假设和备择假设
- 解读卡方检验结果以得出统计上有效的结论

## 卡方拟合优度检验基础

**卡方检验统计量** — 观测频数与期望频数的差的平方之和，每个类别按期望频数归一化。

*记法:* \chi^2 = \sum \frac{(O_i - E_i)^2}{E_i}

对于拟合优度检验，原假设声明样本数据服从指定的理论分布，备择假设声明数据不服从该分布。期望频数直接从理论分布计算，按总样本量缩放。

**例题:** 一枚公平的6面骰子被投掷120次，观测得分为：25、18、22、17、21、17。计算卡方检验统计量以检验骰子是否公平。

1. 总样本量=120。对于公平骰子，6个结果中每个结果的期望频数=120/6=20。
2. 计算每一项 (O_i - E_i)^2 / E_i：
3. $$\frac{(25-20)^2}{20} + \frac{(18-20)^2}{20} + \frac{(22-20)^2}{20} + \frac{(17-20)^2}{20} + \frac{(21-20)^2}{20} + \frac{(17-20)^2}{20}$$
4. 求和：1.25 + 0.2 + 0.2 + 0.45 + 0.05 + 0.45 = 2.6

**概念自测**

1. 如果总样本量为200，某类别的理论概率为0.15，该类别的期望频数是多少？

   *解析:* E_i = n * p_i = 200 * 0.15 = 30

> **考试提示:** 如果你没有在进行检验前明确声明所有期望频数都≥5，CIE考官会扣分。

## 自由度计算

卡方检验的自由度是用于计算检验统计量的独立信息的数量。对于拟合优度检验，你需要减去1个总样本量约束，再减去从样本数据估计的每个总体参数对应的1个自由度。

$$\nu = k - m - 1$$

- k = 合并所有E_i <5的组后的类别数
- m = 从样本数据估计的、用于定义理论分布的参数数量

**例题:** 你将正态分布拟合到8个分组数据类别中，从样本估计均值和方差，所有期望频数都≥5。求自由度。

1. 类别数k=8
2. 估计的参数数量m=2（均值和方差）
3. $$\nu = 8 - 2 - 1 = 5$$

**概念自测**

1. 你检验数据是否服从泊松分布，从样本估计λ，共有4个类别，自由度是多少？

   *解析:* 4 - 1 -1 = 2

> **考试提示:** 不要为题目中给出的参数额外减去自由度，只需要为你从样本中计算出的值减去自由度。

## 卡方独立性检验

该检验使用列联表评估两个分类变量是否相互独立。原假设声明两个变量相互独立，备择假设声明它们存在关联。每个单元格的期望频数计算为（行总和 × 列总和）/ 总总和。

$$E_{ij} = \frac{R_i \times C_j}{N}$$

**例题:** 一个3×2列联表的行总和为40、60、50，列总和为70、80，总总和为150。计算第2行第1列单元格的期望频数。

1. 第2行总和R_2=60，第1列总和C_1=70
2. $$E_{21} = \frac{60 \times 70}{150} = 28$$

r×c列联表的自由度为(r-1)(c-1)，其中r是行数，c是列数，不需要额外减去值。

**考试命令词**

- **Test for association** — 与独立性检验完全相同，使用卡方列联表方法

- **Test if the results are homogeneous** — 与独立性检验计算方式相同，自由度也完全一致

> **考试提示:** 你可以通过检查所有行和列的总和是否与观测列联表的总和匹配，来验证期望频数是否正确。

## 耶茨连续性修正

卡方分布是连续的，但从2×2列联表计算出的检验统计量是离散的。耶茨修正用于调整检验统计量以减少这种近似误差，在CIE 9231教学大纲中，所有2×2列联表都必须使用该修正。

$$\chi^2_{\text{Yates}} = \sum \frac{(|O_i - E_i| - 0.5)^2}{E_i}$$

**例题:** 对于一个2×2列联表，每个单元格的观测值与期望值的差为1.2，计算耶茨修正后的检验统计量。

1. 从绝对差中减去0.5：|1.2| - 0.5 = 0.7
2. 对值取平方：0.7² = 0.49
3. 对4个单元格求和，每个单元格E_i=25：4 × (0.49 / 25) = 0.0784

> **warning**
>
> 不要将耶茨修正应用于大于2×2的列联表，也不要应用于拟合优度检验。CIE会对不必要使用耶茨修正的情况扣分。

## 常见错误

- **错误做法:** 未能合并小于5的期望频数
  - 原因: 破坏了卡方分布近似的假设，导致检验统计量偏大，得出错误结论
  - 正确做法: 合并相邻类别直到所有E_i≥5，然后将自由度减去合并的组数减1
- **错误做法:** 将耶茨修正应用于3×2或更大的列联表
  - 原因: 耶茨修正仅为2×2表设计，对更大的表会产生过于保守的检验结果
  - 正确做法: 仅当列联表为2行2列时才明确使用耶茨修正
- **错误做法:** 忘记为从样本数据估计的参数减去自由度
  - 原因: 高估自由度，导致你选择过于宽松的临界值，错误地拒绝原假设
  - 正确做法: 明确统计你从观测数据中计算出的、用于定义理论分布的所有参数，每个参数从自由度中减去1
- **错误做法:** 使用观测总和而不是（行总和×列总和）/总总和来计算列联表的期望频数
  - 原因: 生成的无效期望值不能反映独立性假设
  - 正确做法: 在计算检验统计量之前，验证所有期望的行和列总和与观测表的总和完全匹配
- **错误做法:** 将原假设表述为“两个变量相关”
  - 原因: 卡方独立性检验不测量线性相关性，它检验分类变量之间的任何关联
  - 正确做法: 明确写出H0为“两个变量相互独立”，H1为“两个变量不相互独立”

## 速查表

| 检验类型 | 自由度公式 | 所需调整 |
| --- | --- | --- |
| 拟合优度，无估计参数 | k - 1 | 如果E_i <5则合并类别 |
| 拟合优度，m个估计参数 | k - m - 1 | 如果E_i <5则合并类别 |
| r×c列联表（r>2或c>2） | (r-1)(c-1) | 如果E_i <5则合并行/列 |
| 2×2列联表 | 1 | 应用耶茨连续性修正 |

## 下一步

掌握卡方检验为你提供了分析分类数据的核心工具，该工具几乎出现在每一份CIE 9231考试试卷中。接下来，你将在这个假设检验的基础上学习非参数检验，当你的数据不满足t检验等标准参数检验的假设时，可以使用这些检验。你还将探索相关系数的假设检验，它可以评估连续变量之间线性关系的统计显著性。这些主题经常在扩展问题集中与卡方问题配对，因此现在巩固你的理解将提高你期末考试的表现。

- [非参数假设检验](https://www.owlsprep.com/zh/study/cie-9231-u4-non-parametric-tests/)

---

来自 [OwlsPrep](https://www.owlsprep.com) —— A-Level / IB / AP / IGCSE 免费学习指南，依据官方考纲编写。原页面：https://www.owlsprep.com/zh/study/cie-9231-u4-chi-squared-tests/
