平均误差管「准不准」,标准偏差管「稳不稳」。这两个是两件事,缺一个都判不了人。 两位分析师平均误差都是 0 左右,可一个在 ±6 之间晃,一个在 ±18 之间晃,标准偏差 5.07 对 14.65。 68% 那条经验规则只在大样本下才靠谱。六个点的时候,它只能当量级看,不能当定律用。
上一篇把分歧量成了区间。这一篇换一个角度:不看一次判断的分歧,看一个人历史上的波动。 标准差这台机器上没有 numpy,全部用标准库算,公式和结果都能自己复现。
一、两个不同的评价维度
评价一个人的预测,有两件事要看:他偏不偏,和他稳不稳。 偏不偏用平均误差看:他给 60%,实际发生了 55%,误差就是 +5 个点。多次平均下来,接近 0 就是没偏。 稳不稳用标准偏差看:每次误差离平均值有多远。离得远说明忽高忽低,离得近说明稳定。
一个偏但稳的人,可以校正;一个不偏但乱的人,没法用。
二、两位分析师的历史
| 次数 | 老张的误差 | 伊万的误差 |
|---|---|---|
| 第 1 次 | −5 | −15 |
| 第 2 次 | +4 | +12 |
| 第 3 次 | −6 | −18 |
| 第 4 次 | +5 | +14 |
| 第 5 次 | −4 | −12 |
| 第 6 次 | +6 | +16 |
老张平均误差 0.0 点,伊万 −0.5 点。光看这个,两个人一样准。 可一个在 ±6 之间晃,一个在 ±18 之间晃。平均误差把这件事完全遮住了。
三、标准偏差怎么算
三步:先算平均,再算每个点离平均的平方,平方的平均再开方。 为什么要平方?因为不平方的话,正负误差会互相抵消,算出来永远是 0。 老张:平方和 154,除以 6 得 25.67,开方 5.07。伊万:平方和 1287.5,除以 6 得 214.58,开方 14.65。
伊万的标准偏差是老张的 2.9 倍。开会时该信谁,这一下就清楚了。
四、68% 规则的适用条件
经验规则:大约 68% 的观测落在「平均 ± 一个标准偏差」内,95% 落在 ± 两个内。 这条规则的前提是数据接近正态分布,而且样本量要够。六个点,两个前提都不满足。 实测:老张 6 次里 4 次落在 ±5.07 内,伊万 4 次落在 ±14.65 内,都是 67%——碰巧对上,但不能当成验证。
小样本时,标准偏差只能当「量级」看,不能当「精确的界限」用。
五、拿它做什么
第一,挑人:两个人平均误差接近,选标准偏差小的那个。 第二,定权重:把两个人的判断加权平均时,稳的那个权重大。 第三,定区间:他说 60%,历史标准偏差 5 个点,那就可以给他 55% 到 65% 的合理范围。
这三件事都比「谁说得更有道理」靠得住——因为它们用的是同一个人的历史,不是这一次的说服力。
六、动手 Demo:标准偏差量度偏差
两位分析师各六次误差,先算平均,再算标准偏差。 最后数一数有多少次落在「平均 ± 一个标准偏差」内,看看 68% 这条规则灵不灵。
import math
A = [-5, 4, -6, 5, -4, 6]
B = [-15, 12, -18, 14, -12, 16]
def mean(v):
return sum(v) / float(len(v))
def sd(v):
m = mean(v)
return math.sqrt(sum((x - m) ** 2 for x in v) / float(len(v)))
for nm, v in (("老张", A), ("伊万", B)):
m, s = mean(v), sd(v)
inside = sum(1 for x in v if abs(x - m) <= s)
print("%-4s 平均 %+5.1f 标准偏差 %5.2f 落在 ±1σ 内 %d/6"
% (nm, m, s, inside))
print()
print("标准偏差之比:%.2f" % (sd(B) / sd(A)))
print("注意 4/6 = %.0f%%,和 68%% 差不多——6 个点太少,这一点对上纯属巧合"
% (4 / 6.0 * 100))
实跑输出:
--------------------------------------------------------------------
标准偏差量度偏差
--------------------------------------------------------------------
① 光有区间还不够
--------------------------------------------------------------------
区间是每个人自己说的。有人说 20 个点宽,有人说 40 个点宽,宽度本身就带着自信程度。
要比较谁更可靠,得看历史:过去他说 60% 的时候,实际发生的频率是多少。
② 两位分析师的历史误差
--------------------------------------------------------------------
| 次数 | 老张的误差(点) | 伊万的误差(点) |
|---|---:|---:|
| 第 1 次 | -5 | -15 |
| 第 2 次 | +4 | +12 |
| 第 3 次 | -6 | -18 |
| 第 4 次 | +5 | +14 |
| 第 5 次 | -4 | -12 |
| 第 6 次 | +6 | +16 |
误差 = 他给的数减去实际值。正数是高估,负数是低估。
③ 两个人的平均误差差不多
--------------------------------------------------------------------
老张平均误差 +0.0 点,伊万平均误差 -0.5 点。
光看平均,两个人一样准——都是「基本没偏」。
可他们的误差分布完全不同:一个在 ±6 之间晃,一个在 ±18 之间晃。
④ 标准偏差:把「晃得多厉害」变成一个数
--------------------------------------------------------------------
老张的标准偏差 5.07 点,伊万的标准偏差 14.65 点。
标准偏差算的是「每个点离平均值有多远」,再取平均(平方后平均再开方)。
所以它衡量的是离散程度,不是准确程度。平均误差衡量准不准,标准偏差衡量稳不稳。
! 伊万的标准偏差是老张的 2.9 倍。开会时该信谁,这一下就清楚了。
⑤ 68% 这条经验规则,用小样本要小心
--------------------------------------------------------------------
经验规则说:大约 68% 的点会落在「平均值 ± 一个标准偏差」之内。
老张 6 次里有 4 次落在里面,伊万有 4 次。
! 6 个点太少,算出来的比例跟 68% 对不齐很正常。样本这么小的时候,标准偏差只能当粗略的量级看。
平均误差两个人都是 0 附近,标准偏差差 2.9 倍。只看平均会得出「两个人都一样」的错误结论。 4/6 这个比例是数出来的。它和 68% 接近,但六个点算出来的比例本来就只有 1/6 的精度,不能当验证。
30 秒实验
- 如果把伊万的误差整体除以 2(变成 −7.5、+6 等),平均和标准偏差各变多少?
- 如果老张有一次误差是 +20 而不是 +6,标准偏差会从 5.07 变成多少?这说明什么?
- 想一想:一个人平均误差 +10、标准偏差 2,另一个人平均误差 0、标准偏差 10,你会用谁?为什么?
常见误区
- 只用平均误差评价:平均 0 可能意味着「很准」,也可能意味着「正负互抵」。
- 把标准偏差当准确度:它量的是离散程度。一个永远偏 +10 的人,标准偏差可以是 0。
- 小样本硬套 68%:六个点算出来的比例,精度只有 1/6,不能当规律验证。
- 不同口径的误差混着比:一个按百分点算、一个按百分比算,标准偏差没法比。
自测三问(点开对答案)
1. 平均误差和标准偏差各衡量什么? —— 平均误差衡量准不准(有没有系统性偏差),标准偏差衡量稳不稳(波动多大)。 2. 为什么算标准偏差要平方? —— 不平方的话正负误差互相抵消,平均值永远是 0,看不出波动。 3. 68% 规则在什么情况下不能直接用? —— 样本太小,或者分布明显不对称的时候。六个点时它只能当量级参考。人的可靠性量出来了。可世界会变——下一篇讲新信息进来时,信念该怎么往证据那边挪。
- ☐ (本篇完,下一篇 7.4 新闻来了,概率要改)