跳到主要内容
CalcMax

卡方计算器

结果

20.0000

卡方统计量

P 值
0.0170%
自由度
3
最小的期望频数
25.0000

卡方计算器把你数出来的各类别计数拿去和你期望的频数比一比:这几个组是不是一样大。骰子均不均匀、四个选项是不是被同样多的人选、每个类别的观测频数与你事先有理由预期的期望频数对不对得上——这些拟合优度问题背后是同一个检验,它给出卡方统计量、自由度与 P 值。期望频数留空,页面就假定各类别等可能,这既是最常见的情形,也是唯一不需要先做算术的用法。最小期望频数会一并印出来,因为检验自身的使用条件正是拿这个数去核对的。

公式

χ² = Σ ( O − E )² / E df = k − 1 p = P( χ² ≥ χ²₀ )

O
每个类别的观测频数——它是计数不是测量值,所以都是整数,加起来就是样本量。允许出现 0:它表示这个类别一次都没出现,那是一个结果而不是一个错误
E
每个类别的期望频数,它是原假设预测的值,不是你希望看到的值。留空时它变成总数除以类别数,于是检验问的就是各类别是否等可能
k
类别的个数,直接从你敲进去的那串数的长度读出来。它决定了自由度,也是期望频数留空时用来平分的那个数,所以一串计数同时定下了两者
df
自由度,等于 k − 1 而不是 k。那个减法正是大家会忘掉的地方:总数和除一个以外的所有计数都定下来之后,最后一个计数也就定了,所以这些类别携带的信息比它们的个数少一条
χ²₀
这一页算出来的那个统计量,把它代回它自己的原假设分布里去取尾部面积。这件事和从正态曲线上读一个概率是同一个操作,只是把正态曲线换成了卡方曲线——也正是为什么 P 值除了统计量还需要自由度

数据是一组落进各个类别的计数、而问题在于这些计数与某个预期是否相符时用它。计数正是这个检验与均值、比例那两个不同的地方:观测不是量在某个刻度上的,要紧的是每个桶里落进了多少个,而不是其中任何一个有多大。那个预期可以是一个均分,也可以是一组从以往数据搭出来的期望频数——把全国的比率套到一个地方人群上、孟德尔比例、某个模型的输出。检验的好坏完全取决于这组期望:它拿你数到的去和你说的比,而它对「这个预期本身就是错的」毫无察觉。信这个 P 值之前有两条使用条件值得核一下,页面已经替你把第一条印了出来,因为最小期望频数正是那条常见经验法则所针对的数。

算例

  1. 四个类别数得不均匀,期望频数留空

    1. 总数是 100,期望留空时每个类别预期各有 100 / 4 = 25
    2. 与 25 的差的平方:(30 − 25)² = 25、(10 − 25)² = 225、(20 − 25)² = 25、(40 − 25)² = 225
    3. 各自除以它的期望 25 再相加:1 + 9 + 1 + 9 = 20
    4. 自由度 k − 1 = 3,20 以上的上侧尾部面积是 0.017%

    这是本页的默认值,挑它就是为了让它明显不均匀:40 和 10 对着各 25 的期望。P 值算出来是 0.017%,说明这些计数离均分该有的样子很远;而最小期望频数 25 稳稳高于任何常用阈值,所以这个 P 值背后的近似在这份数据上是站得住的。注意期望频数根本不需要敲进去——把那个框留空就是「均分」的表达方式,也是这个字段之所以可选的全部理由。

  2. 三个类别,对着一次早先调查得到的期望频数

    1. 两组数都是 100,所以这个预期与计数是相称的,检验可以往下做
    2. 差的平方:(50 − 60)² = 100、(30 − 30)² = 0、(20 − 10)² = 100
    3. 各除以自己的期望再相加:100/60 + 0/30 + 100/10 = 1.6667 + 0 + 10 = 11.6667
    4. 自由度 3 − 1 = 2,11.6667 以上的上侧尾部面积是 0.2928%

    两组数必须描述同样多的观测,这里两组都等于 100——正是这一点让第二组成为关于第一组的一个假设,而不是另一次实验。逐项读下来很说明问题:中间那个类别与它的期望严丝合缝,一点没贡献;而第三项尽管是最小的类别,却贡献了 11.67 里的 10,因为它偏离期望整整 100%。最小期望 10 仍然高于通常要求的水平。

  3. 掷 20 次硬币,对着均分检验

    1. 期望计数:20 次投掷均分给两个结果,各是 10
    2. 差的平方:(12 − 10)² = 4 与 (8 − 10)² = 4
    3. 各自相除再相加:4/10 + 4/10 = 0.8
    4. 自由度 2 − 1 = 1,0.8 以上的上侧尾部面积是 37.1093%

    20 次里出 12 次正面,在读完尾部概率之前看着像是一枚有偏的硬币:公平硬币里有 37% 会出现至少这么不均匀的分配,所以这个结果平平无奇。这和第 1 条算例是同一个算术,只是放在最小的那张有用的表上,它也说明了为什么统计量从来不能单独读——0.8 和 20 不是可以放在一起比的数,只有 P 值把它们放到了同一把尺上。两个类别的情形还有一个值得知道的捷径:卡方统计量等于两比例检验所用的那个 z 的平方。

局限

这个 P 值依赖一条近似,它要求期望频数别太小,而印出来的最小期望频数就是拿来核对这一点的数——各家教材对门槛划在哪儿并不一致,「每个类别至少 5」和「每个类别至少 1、且多数类别至少 5」都有人在用。期望太小时这条近似会悄悄地失效,返回一个看起来平平无奇的 P 值。计数还被假定相互独立,配对或重复测量下不成立,整群抽样下也不成立,而这两种情况都会让统计量偏大。期望本身是被当作给定值收下的,所以拿一个错误的预期去做检验,回答的是另一个问题。最后一个小的 P 值只说明计数与这个预期不相容,它不说为什么:它不告诉你是哪个类别造成的,类别一多,那个把统计量顶上去的差别值得单独再看一眼。

常见问题

卡方检验到底告诉了我什么?
它告诉你观测到的计数与你期望的频数是否相符,前提是知道一共有多少个观测。统计量随观测与期望之间偏差的平方和增长,并按每个期望有多大来折算,所以同样比例的差距在期望值小时算得更重。P 值接着说明:一个「什么都没发生」的世界里,有多经常会出现至少这么大的偏差。它检验的是整张表而不是某一个类别,而当一个类别明显是个异类时,这两件事很容易被混为一谈。
期望频数留空会怎样?
页面就假定各类别等可能,把期望频数算成总数除以类别数。这是这个检验最常见的用法——骰子、转盘、四个本该分到差不多流量的按钮——而且省掉了敲一串本来就全是一样的数。在没有任何以往数据可以用来预测分配时,它也是唯一可用的读法。手上有真正的预期可以对着检验时就把它敲进去,比如去年的分布或者一个理论比例,因为对着均分的检验和对着某个具体模型的检验回答的是不同的问题,只有后者用上了你已有的信息。
为什么两组数加起来必须相等?
因为拟合优度检验里的期望频数是从观测总数推出来的,不是随便挑的——它们描述的是「如果这个假设成立,同一批观测会怎么分布」。两组数总数不同,描述的就是两次不同的实验,从它们算出来的统计量不是在检验任何东西。当期望频数都写成整数时,每一个都可能因为四舍五入而差出半个单位而不改变原意,所以页面允许每个类别 0.5 的容差:总数 60 时填 20.5、20.5、20.5 是接受的,因为那正是「各 20」这个精确均分的取整写法。
某个类别的计数可以是 0 吗?
观测频数可以,期望频数不行,而这个不对称直接来自公式。观测到 0 是一个普通结果——这个类别一次都没出现——差的平方反而会很大,而这正是应该发生的。期望频数不能为 0,因为它是除数,那一项会变成无穷:一个类别「永远不可能出现」的预测,不是这个检验能拿来和计数相权衡的预测。如果真实的期望只是很小而不是 0,检验会收下它,而结果下面印出的最小期望频数就是看它是不是有问题的那个地方。
卡方临界值表在哪?
不在这页,理由和 P 值那一页一样:真正要用的那一个值已经印出来了,因为统计量连同它的自由度直接决定了尾部面积。任何表还得挑一个显著性水平来造,于是按 1% 工作的读者会看到一张与面板打架的表。查表该去临界值那个工具。这一页还多一层连表都列不出来的理由:它的自由度是 k − 1,而 k 是读者敲进去的类别数,所以在计数敲完之前,表里该看哪一行根本不知道。

参考资料

相关计算器