📚 什么是卡方检验?
卡方检验(Chi-square Test)是一种常用的统计假设检验方法,主要用于:
- 拟合优度检验:检验观察频数是否符合理论分布
- 独立性检验:检验两个分类变量之间是否相互独立
- 同质性检验:检验多个总体的分布是否相同
在本演示中,我们主要展示独立性检验,通过列联表(Contingency Table)来分析两个分类变量之间的关系。
🧮 数学公式
卡方统计量:
\[ \chi^2 = \sum_{i=1}^{r} \sum_{j=1}^{c} \frac{(O_{ij} - E_{ij})^2}{E_{ij}} \]
期望频数:
\[ E_{ij} = \frac{(行合计_i) \times (列合计_j)}{总样本数} \]
自由度:
\[ df = (行数 - 1) \times (列数 - 1) \]
其中:
- \( O_{ij} \) = 观察频数(第i行第j列)
- \( E_{ij} \) = 期望频数(第i行第j列)
- \( r \) = 行数
- \( c \) = 列数
💡 核心概念详解
1. 观察频数(Observed Frequency)
定义:观察频数是指在研究中实际观察到的数据,即在每个单元格中实际发生的次数或数量。
如何取值:
- 直接计数:通过实际调查、实验或数据收集得到的具体数值
- 必须是整数:频数表示的是"个数",所以必须是 0 或正整数
- 实际数据:这些是你从样本中直接观察到的真实数据
📝 示例:研究"吸烟与肺癌"的关系
| 患肺癌 | 未患肺癌 | |
|---|---|---|
| 吸烟 | 100 | 50 |
| 不吸烟 | 200 | 150 |
这里的 100、50、200、150 就是观察频数,表示实际调查中:
• 吸烟且患肺癌的有 100 人
• 吸烟但未患肺癌的有 50 人
• 不吸烟但患肺癌的有 200 人
• 不吸烟且未患肺癌的有 150 人
2. 期望频数(Expected Frequency)
定义:期望频数是在原假设(两个变量独立)成立的情况下,理论上应该出现的频数。
如何计算:
- 计算公式:\[ E_{ij} = \frac{(第i行的合计) \times (第j列的合计)}{总样本数} \]
- 理论基础:如果两个变量真的独立,那么每个单元格的频数应该等于该行比例 × 该列比例 × 总样本数
- 可以是小数:期望频数是理论值,可以是小数(但实际观察频数必须是整数)
📝 计算示例:继续使用上面的"吸烟与肺癌"数据
步骤 1:计算行合计和列合计
| 患肺癌 | 未患肺癌 | 行合计 | |
|---|---|---|---|
| 吸烟 | 100 | 50 | 150 |
| 不吸烟 | 200 | 150 | 350 |
| 列合计 | 300 | 200 | 500 |
步骤 2:计算期望频数(假设吸烟与肺癌独立)
- 吸烟且患肺癌的期望值:\[ E_{11} = \frac{150 \times 300}{500} = \frac{45000}{500} = 90 \]
- 吸烟但未患肺癌的期望值:\[ E_{12} = \frac{150 \times 200}{500} = \frac{30000}{500} = 60 \]
- 不吸烟但患肺癌的期望值:\[ E_{21} = \frac{350 \times 300}{500} = \frac{105000}{500} = 210 \]
- 不吸烟且未患肺癌的期望值:\[ E_{22} = \frac{350 \times 200}{500} = \frac{70000}{500} = 140 \]
💭 理解:如果吸烟与肺癌真的独立,那么:
• 吸烟的人中,患肺癌的比例应该和总体中患肺癌的比例相同(300/500 = 60%)
• 所以吸烟且患肺癌的期望人数 = 150(吸烟总数)× 60% = 90 人
• 这就是"期望频数"的含义:在独立性假设下,理论上应该有多少人
🔍 观察频数 vs 期望频数
关键区别:
| 特征 | 观察频数 | 期望频数 |
|---|---|---|
| 来源 | 实际观察到的数据 | 根据独立性假设计算的理论值 |
| 取值 | 必须是整数(0, 1, 2, ...) | 可以是小数(如 90.5) |
| 含义 | "实际有多少" | "理论上应该有多少" |
| 作用 | 描述实际情况 | 作为比较的基准(如果变量独立) |
🎯 卡方检验的核心思想:
比较观察频数和期望频数的差异。如果差异很大,说明观察到的数据与"变量独立"的假设不符,从而拒绝原假设,认为变量之间存在关联。
📊 p值与显著性水平详解
1. p值(P-value)
定义:p值是在原假设为真的前提下,观察到当前数据(或更极端数据)的概率。
📐 如何计算p值:
- 计算卡方统计量:根据观察频数和期望频数计算得到 χ² 值
- 确定自由度:df = (行数 - 1) × (列数 - 1)
- 查找卡方分布:根据自由度和卡方统计量,在卡方分布表中查找对应的概率
- 计算p值:p值 = P(χ² ≥ 计算得到的χ²值 | 原假设为真)
数学表达:\[ p = P(\chi^2 \geq \chi_{计算}^2 | H_0为真) \]
其中 \( H_0 \) 表示原假设(两个变量独立)
💡 p值的含义:
- p值很小(如 p < 0.05):说明在原假设为真的情况下,观察到当前数据的概率很小,因此有理由怀疑原假设,倾向于拒绝原假设
- p值较大(如 p ≥ 0.05):说明在原假设为真的情况下,观察到当前数据的概率较大,没有足够证据拒绝原假设
- p值不是:
- ❌ 原假设为真的概率
- ❌ 备择假设为真的概率
- ❌ 犯错误的概率
📝 计算示例:
假设我们计算得到 χ² = 8.5,自由度 df = 1
• 在卡方分布表中查找:当 df = 1 时,χ² = 3.841 对应的概率是 0.05
• 由于 8.5 > 3.841,说明 p值 < 0.05
• 更精确地,通过卡方分布函数计算:p值 ≈ 0.0035
• 这意味着:如果两个变量真的独立,观察到 χ² ≥ 8.5 的概率只有 0.35%
2. 显著性水平(Significance Level, α)
定义:显著性水平α是研究者事先设定的阈值,用于判断是否拒绝原假设。它表示我们愿意接受的犯第一类错误(错误地拒绝真原假设)的最大概率。
📐 如何设置显著性水平:
- 由研究者决定:α是研究者在进行检验之前就设定的,不是计算出来的
- 常见取值:
- α = 0.05(5%)—— 最常用
- α = 0.01(1%)—— 更严格,更难拒绝原假设
- α = 0.10(10%)—— 较宽松,更容易拒绝原假设
- 临界值计算:根据α和自由度,在卡方分布表中查找临界值 χ²α
\[ \chi^2_{\alpha} = \text{使得 } P(\chi^2 \geq \chi^2_{\alpha}) = \alpha \text{ 的值} \]
🎯 为什么通常取 α = 0.05?
- 历史传统:
- 由统计学家Ronald Fisher在20世纪初提出并推广
- 经过长期实践,0.05成为了统计学界的"金标准"
- 大多数统计软件和教科书默认使用0.05
- 平衡两类错误:
- 第一类错误(α):原假设为真,但错误地拒绝了它(假阳性)
- 第二类错误(β):原假设为假,但错误地接受了它(假阴性)
- α = 0.05 意味着我们愿意接受5%的假阳性率,这是一个相对合理的平衡点
- 实用考虑:
- 太严格(如α = 0.01):可能错过真实存在的关联(第二类错误增加)
- 太宽松(如α = 0.10):可能得出虚假的关联(第一类错误增加)
- 0.05 在严格性和敏感性之间取得了较好的平衡
- 领域差异:
- 医学研究:可能使用更严格的α = 0.01(因为错误结论代价高)
- 探索性研究:可能使用较宽松的α = 0.10(为了发现潜在关联)
- 社会科学:通常使用α = 0.05
🔗 p值与显著性水平的关系
判断规则:
| 情况 | 判断 | 解释 |
|---|---|---|
| p值 < α | 拒绝原假设 | 观察到的数据与原假设不一致,认为存在显著关联 |
| p值 ≥ α | 不能拒绝原假设 | 没有足够证据表明存在关联,但不能证明变量独立 |
📊 可视化理解:
想象卡方分布曲线(右偏分布):
• 临界值 χ²α:将分布曲线下的面积分为两部分,右侧面积 = α
• 计算得到的 χ²:如果落在临界值右侧(阴影区域),则 p值 < α,拒绝原假设
• p值:就是计算得到的 χ² 右侧曲线下的面积
\[ \text{如果 } \chi^2_{计算} > \chi^2_{\alpha} \text{,则 } p < \alpha \text{,拒绝 } H_0 \]
📋 完整计算流程示例
步骤1:设定显著性水平 α = 0.05
步骤2:计算卡方统计量,假设得到 χ² = 6.25
步骤3:确定自由度 df = (2-1) × (2-1) = 1
步骤4:查找临界值:当 df = 1, α = 0.05 时,χ²0.05 = 3.841
步骤5:比较:6.25 > 3.841,所以 χ²计算 > χ²临界
步骤6:计算p值:p ≈ 0.0124(通过卡方分布函数计算)
步骤7:判断:p值 (0.0124) < α (0.05),拒绝原假设
步骤8:结论:在0.05的显著性水平下,两个变量之间存在显著关联
🎛️ 交互控制面板
📖 使用说明
- 选择列联表类型:根据你的数据选择合适的表格大小,或选择自定义
- 输入观察频数:在表格中输入实际的观察数据
- 设置显著性水平:通常使用 0.05(5%),也可以根据需要调整
- 点击计算:系统会自动计算卡方统计量、p值和检验结果
- 解读结果:
- 如果 p值 < α,拒绝原假设,认为两个变量不独立(存在关联)
- 如果 p值 ≥ α,不能拒绝原假设,认为两个变量可能独立
⚠️ 注意事项
- 卡方检验要求期望频数不能太小,通常要求每个单元格的期望频数 ≥ 5
- 如果期望频数太小,可以考虑合并类别或使用Fisher精确检验
- 卡方检验只能检验变量间是否存在关联,不能说明关联的强度和方向
- 样本量要足够大,才能保证检验的有效性
📚 参考资源
卡方分布表在线资源:
- NIST(美国国家标准与技术研究院):
https://www.itl.nist.gov/div898/handbook/eda/section3/eda3674.htm
官方权威统计表,包含详细的卡方分布临界值表 - Social Science Statistics(交互式表格):
https://www.socscistatistics.com/tests/chisquare/table/default.aspx
交互式卡方分布表,可以快速查找不同自由度和显著性水平的临界值 - Statistics How To(详细教程):
https://www.statisticshowto.com/tables/chi-square-table/
包含卡方分布表和使用说明,适合初学者 - MedCalc(医学统计):
https://www.medcalc.org/manual/chi-square-table.php
医学统计专用,包含详细的卡方分布表和使用指南
💡 使用提示:在卡方分布表中,横轴是自由度(df),纵轴是显著性水平(α),交叉处的数值就是对应的临界值 χ²α。