Menu

卡方检验计算器

列联表独立性检验或拟合优度检验,每个期望频数都精确计算。

作者 Nethanel Bar, 联合创始人兼 CEO

最后更新

想不用计算器也能解出这些题?

Coddy 数学课程教的是方法本身:你在交互式白板上完成每一步,哪一步出错都会准确告诉你。

卡方检验衡量的是频数离预期有多远

每个卡方检验都在比较一张观测频数表和某个假设预测的频数。独立性检验的假设是行变量和列变量毫无关系,所以每个期望频数等于行合计乘以列合计,再除以总计。拟合优度检验的假设是一组比例,比如公平骰子的等比例,或孟德尔豌豆的 9:3:3:1,再按你的总数缩放。无论哪种,统计量都是同一个求和:对每个单元格,观测值减期望值,平方,再除以期望值。

这个求和是精确的。频数为 20、30、30、20 的 2×2 表,每个期望频数都等于 25,卡方正好是 4;更复杂的表会有 350/3 这样的期望频数,本页面会保留 350/3,而不是写成 116.67,所以你看到的统计量是真实值,而不是五个四舍五入项的和。无法精确的是 P 值,它是卡方曲线下统计量右侧的面积;页面会画出这条尾部,并把这个数字标注为它所代表的面积。

答案下方的表格,正是学生考试要考、而大多数计算器省略的部分:每个单元格的观测频数、期望频数,以及它对统计量的贡献。它还能显示关联出现在哪里。在大表格里,往往一两个单元格就贡献了卡方的大部分,贡献值这一列会把它们指出来。对列联表给出的克莱姆 V 系数(Cramér’s V),把统计量转换成 0 到 1 之间的效应量,可以在不同大小的表格之间比较。

关于卡方检验你需要知道的

  • 列联表的自由度是(行数 − 1)(列数 − 1),拟合优度检验的自由度是类别数 − 1。不管频数是多少,2×2 表的自由度都是 1。
  • 期望频数小于 5 时,近似会变得粗糙。页面发现这种情况会给出提醒;2×2 表通常改用费希尔精确检验,其他情况通常的做法是合并稀疏的类别。
  • 这个检验永远是右尾检验。卡方小说明频数符合假设;只有卡方大才是反对假设的证据。
  • 显著不等于关联强。数据足够多时,很微弱的关联也会显著;克莱姆 V 系数说明关联有多强,0.1 为弱,0.3 为中等,0.5 为强。
  • 用频数,不用百分比。统计量取决于观测的实际数量;丢掉了总数的百分比表格无法检验。

怎样手算卡方检验

  1. 列出观测频数

    行是一个变量的各个类别,列是另一个变量的各个类别。算出每行、每列以及整张表的合计。

  2. 计算每个期望频数

    行合计乘以列合计,再除以总计。保留分数,因为接下来要对它们平方。

  3. 计算每个单元格的贡献值

    观测值减期望值,平方,再除以期望值。把它们全部加起来,总和就是卡方统计量。

  4. 求自由度和 P 值

    (行数 − 1)(列数 − 1)。P 值是该自由度下卡方曲线的右尾面积;拿它和 alpha 比较,或者拿统计量和临界值比较。

卡方临界值

统计量必须超过这些值,结果才在对应水平上显著。

自由度α = 0.10α = 0.05α = 0.01
12.7063.8416.635
24.6055.9919.210
36.2517.81511.345
47.7799.48813.277
59.23611.07015.086
914.68416.91921.666

计算示例

一张 2×2 表

plain
20, 30 / 30, 20

行合计 50 和 50,列合计 50 和 50,总计 100,所以每个期望频数都是 50 × 50 / 100 = 25。每个单元格贡献 25/25 = 1,卡方正好是 4,自由度为 1,P 值约为 0.046。在 5% 水平上刚好显著;克莱姆 V 系数为 0.2,属于弱关联。

骰子公平吗?

plain
10, 12, 8, 11, 9, 10 over six faces

掷了 60 次,所以每个面期望 10 次。各面的贡献值分别是 0、0.4、0.4、0.1、0.1 和 0,卡方正好是 1,自由度为 5,P 值约为 0.96。没有任何迹象表明这颗骰子做了手脚。

孟德尔的豌豆

plain
315, 108, 101, 32 against 9 : 3 : 3 : 1

总数是 556,所以期望频数是 556 × 9/16 = 312.75、104.25、104.25 和 34.75。卡方约为 0.47,自由度为 3,P 值约为 0.93:这些频数和 9:3:3:1 的预测吻合得几乎好到可疑,这本身就是一个著名的争论。

卡方检验的常见错误

  • 对百分比做检验。先把它们换回频数;统计量会随观测数量变化。
  • 把期望频数四舍五入。116.67 平方再相除,和 350/3 平方再相除不是一回事;每个单元格的小误差会在整张表上累加起来。
  • 忽略小于 5 的期望频数。卡方曲线只是一种近似,在稀疏的单元格里会变差;合并类别,或者改用精确检验。
  • 把大的卡方值当成强关联。它会随样本量增大;衡量关联强度的是克莱姆 V 系数。
  • 用错自由度。3×4 表的自由度是 6,不是 11,也不是 12。
  • 做双尾卡方检验。这个检验本身就是单尾的;很小的统计量只能说明拟合得好,不能证明别的。

卡方检验常见问题

卡方统计量怎么计算?

对每个单元格,用观测频数减去期望频数,把结果平方,再除以期望频数。把所有单元格的这些项加起来。对列联表,期望频数是行合计乘以列合计再除以总计;对拟合优度检验,期望频数是总数乘以该类别的期望比例。

独立性检验和拟合优度检验有什么区别?

独立性检验作用于一张二维表,检验行变量和列变量是否相关;它的期望频数来自表格自身的边际合计。拟合优度检验作用于一列频数,检验它们是否符合你事先指定的比例,比如等比例或某个遗传比例。

卡方检验的 P 值怎么求?

它是在检验的自由度下,卡方曲线位于统计量右侧的面积。自由度为 1 时,卡方 3.841 对应 p = 0.05;统计量越大,P 值越小。页面会直接计算这块面积,并在曲线上用阴影标出。

期望频数小于 5 怎么办?

卡方近似会变得不可靠。通常的建议是每个期望频数都至少为 5,最宽松的标准是小于 5 的不超过五分之一,并且没有一个小于 1。2×2 表改用费希尔精确检验;更大的表就合并稀疏的类别。页面发现这种情况时会标出来。

克莱姆 V 系数是什么?

列联表的一种效应量:卡方除以样本量与(行数 − 1)、(列数 − 1)中较小者的乘积,再开平方。它的范围从 0(无关联)到 1(完全关联),而且和卡方本身不同,它不会仅仅因为样本变大而变大。

频数较小的 2×2 表能用卡方检验吗?

要谨慎使用。期望频数都在 5 及以上时没有问题;有时会使用耶茨连续性校正,不过它往往偏保守。低于这个标准时,费希尔精确检验会计算出这张表的精确概率,是标准的选择。

为什么这个页面把期望频数保留为分数?

因为统计量是差值的平方除以这些频数之后的总和,平方之前把每个期望频数四舍五入,会给每一项都带入一点误差。期望频数 350/3 就是精确的 350/3;116.67 不是。保留分数,你看到的卡方才是你输入的这张表的真实值。

更多数学工具

Coddy 编程语言插图

和 Coddy 一起学数学

开始