On this page · 6 sections

14 次成功,是否意味着成功率就是 70%?

假设我们观察一个只有成功与失败两种结果的过程:20 次中成功 14 次。这里没有真实客户、实验或游戏成绩;它是一组说明性数据。14/20 = 0.70 是已发生的样本频率,但下一次是否成功、过程的成功概率是多少,仍然是不同的问题。

先把共同前提写出来:每次结果在给定概率 p 后相互独立,而且整个观察期间 p 不变。这才使二项模型成为合理起点。如果前十次与后十次来自不同环境,计算再精确,也未必回答了我们真正想问的问题。

X ∼ Binomial(n, p) n = 20, x = 14
X 是成功次数,n 是观察次数,p 是模型中未知的成功概率。

频率方法:先约定程序的长期表现

在这个模型里,可以把 p 看作固定但未知,用样本比例作为点估计。换一批样本,估计值就可能变化。频率推断关心的不是给这次算出的常数赋予随机性,而是这套估计程序在重复抽样时如何表现。

区间比单个点更诚实,但也更容易被误读。例如 95% 置信区间的覆盖率说的是构造区间的程序:在相应假设成立的重复实验中,它应具有所述的覆盖表现。它不直接等于“这次固定区间有 95% 概率包含 p”。小样本下,不同区间程序还可能表现不同,因此不能只写一个 ± 误差而不交代方法。[2]

所以,“参数固定”不意味着我们知道它,也不意味着频率方法只适用于会真实重做很多次的决策。重复抽样是校准推断的一种框架,不是必须把现实事件重新发生一遍。

贝叶斯方法:把已有信息一起写进模型

贝叶斯推断用分布表示给定信息下对 p 的不确定性。先验不是随意加的修饰,而是模型的一部分;似然描述在不同 p 下,观察到这组数据有多相容。两者共同形成后验。对于 Beta 先验和二项似然,更新可以直接写出来。[1]

Beta(α, β) → Beta(α + x, β + n − x)
观察到成功与失败后,分别更新两个参数。此式依赖上述二项模型,而不是对任意数据都适用。

选择 Beta(1,1),后验就是 Beta(15,7),后验均值为 15/22,约 68.18%。它与样本频率 70% 不同,并不说明谁算错了:前者汇总先验与数据,后者直接描述观察比例。下图把这个差别显示出来。[1]

EXPLORABLE / 01

让证据改变曲线

先验与后验概率密度横轴为成功概率 p,范围零到一;纵轴为概率密度。后验为 Beta(15, 7),均值 68.18%。纵轴随曲线自动缩放,曲线下的面积才表示概率。00.250.50.7510.02.24.3概率密度成功概率 p
后验 Beta(15, 7)先验 Beta(1, 1)
这批观察的频率70.00%14 / 20,描述已观察结果
给定先验与数据的后验均值68.18%15 / 22,不是确定的真实概率

假设每次观察条件独立且 p 不变。纵轴自适应;密度高度不是单点概率。零样本时后验等于先验。全部数据均为说明性输入。

说明性模型 · 只改变假设与样本,不连接真实数据

先验不同,判断会怎样变化?

保持 14/20 不变,Beta(2,2) 给出的后验均值是 16/24,约 66.67%;Beta(8,2) 则得到 22/30,约 73.33%。这不是通过挑选先验争取想要的答案,而是在提醒我们:同一份有限数据,未必足以消除不同的起点。

三组先验各有含义。Beta(1,1) 在 p 的尺度上均匀,但不能被宣称为对所有参数化都“完全没有信息”;Beta(2,2) 更偏向中间;Beta(8,2) 偏向较高成功率。先验若来自历史记录,还必须追问历史环境是否与现在相同。把几个合理先验下的结果放在一起,通常比隐藏选择更有说服力。

相似数字背后的不同问题
量回答什么不能直接推出什么
样本频率 14/20这批观察中成功所占的比例未来结果必定按相同比例出现
置信区间区间程序的重复抽样覆盖表现本次区间内参数的后验概率
后验均值给定先验和数据后的分布均值先验或数据模型必然正确
可信区间给定模型与数据的后验概率范围不加条件的长期覆盖保证

知道概率之后,应该怎样行动?

沿用 Beta(15,7) 后验。在下一次观察仍满足相同二项模型的前提下,成功的后验预测概率 q 是对 p 求后验期望,也就是 15/22。这里并非说未知参数已经固定成这个数,而是把参数的不确定性积分进一次未来观察的预测。对于多次未来观察,还需要考虑它们共享同一个未知参数,不能直接把它们当成相互独立、成功率恒为后验均值的试验。[1]

再设一个完全说明性的二选一决策:采取行动后,成功的损失为 0,失败的损失为 L;不行动则无论结果如何都承担固定损失 C。所有损失使用同一抽象单位,只考虑这一次决定,也不包含获取新信息的成本。行动的期望损失为 L(1−q),不行动为 C。选择行动的条件因此是 q > 1−C/L。

E[loss | act] = L(1 − q) E[loss | wait] = C act if q > 1 − C/L
说明性推导:L > 0,0 ≤ C ≤ L;恰好相等时,两种选择在本损失模型下无差别。
相同后验,不同代价:q = 15/22
损失设定行动 / 不行动的期望损失本模型下的选择
L = 2,C = 17/11 ≈ 0.64 / 1行动
L = 5,C = 135/22 ≈ 1.59 / 1不行动

两次选择不同,不是因为第二次突然不相信数据,而是因为失败的代价改变了。这个例子刻意简单:若存在不能用同一尺度比较的损害、必须满足的安全边界,或可以先收集信息再决定,就不能直接沿用这张表。模型帮助算清已写下的代价,却不能替人决定哪些代价值得承担。

什么时候,两种方法都会让我们失望?

如果观察存在强相关、成功标准中途改变,或者失败结果更容易被漏记,两套方法都可能给出看似精确却失真的答案。再多小数位,也无法补回没有被观察到的机制。

我的判断是:先问数据如何产生,再问方法怎样校准;先说明数字的含义,再争论哪一派更正确。频率方法提醒我们检查程序,贝叶斯方法迫使我们公开信息起点。真正有价值的训练,是能把两种提醒带进同一个实际问题,而不是只记住两个标签。

Sources & further reading

  1. Marco Taboga · Beta 分布:共轭更新与期望 ↗

    Source · 参见 Updating of priors、Expected value 与 Relation to the binomial distribution。

  2. NIST · 二项比例的置信区间 ↗

    Source · 比例区间与 Wilson 方法;不用于证明个人项目成效。