为什么样本方差(sample variance)的分母是 n-1?

为什么样本方差(sample variance)的分母是 n-1?

SleepyBag,微软内推

这个问题本来有个非常正规的答案,就是说因为我们要得到方差的无偏估计,所以经过一通计算,可以算出来无偏估计的分母是 n - 1。

不过可能很多人和初学的我一样还是有疑惑:到底是因为什么原因,导致方差的无偏估计分母是 n - 1,而不是 n - 2, n - 3?产生这一奇怪数字背后的根本原因是什么?这背后有什么隐含的数学直觉?所以我觉得我应该来抛开计算,从直观的角度讲一下这个 n - 1 的分母是怎么来的。


在讲这个问题之前,先明确问题背景中的几个定义:

在抽样的时候,我们把每次抽样出来的样本叫

是从一个未知的分布采样出来的。这个未知的分布有一个均值

和一个方差

,要注意,因为分布是未知的,所以 都是未知的。所以,我们的任务,是抽样出一系列的样本

,来估计

的值。

估计均值

非常简单,就是计算样本的均值:

,这个应该没有什么异议。

问题出在对

的估计上。对

的无偏估计是

分母是 n - 1。而不是最符合直觉的

为什么方差的估计会这么反直觉?而实际上,方差的估计是符合直觉的,只是需要你稍微了解一下“自由度”这个东西。下面的内容会带你认识这一点。


要想理解这背后的数学直觉,不妨先考虑这样一个问题:

如果你只采样了一个样本 ,那么如何估计方差是正确的?我们先试着用 n 做分母来算一下:

因为只有一个样本,所以

,因此分子是 0,分母是 1,得到的结果是 0.

但是,0 这个估计,合理吗?显然不合理。我们目前只采样了一个样本,只有一个样本的时候我们连两个数字的差都没有,怎么可能估计出方差呢?这时,我们更合理的选择是说“我无法只从这一个样本来猜测方差”,而不是“我猜测这个方差是 0”。而对这个问题,不太符合直觉的无偏估计

会得到

无法计算的结果,这个结果显然更符合我们的想法。

那么,为什么用最符合直觉的分母是 n 的计算方法,得到的结果是不符合直觉的 0 呢?我们再来倒推一下计算过程:

为什么结果是 0?因为分子是 0;

为什么分子是 0?因为

为什么它俩相等?因为

就是从

得到的,它俩其实就是同一个东西。

所以这代表什么呢?这代表,当我们有只一个样本的时候,分子虽然看上去有一项

,但实际上信息量是 0. 因此,我们不能从中得到任何结果。


相信现在你已经有一点模模糊糊的想法了。我们再类推到有两个样本的时候,加强这个想法。

当我们有两个样本的时候,分子有两项:

. 这其中的信息量是多少呢?首先,我们是以

作为基准,来计算每个样本的偏离程度的。要算第一个样本的偏离程度,毋庸置疑只能老老实实算

;但是,第二个样本呢?计算

吗?不,还有一个办法:因为

其实是对于

对称的。所以其实

发现没有?这次分子上看上去有两项,而实际上却只有一个的信息量!我们对这种现象可以有一个表述:就是 是不自由的,因为从之前的式子可以推出它。当然,对称地,我们也可以说

是不自由的。总之,这两个式子当中,只有一个是自由的,所以我们称这两个式子的自由度为 1.

类似地,当我们有三个样本的时候,我们可以从

中推出

,自由度为 2;

以此类推,当我们有 n 个样本的时候,我们可以从

中推出

,其自由度为 n - 1.

也就是说,当我们有 n 个样本的时候,我们虽然看起来在分子上做了 n 个减法,但实际上我们只算出了 n - 1 个偏差量。因此,做平均的时候,要除以的分母就是 n - 1,而不是第一眼认为的 n.


但是,为什么 n 个减法做完,自由度只有 n - 1?是谁从中搞鬼,偷走了一个自由度?

答案很简单,是

.

注意这个问题的背景,隐含的分布均值是 ,而 是未知的。 只是对 的估计

由于

是未知的,所以在估计方差之前,我们会需要先找一个

的代替,也就是

. 也就是说,在用 代替 的过程中,我们损失了一个自由度

那么,如果问题的背景变了,我们知道隐含的分布均值

,只是不知道

,那我们该如何估计

?是

,还是

相信聪明的你一定能得到答案。这次的答案,变成了符合直觉的

,分母是 n,而不是那个怪异的 n - 1. 这个计算过程留作作业,用来巩固你的知识。


所以总结一下:方差估计的分母是 n - 1 而不是 n,原因是我们在计算过程使用了

来代替均值

(因为

是未知的),从而导致分子中的 n 项

实际上只计算了 n - 1 个偏差值(也就是自由度为 n - 1)。因此,最合理的做法当然就是除以 n - 1 来得到平均的偏差值,来作为方差的估计。