为什么计算样本标准差时,除以 N-1 而不是 N

930 阅读2分钟

标准差是度量数据集离散度的一个重要指标,但是,本篇讨论的不是标准差的作用和意义,
而是标准差计算中的一个细节问题。

实际情况下,一般会接触到两种标准差:总体标准差样本标准差,其中样本标准差是最常用的。

1. 总体标准差

总体标准差的计算公式:σ=1Ni=1N(xiμ)2\sigma = \sqrt{\frac{1}{N} \sum_{i=1}^N (x_i - \mu)^2}
其中,NN是总的数据个数,xix_i表示每个数据,
μ\mu是所有数据的平均值,即:μ=1Ni=1Nxi\mu = \frac{1}{N} \sum_{i=1}^N x_i

从公式来看,总体标准差很好理解,目的就是度量数据集中的数据偏离平均值的情况。

2. 样本标准差

再来看样本标准差公式:s=1N1i=1N(xixˉ)2s = \sqrt{\frac{1}{N-1} \sum_{i=1}^N (x_i - \bar{x})^2}
其中,NN是样本集的数据个数,xix_i表示每个样本数据,
xˉ\bar{x}是样本数据的平均值,即:xˉ=1Ni=1Nxi\bar{x} = \frac{1}{N} \sum_{i=1}^N x_i

从公式可以看出,样本标准差计算时,用的1N1\frac{1}{N-1},而不是1N\frac{1}{N }

3. 为什么除以 (N-1)

为了区分总体标准差中的数据个数,下面用NallN_{all}表示总体标准差中的数据个数,
NsamplesN_{samples}表示样本标准差中的数据个数。

实际的数据分析中,常用的分析指标是样本标准差总体标准差用的很少。
因为,总体数据量往往很庞大,而且新的数据不断产生,导致所谓的总体数据也不断变化。
比如,对于民意调查结果,新闻内容,天气数据,股市交易等等,都是抽样做分析。

既然是抽样分析,那么,计算样本标准差时,是得不到整体数据的平均值 μ\mu的。
所以在样本标准差的计算公式中,我们用的是样本的平均值 xˉ\bar{x},而不是整体的平均值 μ\mu

直观上来看,样本的平均值 xˉ\bar{x}会要比整体的平均值 μ\mu更接近样本数据集中的数据,
所以,理论上i=1Nsamples(xixˉ)2\sum_{i=1}^{N_{samples}} (x_i - \bar{x})^2要比 i=1Nsamples(xiμ)2\sum_{i=1}^{N_{samples}} (x_i - \mu)^2的值小一些。
因此, 1Nsamplesi=1Nsamples(xixˉ)2\frac{1}{N_{samples}}\sum_{i=1}^{N_{samples}} (x_i - \bar{x})^2也比 1Nsamplesi=1Nsamples(xiμ)2\frac{1}{N_{samples}}\sum_{i=1}^{N_{samples}} (x_i - \mu)^2的值要小。

为了调整这个偏差,让样本标准差能够更接近总体的标准差
样本标准差公式中除以 Nsamples1N_{samples}-1而不是 NsamplesN_{samples}
相当于调高了样本标准差的值,使之更接近**总体的标准差 **。

4. 补充

通过(Nsamples1N_{samples}-1)调节样本标准差的过程也被称作贝塞尔校正Bessel's correction),
它的数学推导过程可以参考:贝塞尔校正