📝 博客 · · ⏱ 13 分钟

方差和标准差怎么算?样本与总体的区别

为什么样本方差要除以 n−1?贝塞尔校正的原理讲透,附 10 个数的完整手算表格、变异系数 CV 的用法、正态分布 68-95-99.7 法则与 1.5×IQR 异常值判定。

统计学数学数据分析

方差和标准差怎么算?样本与总体的区别

Excel 里有 STDEV.P 和 STDEV.S 两个函数,一个除以 n,一个除以 n−1,同一组数据算出来的结果能差百分之五。选错函数,你的分析报告从第一步就偏了。这篇文章用一组 10 个数的完整手算表格讲清两者的差别,说明 n−1 这个反直觉的分母到底从哪来,再把变异系数、正态分布法则和异常值判定这三个配套工具一次讲完。

从平均数到方差:为什么要平方

先看一个问题。两个班的数学平均分都是 81,能说这两个班水平一样吗?

甲班:79、80、81、82、83

乙班:60、70、81、92、102

平均数完全相同,但显然乙班的分化严重得多。要量化这种「分散程度」,最自然的想法是算每个数据偏离平均数多远,然后取平均。

问题来了:离差之和恒等于零。甲班的离差是 −2、−1、0、+1、+2,加起来正好抵消。这不是巧合,而是平均数的定义决定的——平均数就是让所有离差之和为零的那个点。

解决办法有两个。取绝对值得到「平均绝对偏差」,这在数学上可行但绝对值函数不可导,后续推导很麻烦。于是统计学选了另一条路:先平方再求平均。平方既消除了符号,又保持了良好的数学性质(可导、可分解),代价是量纲变成了「分的平方」,所以最后要开方还原成原来的单位,这就是标准差。

一句话概括三者关系:离差反映单个数据的偏离,方差是离差平方的平均,标准差是方差开方后回到原量纲的结果。

总体方差与样本方差:n 还是 n−1

这是全篇最核心的区分。

总体方差(population variance),当你手上的数据就是研究对象的全部时使用:

σ² = Σ(xᵢ − μ)² / N
σ  = √σ²

样本方差(sample variance),当数据只是从更大群体中抽出的一部分时使用:

s² = Σ(xᵢ − x̄)² / (n − 1)
s  = √s²

分母上的 n−1 叫自由度,这个修正叫贝塞尔校正(Bessel's correction)。

为什么要减 1?直觉解释是这样的:计算样本方差时,我们用样本均值 x̄ 代替了真实的总体均值 μ。而样本均值有个特殊性质——它是使离差平方和达到最小的那个点。换句话说,用 x̄ 算出的平方和,一定小于等于用任何其他数(包括真实的 μ)算出的平方和。

结果就是,如果直接除以 n,得到的方差会系统性地偏小,是对总体方差的有偏估计。数学上可以证明,除以 n−1 恰好能消除这个偏差,使 s² 成为 σ² 的无偏估计量。

另一个角度是自由度。一旦均值 x̄ 确定,最后一个数据就不再自由——它必须取某个特定值才能让均值成立。真正独立的信息只有 n−1 个,分母应该是独立信息的个数

对比项总体方差 σ²样本方差 s²
分母Nn − 1
均值符号μ
使用条件数据涵盖全部研究对象数据是抽样得到
估计性质精确值无偏估计
Excel 函数VAR.P / STDEV.PVAR.S / STDEV.S
数值大小较小较大

实际选择的判断标准很简单:问自己「我关心的对象,数据是不是全都在这里」。统计全班 45 人的身高来描述这个班,用总体公式;抽 45 人来推断全校,用样本公式。工程测量中重复测同一个量 10 次求不确定度,属于抽样,用样本公式。企业统计本月全部 1,200 笔订单的金额分布,数据就是全部,用总体公式。

实务中一个经验法则:拿不准时用样本公式。 因为绝大多数真实场景都是抽样,而且样本公式给出的估计更保守(数值更大),不容易低估风险。当 n 很大时(比如超过 100),n 和 n−1 的差别不到 1%,选哪个都无所谓。

完整手算示例:一组 10 个数

数据:某小组 10 人的测验成绩 82、76、90、68、85、79、93、71、88、78

第一步,求平均数。

总和 = 82 + 76 + 90 + 68 + 85 + 79 + 93 + 71 + 88 + 78 = 810

平均数 x̄ = 810 ÷ 10 = 81

第二步,逐个计算离差和离差平方。

序号数值 xᵢ离差 (xᵢ − 81)离差平方
182+11
276−525
390+981
468−13169
585+416
679−24
793+12144
871−10100
988+749
1078−39
合计8100598

注意离差列的合计正好是 0,这是最好的中间校验点——如果离差之和不为零,说明前面某一步算错了,立刻回查,不要继续往下算。

第三步,分别按两种口径计算。

指标总体口径样本口径
平方和598598
分母109
方差59.8066.44
标准差7.738.15
相对差异基准+5.4%

标准差相差 5.4%,在 n = 10 这个量级上差异已经相当可观。如果 n = 5,差异会扩大到约 11.8%;n = 100 时缩小到约 0.5%。这就是为什么小样本时必须格外注意口径。

第四步,怎么解读这个结果。 平均分 81、样本标准差 8.15,意味着这组数据大部分集中在 81 ± 8.15,也就是 72.85 到 89.15 之间。数值上看,10 个数里有 6 个落在这个区间,符合预期。手算容易在平方那一步出错,建议用标准差方差计算器复核一遍。

变异系数:跨量纲比较离散程度

标准差有个致命局限——它带量纲,无法跨对象比较

举个例子。A 产品均价 ¥50,标准差 ¥5;B 产品均价 ¥500,标准差 ¥20。哪个价格更不稳定?直接看标准差会说 B(20 > 5),但这个判断是错的。

变异系数(Coefficient of Variation)解决了这个问题:

CV = 标准差 ÷ 平均数 × 100%

A 产品:CV = 5 ÷ 50 = 10%

B 产品:CV = 20 ÷ 500 = 4%

A 才是波动更剧烈的那个。 CV 消除了量纲和数量级的影响,衡量的是「相对波动」。

回到前面的成绩例子,CV = 8.15 ÷ 81 = 10.06%

CV 的常见应用场景有三类。投资分析中,年化 8%、波动率 12% 的基金 CV 是 1.5,年化 20%、波动率 40% 的 CV 是 2.0,前者性价比更高。质量控制中,通常认为 CV < 10% 为稳定、10%~20% 为中等、> 20% 为不稳定。实验室检测中,临床生化项目一般要求 CV < 5%。

使用 CV 有两个前提必须满足:数据必须是比率尺度(有绝对零点),摄氏温度这种间隔尺度不能用(10℃ 和 20℃ 的比值没有意义);平均数不能接近零,否则 CV 会趋于无穷大。计算过程中如果涉及分数形式的中间结果,用分数计算器保留精确值比用小数更准确。

正态分布的 68-95-99.7 法则

如果数据近似服从正态分布,标准差就有了非常直观的含义:

区间覆盖比例落在区间外的概率通俗说法
μ ± 1σ68.27%约 1/3大多数
μ ± 2σ95.45%约 1/22绝大多数
μ ± 3σ99.73%约 1/370几乎全部
μ ± 4σ99.994%约 1/15,787极罕见
μ ± 6σ99.9999998%约 1/5 亿六西格玛质量标准

用成绩的例子(μ = 81,σ = 8.15)来解读:约 68% 的人在 72.9~89.2 分之间,约 95% 的人在 64.7~97.3 分之间,超出 56.6~105.4 分范围的概率不到 0.3%。

这个法则最实用的地方是快速判断一个观测值有多异常。把观测值换算成 Z 分数:

Z = (x − μ) / σ

Z = 1 意味着高于平均一个标准差(约排在前 16%),Z = 2 约排在前 2.3%,Z = 3 约排在前 0.13%。上例中考 93 分的人,Z = (93 − 81) / 8.15 = 1.47,大约排在前 7%。

Z 分数的另一个价值是让不同考试的成绩可比。语文 85 分(均值 80、标准差 5,Z = 1.0)和数学 70 分(均值 60、标准差 8,Z = 1.25),虽然 85 > 70,但相对表现是数学更好。

需要提醒的是,这个法则只对近似正态的数据成立。收入、房价、公司规模这类右偏分布用它会严重误判——收入分布中「均值加两倍标准差」远远覆盖不到 95% 的人群。判断数据是否近似正态,最简单的办法是看直方图是否单峰对称,或者比较均值与中位数是否接近。

四分位数与 1.5×IQR 异常值判定

标准差本身对异常值极其敏感——一个极端值就能把标准差拉高一大截,用它来识别异常值有循环论证的嫌疑。更稳健的工具是四分位数。

Q1(第一四分位数)是排序后 25% 位置的值,Q2 是中位数,Q3 是 75% 位置的值。

IQR(四分位距)= Q3 − Q1
下围栏 = Q1 − 1.5 × IQR
上围栏 = Q3 + 1.5 × IQR

落在围栏之外的数据点判定为异常值。

用本文的数据实操一遍。先排序:68、71、76、78、79、82、85、88、90、93

按位置法 (n+1)/4 计算:

Q1 位置 = 11/4 = 2.75,即第 2 与第 3 个数之间偏后,Q1 = 71 + 0.75 × (76 − 71) = 74.75

Q2 = (79 + 82) / 2 = 80.5

Q3 位置 = 3 × 11/4 = 8.25,Q3 = 88 + 0.25 × (90 − 88) = 88.5

IQR = 88.5 − 74.75 = 13.75

下围栏 = 74.75 − 1.5 × 13.75 = 74.75 − 20.625 = 54.13

上围栏 = 88.5 + 20.625 = 109.13

最小值 68 > 54.13,最大值 93 < 109.13,这组数据没有异常值

假设这时混进来一个 130 分(录入错误多打了一位),它远超上围栏 109.13,会被立刻标记出来。而如果用标准差法,130 加入后均值升到 85.5、标准差升到 17.1,μ + 2σ = 119.7,130 仍然超出但幅度小得多——异常值本身抬高了判定门槛,这就是标准差法的自我掩盖问题

为什么系数是 1.5?这是 John Tukey 提出箱线图时选定的经验值。在标准正态分布下,1.5×IQR 围栏大致对应 μ ± 2.7σ,误判率约 0.7%,在「不漏检」和「不误报」之间取得了较好平衡。要求更严格时可以用 3×IQR(对应约 μ ± 4.7σ),标记出的是「极端异常值」。

处理异常值的原则是:先查原因,再决定去留。确认是录入错误、设备故障、单位不统一造成的,可以修正或剔除;如果是真实存在的极端情况(比如某个客户确实下了一笔超大订单),就不该删除,而应该在报告中单独说明,或者改用中位数、IQR 这类稳健统计量来描述。处理多维数据时,把各变量整理成矩阵形式再批量计算会更清晰,矩阵计算器可以处理这类批量运算。

总结

这套指标体系的逻辑链条是清晰的:离差之和恒为零,所以要平方;平方后量纲变了,所以要开方;用样本均值代替总体均值会低估离散程度,所以分母要从 n 改成 n−1。判断用哪个公式只需问一句——数据是全部还是抽样,拿不准就用样本公式。

本文示例的关键数字值得记住:10 个数,平方和 598,总体标准差 7.73,样本标准差 8.15,相差 5.4%。配套的三个工具各有分工:CV = σ/μ 用于跨量纲比较相对波动;68-95-99.7 法则把标准差翻译成概率,但只适用于近似正态的数据;1.5×IQR 围栏对异常值稳健,不会被极端值自我掩盖。手算时务必用「离差之和为零」做中间校验,这一步能拦下大部分计算错误。