上面有答案解释得很明确,即样本方差计算公式里分母为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 
-(\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-2n+1或者别的什么数,参见上面其他知友的答案;我没有办法给出更“初等”的解释了。

来源:知乎 www.zhihu.com

作者:知乎用户(登录查看详情)

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载

此问题还有 39 个回答,查看全部。
延伸阅读:
方差为什么能表示离散程度?
已知数列 an 满足a1=1 a(n+1)=an/(2^n*an+1)

分享到