📊 卡方检验演示

交互式卡方检验(Chi-square Test)统计方法演示

← 返回主页

📚 什么是卡方检验?

卡方检验(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值:

  1. 计算卡方统计量:根据观察频数和期望频数计算得到 χ² 值
  2. 确定自由度:df = (行数 - 1) × (列数 - 1)
  3. 查找卡方分布:根据自由度和卡方统计量,在卡方分布表中查找对应的概率
  4. 计算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?

  1. 历史传统:
    • 由统计学家Ronald Fisher在20世纪初提出并推广
    • 经过长期实践,0.05成为了统计学界的"金标准"
    • 大多数统计软件和教科书默认使用0.05
  2. 平衡两类错误:
    • 第一类错误(α):原假设为真,但错误地拒绝了它(假阳性)
    • 第二类错误(β):原假设为假,但错误地接受了它(假阴性)
    • α = 0.05 意味着我们愿意接受5%的假阳性率,这是一个相对合理的平衡点
  3. 实用考虑:
    • 太严格(如α = 0.01):可能错过真实存在的关联(第二类错误增加)
    • 太宽松(如α = 0.10):可能得出虚假的关联(第一类错误增加)
    • 0.05 在严格性和敏感性之间取得了较好的平衡
  4. 领域差异:
    • 医学研究:可能使用更严格的α = 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的显著性水平下,两个变量之间存在显著关联

🎛️ 交互控制面板

α (alpha): 0.05

📖 使用说明

  1. 选择列联表类型:根据你的数据选择合适的表格大小,或选择自定义
  2. 输入观察频数:在表格中输入实际的观察数据
  3. 设置显著性水平:通常使用 0.05(5%),也可以根据需要调整
  4. 点击计算:系统会自动计算卡方统计量、p值和检验结果
  5. 解读结果:
    • 如果 p值 < α,拒绝原假设,认为两个变量不独立(存在关联)
    • 如果 p值 ≥ α,不能拒绝原假设,认为两个变量可能独立

⚠️ 注意事项

  • 卡方检验要求期望频数不能太小,通常要求每个单元格的期望频数 ≥ 5
  • 如果期望频数太小,可以考虑合并类别或使用Fisher精确检验
  • 卡方检验只能检验变量间是否存在关联,不能说明关联的强度和方向
  • 样本量要足够大,才能保证检验的有效性

📚 参考资源

卡方分布表在线资源:

💡 使用提示:在卡方分布表中,横轴是自由度(df),纵轴是显著性水平(α),交叉处的数值就是对应的临界值 χ²α