📈 第7章 主观概率
📄 一句话概括

平均误差管「准不准」,标准偏差管「稳不稳」。这两个是两件事,缺一个都判不了人。 两位分析师平均误差都是 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 秒实验

  1. 如果把伊万的误差整体除以 2(变成 −7.5、+6 等),平均和标准偏差各变多少?
  2. 如果老张有一次误差是 +20 而不是 +6,标准偏差会从 5.07 变成多少?这说明什么?
  3. 想一想:一个人平均误差 +10、标准偏差 2,另一个人平均误差 0、标准偏差 10,你会用谁?为什么?

常见误区

  1. 只用平均误差评价:平均 0 可能意味着「很准」,也可能意味着「正负互抵」。
  2. 把标准偏差当准确度:它量的是离散程度。一个永远偏 +10 的人,标准偏差可以是 0。
  3. 小样本硬套 68%:六个点算出来的比例,精度只有 1/6,不能当规律验证。
  4. 不同口径的误差混着比:一个按百分点算、一个按百分比算,标准偏差没法比。
自测三问(点开对答案) 1. 平均误差和标准偏差各衡量什么? —— 平均误差衡量准不准(有没有系统性偏差),标准偏差衡量稳不稳(波动多大)。 2. 为什么算标准偏差要平方? —— 不平方的话正负误差互相抵消,平均值永远是 0,看不出波动。 3. 68% 规则在什么情况下不能直接用? —— 样本太小,或者分布明显不对称的时候。六个点时它只能当量级参考。

人的可靠性量出来了。可世界会变——下一篇讲新信息进来时,信念该怎么往证据那边挪。

相关笔记