为什么样本方差(sample variance)的分母是 n-1?
创建时间:2012-03-03 23:57:33
最后编辑:2016-10-12 04:38:05
这个问题本来有个非常正规的答案,就是说因为我们要得到方差的无偏估计,所以经过一通计算,可以算出来无偏估计的分母是 n - 1。
不过可能很多人和初学的我一样还是有疑惑:到底是因为什么原因,导致方差的无偏估计分母是 n - 1,而不是 n - 2, n - 3?产生这一奇怪数字背后的根本原因是什么?这背后有什么隐含的数学直觉?所以我觉得我应该来抛开计算,从直观的角度讲一下这个 n - 1 的分母是怎么来的。
在讲这个问题之前,先明确问题背景中的几个定义:
在抽样的时候,我们把每次抽样出来的样本叫 X_i , X_i 是从一个未知的分布采样出来的。这个未知的分布有一个均值 \mu 和一个方差 \sigma^2 ,要注意,因为分布是未知的,所以 \mu 和 \sigma^2 都是未知的。所以,我们的任务,是抽样出一系列的样本 X_1, X_2, \dots, X_n ,来估计 \mu 和 \sigma^2 的值。
估计均值 \mu 非常简单,就是计算样本的均值: \bar X=\frac{X_1+X_2+\dots+X_n}{n},这个应该没有什么异议。
问题出在对 \sigma^2 的估计上。对 \sigma^2 的无偏估计是
s^2=\frac{(X_1-\bar X)^2+(X_2-\bar X)^2+\dots+(X_n-\bar X)^2}{n-1}
分母是 n - 1。而不是最符合直觉的 \frac{(X_1-\bar X)^2+(X_2-\bar X)^2+\dots+(X_n-\bar X)^2}{n} 。
为什么方差的估计会这么反直觉?而实际上,方差的估计是符合直觉的,只是需要你稍微了解一下“自由度”这个东西。下面的内容会带你认识这一点。
要想理解这背后的数学直觉,不妨先考虑这样一个问题:
如果你只采样了一个样本 X_1 ,那么如何估计方差是正确的?我们先试着用 n 做分母来算一下:
因为只有一个样本,所以 \bar X=X_1,因此分子是 0,分母是 1,得到的结果是 0.
但是,0 这个估计,合理吗?显然不合理。我们目前只采样了一个样本,只有一个样本的时候我们连两个数字的差都没有,怎么可能估计出方差呢?这时,我们更合理的选择是说“我无法只从这一个样本来猜测方差”,而不是“我猜测这个方差是 0”。而对这个问题,不太符合直觉的无偏估计 s^2 会得到 \frac{0}{0} 无法计算的结果,这个结果显然更符合我们的想法。
那么,为什么用最符合直觉的分母是 n 的计算方法,得到的结果是不符合直觉的 0 呢?我们再来倒推一下计算过程:
为什么结果是 0?因为分子是 0;
为什么分子是 0?因为 \bar X=X_1 ;
为什么它俩相等?因为 \bar X 就是从 X_1 得到的,它俩其实就是同一个东西。
所以这代表什么呢?这代表,当我们有只一个样本的时候,分子虽然看上去有一项 (X_1-\bar X)^2 ,但实际上信息量是 0. 因此,我们不能从中得到任何结果。
相信现在你已经有一点模模糊糊的想法了。我们再类推到有两个样本的时候,加强这个想法。
当我们有两个样本的时候,分子有两项: (X_1-\bar X)^2 和 (X_2-\bar X)^2 . 这其中的信息量是多少呢?首先,我们是以 \bar X 作为基准,来计算每个样本的偏离程度的。要算第一个样本的偏离程度,毋庸置疑只能老老实实算 (X_1-\bar X);但是,第二个样本呢?计算 (X_2-\bar X) 吗?不,还有一个办法:因为 \bar X=\frac{X_1+X_2}{2} , X_1 和 X_2 其实是对于 \bar X 对称的。所以其实 (X_2-\bar X)=-(X_1-\bar X) !
发现没有?这次分子上看上去有两项,而实际上却只有一个的信息量!我们对这种现象可以有一个表述:就是(X_2-\bar X) 是不自由的,因为从之前的式子可以推出它。当然,对称地,我们也可以说 (X_1-\bar X) 是不自由的。总之,这两个式子当中,只有一个是自由的,所以我们称这两个式子的自由度为 1.
类似地,当我们有三个样本的时候,我们可以从 (X_1-\bar X), (X_2-\bar X) 中推出 (X_3-\bar X) ,自由度为 2;
以此类推,当我们有 n 个样本的时候,我们可以从 (X_1-\bar X), (X_2-\bar X)\dots 中推出 (X_n-\bar X) ,其自由度为 n - 1.
也就是说,当我们有 n 个样本的时候,我们虽然看起来在分子上做了 n 个减法,但实际上我们只算出了 n - 1 个偏差量。因此,做平均的时候,要除以的分母就是 n - 1,而不是第一眼认为的 n.
但是,为什么 n 个减法做完,自由度只有 n - 1?是谁从中搞鬼,偷走了一个自由度?
答案很简单,是 \bar X .
注意这个问题的背景,隐含的分布均值是\mu ,而 \mu 是未知的。\bar X 只是对 \mu 的估计。
由于 \mu 是未知的,所以在估计方差之前,我们会需要先找一个 \mu 的代替,也就是 \bar X . 也就是说,在用 \bar X 代替 \mu 的过程中,我们损失了一个自由度。
那么,如果问题的背景变了,我们知道隐含的分布均值 \mu ,只是不知道 \sigma^2 ,那我们该如何估计 \sigma^2 ?是 \frac{(X_1-\mu)^2+(X_2-\mu)^2+\dots+(X_n-\mu)^2}{n-1} ,还是 \frac{(X_1-\mu)^2+(X_2-\mu)^2+\dots+(X_n-\mu)^2}{n} ?
相信聪明的你一定能得到答案。这次的答案,变成了符合直觉的 \frac{(X_1-\mu)^2+(X_2-\mu)^2+\dots+(X_n-\mu)^2}{n} ,分母是 n,而不是那个怪异的 n - 1. 这个计算过程留作作业,用来巩固你的知识。
所以总结一下:方差估计的分母是 n - 1 而不是 n,原因是我们在计算过程使用了 \bar X 来代替均值 \mu (因为 \mu 是未知的),从而导致分子中的 n 项 (X_1-\bar X)^2+(X_2-\bar X)^2+\dots+(X_n-\bar X)^2 实际上只计算了 n - 1 个偏差值(也就是自由度为 n - 1)。因此,最合理的做法当然就是除以 n - 1 来得到平均的偏差值,来作为方差的估计。
更多回答
上面有答案解释得很明确,即样本方差计算公式里分母为n-1的目的是为了让方差的估计是无偏的。无偏的估计(unbiased estimator)比有偏估计(biased estimator)更好是符合直觉的,尽管有的统计学家认为让mean square error即MSE最小才更有意义,这个问题我们不在这里探讨;不符合直觉的是,为什么分母必须得是n-1而不是n才能使得该估计无偏。我相信这是题主真正困惑的地方。
要回答这个问题,偷懒的办法是让困惑的题主去看下面这个等式的数学证明:
\mathbb{E}\Big[\frac{1}{n-1} \sum_{i=1}^n\Big(X_i -\bar{X}\Big)^2 \Big]=\sigma^2.
但是这个答案显然不够直观(教材里面统计学家像变魔法似的不知怎么就得到了上面这个等式)。
下面我将提供一个略微更友善一点的解释。
==================================================================
===================== 答案的分割线 ===================================
==================================================================
首先,我们假定随机变量X的数学期望\mu是已知的,然而方差\sigma^2未知。在这个条件下,根据方差的定义我们有
\mathbb{E}\Big[\big(X_i -\mu\big)^2 \Big]=\sigma^2, \quad\forall i=1,\ldots,n,
由此可得
\mathbb{E}\Big[\frac{1}{n} \sum_{i=1}^n\Big(X_i -\mu\Big)^2 \Big]=\sigma^2.
因此\frac{1}{n} \sum_{i=1}^n\Big(X_i -\mu\Big)^2 是方差\sigma^2的一个无偏估计,注意式中的分母不偏不倚正好是n!
这个结果符合直觉,并且在数学上也是显而易见的。
现在,我们考虑随机变量X的数学期望\mu是未知的情形。这时,我们会倾向于无脑直接用样本均值\bar{X}替换掉上面式子中的\mu。这样做有什么后果呢?后果就是,
如果直接使用\frac{1}{n} \sum_{i=1}^n\Big(X_i -\bar{X}\Big)^2 作为估计,那么你会倾向于低估方差!
这是因为:
\begin{eqnarray} \frac{1}{n}\sum_{i=1}^n(X_i-\bar{X})^2 &=& \frac{1}{n}\sum_{i=1}^n\Big[(X_i-\mu) + (\mu -\bar{X}) \Big]^2\\ &=& \frac{1}{n}\sum_{i=1}^n(X_i-\mu)^2 +\frac{2}{n}\sum_{i=1}^n(X_i-\mu)(\mu -\bar{X}) +\frac{1}{n}\sum_{i=1}^n(\mu -\bar{X})^2 \\ &=& \frac{1}{n}\sum_{i=1}^n(X_i-\mu)^2 +2(\bar{X}-\mu)(\mu -\bar{X}) +(\mu -\bar{X})^2 \\ &=&\frac{1}{n}\sum_{i=1}^n(X_i-\mu)^2 -(\mu -\bar{X})^2 \end{eqnarray}
换言之,除非正好\bar{X}=\mu,否则我们一定有
\frac{1}{n}\sum_{i=1}^n(X_i-\bar{X})^2 <\frac{1}{n}\sum_{i=1}^n(X_i-\mu)^2 ,
而不等式右边的那位才是的对方差的“正确”估计!
这个不等式说明了,为什么直接使用\frac{1}{n} \sum_{i=1}^n\Big(X_i -\bar{X}\Big)^2 会导致对方差的低估。
那么,在不知道随机变量真实数学期望的前提下,如何“正确”的估计方差呢?答案是把上式中的分母n换成n-1,通过这种方法把原来的偏小的估计“放大”一点点,我们就能获得对方差的正确估计了:
\mathbb{E}\Big[\frac{1}{n-1} \sum_{i=1}^n\Big(X_i -\bar{X}\Big)^2\Big]=\mathbb{E}\Big[\frac{1}{n} \sum_{i=1}^n\Big(X_i -\mu\Big)^2 \Big]=\sigma^2.
至于为什么分母是n-1 而不是n-2或者别的什么数,最好还是去看真正的数学证明,因为数学证明的根本目的就是告诉人们“为什么”;暂时我没有办法给出更“初等”的解释了。
(補充一句哦,題主問的方差 estimator 通常用 moments 方法估計。如果用的是 ML 方法,請不要多想不是你們想的那樣, 方差的 estimator 的期望一樣是有 bias 的,有興趣的同學可以自己用正態分佈算算看。)
本來,按照定義,方差的 estimator 應該是這個:
但,這個 estimator 有 bias,因為:
而 (n-1)/n * σ² != σ² ,所以,為了避免使用有 bias 的 estimator,我們通常使用它的修正值 S²: