#017. 概率四:硬币公平性与偏币检验

概率核心工具地图:期望递推、序列等待、贝叶斯更新与假设检验四大板块

#学习目标:公平的硬币与公平的事件

硬币是量化面试的第一道具,「公平」则是它牵出的第一组问题。第一问是判公平:一枚硬币掷了 100 次出现 60 个正面,它公平吗?这本质是假设检验——在「公平」这个原假设下,观测到的偏离有多反常。第二问反了过来:造公平。手里只有一枚不知道偏向的偏币,能否设计出等概率的随机事件?答案是可以,而且只要偏币每次抛掷独立、偏向恒定,von Neumann 的两两提取就能凭空造出完全公平的比特。

第三问是模拟指定分布:用公平硬币模拟三个等概率结果(期望 8/3 次抛掷),再用偏币做同样的事(期望 \(\tfrac{8}{3pq}\) 次)。三问共用一个底层机制——拒绝采样(rejection sampling):把原始随机源映射到若干等可能结果,把多余的「格子」扔掉重来,代价是期望次数按接受率的倒数放大。

检验框架

原假设 \(p=\tfrac12\) 下给正面计数建模:\(E=\tfrac n2\)、\(\sigma=\tfrac{\sqrt n}{2}\),观测偏离换算成 z 值再下结论。

von Neumann 提取

两掷一组:HT 记 0、TH 记 1、HH 与 TT 作废重掷。两事件概率都是 \(pq\),与 \(p\) 无关地公平。

对称配对

「恰偶数个正面」之类的问题不必硬算二项和:固定前 \(n-1\) 枚,最后一枚以一半对一半把奇偶各实现一次,概率必为 \(\tfrac12\)。

#工具一:公平性检验的统计框架

判断硬币是否公平,标准流程是假设检验(hypothesis testing)。设原假设 \(H_0\):正面率 \(p=\tfrac12\)。掷 \(n\) 次得到 \(h\) 个正面,在 \(H_0\) 下正面计数 \(K\sim\mathrm{Bin}(n,\tfrac12)\),于是

\[E[K]=\frac n2,\qquad \mathrm{sd}(K)=\sqrt{n\cdot\tfrac12\cdot\tfrac12}=\frac{\sqrt n}{2},\qquad z=\frac{h-n/2}{\sqrt n/2}.\]

怎么读:z 值衡量观测正面数偏离期望多少个标准差。经验法则:\(|z|\gt 2\) 大约对应 5% 的双尾水平——在「硬币其实公平」的世界里,这么极端的结果一百次里只出现约五次,于是我们有相当的理由怀疑它不公平;\(|z|\gt 3\) 则证据强得多(约千分之三)。检验方向(单尾还是双尾)、p 值的精确口径与置信区间在 019 章展开,这里先把「正面计数 − 期望,除以标准差」这个动作练成本能。

样本量的作用

同样的 60% 正面率,掷 10 次出现 6 个正面毫无奇怪(z = 0.63),掷 100 次出现 60 个(z = 2)已可警觉,掷 1000 次出现 600 个(z ≈ 6.3)则几乎宣判不公。偏离的「绝对大小」不说明问题,必须以标准差为单位度量——这就是为什么面试官喜欢追问「多少次观测才够」。

#工具二:von Neumann 提取与拒绝采样

偏币正面率 \(p\) 未知但恒定,每次抛掷独立。把抛掷成对处理:一对结果是 HT 的概率 \(pq\),TH 的概率 \(qp\)——两者恒相等,与 \(p\) 的取值无关。于是规则「HT 输出 0,TH 输出 1,HH/TT 作废、再掷一对」产出一个完美公平的比特流,这就是 von Neumann 提取(von Neumann extractor)。代价几何?每对被接受的概率 \(2pq\),接受所需的期望对数是 \(\tfrac{1}{2pq}\),期望抛掷次数加倍:

\[E[\text{对数}]=\frac{1}{2pq},\qquad E[\text{抛掷数}]=\frac{2}{2pq}=\frac1{pq}.\]

怎么读:硬币越偏,\(pq\) 越小,提取越贵。公平币 \(p=q=\tfrac12\) 时每比特 4 次抛掷(2 对);\(p=\tfrac23\) 时每比特 4.5 次抛掷(平均 2.25 对);\(p=0.9\) 时暴涨到 \(\tfrac1{0.09}\approx 11.1\) 次。两个细节值得主动说明:其一,输出比特不仅边际公平,而且相互独立(不同对的命运互不影响);其二,作废的 HH、TT 并非全无信息,更精细的提取器(如 Elias 方案)能回收它们,面试不要求,知道即可。

拒绝采样是更广的原则:只要能构造若干个等可能的基本事件,扔掉多余的,就能得到任何目标分布。用公平硬币模拟三等分:连掷两次得 HH、HT、TH、TT 四个等可能格,前三个映射到三个结果,TT 作废重来。每轮接受率 \(\tfrac34\),期望轮数 \(\tfrac43\),期望抛掷数 \(2\times\tfrac43=\tfrac83\)。一般公式:期望代价 \(=\tfrac{\text{每轮消耗}}{\text{接受率}}\)。

#工具三:对称性配对与二项恒等式

「掷 n 枚公平硬币,正面数为偶数的概率」是典型的对称性问题,硬算是 \(\sum_{k\text{ 偶}}\binom nk 2^{-n}\),但有两种一步到位的做法。配对法:固定前 \(n-1\) 枚的任何结果,最后一枚是正是反各以 \(\tfrac12\) 概率出现,而两种补法恰有一个使总数为偶、一个为奇——所以无论前面如何,偶的概率就是 \(\tfrac12\)。恒等式法

\[\sum_{k\text{ 偶}}\binom nk=\frac{(1+1)^n+(1-1)^n}{2}=2^{n-1}\quad(n\ge 1),\]

即二项式定理中 \((1+1)^n\) 与 \((1-1)^n\) 相加时奇次项相消、偶次项翻倍。两法都给出:对任意 \(n\ge1\),恰偶数正面的概率是 \(\tfrac12\)。注意边界 \(n=0\):0 是偶数,概率是 1 而非 \(\tfrac12\)——「至少一枚」这个前提不可省。奇数同理也是 \(\tfrac12\),两式相加为 1,自洽。

#例题详解 I:判公平与造公平

例题 1:(a) 你怀疑一枚硬币不公平,怎么检验?(b) 反过来,已知一枚硬币不公平(正面率 \(p\ne\tfrac12\) 但恒定),如何用它产生公平的随机事件?

建模。(a) 是假设检验:原假设 \(p=\tfrac12\),用正面计数的 z 值衡量观测的反常程度。(b) 是 von Neumann 提取:把偏币成对抛掷,用「HT 对 TH」这对等概率事件造公平。

推导。(a) 掷 \(n\) 次得 \(h\) 个正面,在 \(H_0\) 下 \(z=\dfrac{h-n/2}{\sqrt n/2}\)。约定显著性水平(如 5%,对应 \(|z|\gt 1.96\)):超出就拒绝「公平」。样本量要事先定好或使用序贯方法,不要掷到「看起来够偏」为止。(b) 一次一对:HT 输出 0,TH 输出 1,HH/TT 作废重掷:

\[P(HT)=pq=P(TH)\ \Longrightarrow\ P(0\mid\text{接受})=P(1\mid\text{接受})=\frac12,\ \text{与 }p\text{ 无关}.\]

期望成本:接受一对的概率 \(2pq\),期望对数 \(\tfrac{1}{2pq}\)、期望抛掷数 \(\tfrac1{pq}\)。公平币(\(p=\tfrac12\))恰为 2 对 4 掷;若 \(p=\tfrac23\),则 \(\tfrac{1}{2pq}=\tfrac94=2.25\) 对、\(\tfrac1{pq}=4.5\) 次抛掷。

检验。(b) 的正确性核对:给定「这轮被接受」,条件概率里分子分母同乘 \(pq\),\(p\) 彻底消去——任何恒定偏向的硬币都被「洗」公平。成本核对:\(p\) 越极端 \(pq\) 越小、成本越高,符合直觉;\(p\to1\) 时代价发散,因为 HT/TH 几乎不出现。

面试怎么讲。(a) 三句话:建原假设、算 z、对着显著性水平下结论,并补一句「精确口径见假设检验章节」。(b) 讲完规则立刻说「输出不仅公平还独立,代价 \(\tfrac1{pq}\) 次抛掷」,再补 \(p=\tfrac23\) 的 4.5 次这个具体数——规则 + 独立性 + 成本,三件事说完就是满分答案。

#例题详解 II:偶数正面一族与 100 次抛掷

例题 2:同时掷 10 枚公平硬币,正面数为偶数的概率是多少?掷 8 枚呢?9 枚呢?推广到任意 n 枚。

建模。源题库里这一问以 10 枚、8 枚、9 枚、任意 n 等多个面目反复出现,全是同一道题。正面数 \(K\sim\mathrm{Bin}(n,\tfrac12)\),求 \(P(K\text{ 为偶})\)。

推导。配对法:固定前 \(n-1\) 枚的任意结果,最后一枚以 \(\tfrac12\) 概率把总数补成偶、以 \(\tfrac12\) 补成奇,故

\[P(K\text{ 偶})=\frac12\qquad\text{对一切 }n\ge 1.\]

恒等式法复核:\(\sum_{k\text{ 偶}}\binom nk=2^{n-1}\),除以 \(2^n\) 得 \(\tfrac12\)。

检验。最小情形手算:n=1 时 \(P(K\text{ 偶})=P(0\text{ 正})=\tfrac12\) ✓;n=2 时 \(P\in\{0,2\}=\tfrac14+\tfrac14=\tfrac12\) ✓。所以 10 枚、8 枚、9 枚全部是 \(\tfrac12\)。边界提醒:n=0 时 0 个正面算偶,概率为 1,公式不适用,因为「配对」需要至少一枚硬币。

面试怎么讲。先给结论「任意 \(n\ge1\) 都是 \(\tfrac12\)」,再用配对论证一句话证明;若面试官是统计口味,补 \((1+1)^n\) 与 \((1-1)^n\) 相加的恒等式证法。两种证法各 15 秒,比逐项求和快十倍且不会算错。

例题 3:把一枚公平硬币连掷 100 次。正面数的期望与方差是多少?由此衍生几个赔付游戏,它们的期望与方差又是多少?

建模。正面数 \(K\sim\mathrm{Bin}(100,\tfrac12)\)。两个基础游戏:按正面数付钱(每正面 1 元);掷一次赢输 1 元的对赌(正面 +1、反面 −1)。第二个游戏的总额 \(S=\sum_{i=1}^{100}(2\mathbf{1}_i-1)=2K-100\),是第一个游戏的线性变换。

推导。计数游戏:

\[E[K]=100\cdot\tfrac12=50,\qquad \mathrm{Var}(K)=100\cdot\tfrac12\cdot\tfrac12=25\ (\sigma=5).\]

对赌游戏:\(E[S]=2E[K]-100=0\),\(\mathrm{Var}(S)=4\,\mathrm{Var}(K)=100\)(\(\sigma=10\))。再衍生一个「平方赔付」:掷一次得 +1 或 −1、赔付取平方(恒为 1 元),100 次总赔付期望 100、方差 0——赔付函数把随机性完全吸收,说明游戏结构可以改变风险的量级甚至存在性

检验。量级:对赌 100 次的标准差 10 元,意味着终值大致落在 ±20 元(两个标准差)内,与「每局 ±1、方差逐局累加」的直觉一致。计数与对赌的换算 \(S=2K-100\) 把两个游戏对上账:\(K=55\) 对应 \(S=+10\),恰好一个标准差。

面试怎么讲。先报 50 与 25、σ=5;立刻指出「±1 游戏只是计数的线性变换,方差乘 4、标准差乘 2」;再主动给平方赔付这个退化例子,一句话点出「期望和方差是赔付结构的函数」——这句话直接通向 019 章的检验与 037 章的夏普比率。

#例题详解 III:判别哪枚与模拟三分之一

例题 4:两枚硬币,一枚公平、一枚正面率为 \(\tfrac23\) 的偏币,外观相同。任取一枚连掷若干次并记录结果,如何判断手里这枚是公平的那枚?大约要掷多少次?

建模。这是「两假设判别」:\(H_F\)(公平,\(p=\tfrac12\))对 \(H_B\)(偏币,\(p=\tfrac23\))。掷 \(n\) 次见 \(h\) 个正面,比较两假设下的似然,取更大者为判决——等价地跟踪对数似然比(LLR)。

推导。似然比:

\[\Lambda=\frac{P(\text{数据}\mid H_B)}{P(\text{数据}\mid H_F)}=\Big(\tfrac{2/3}{1/2}\Big)^{h}\Big(\tfrac{1/3}{1/2}\Big)^{n-h}=\Big(\tfrac43\Big)^{h}\Big(\tfrac23\Big)^{n-h}.\]

判决规则 \(\Lambda\gt1\) 等价于正面频率超过临界值。对数化:\(h\ln\tfrac43+(n-h)\ln\tfrac23\gt0\),解出 \(\tfrac hn\gt\dfrac{\ln(3/2)}{\ln 2}\approx 0.585\)——正面率超过 58.5% 判偏币,否则判公平。序贯(sequential)做法:边掷边累计 LLR,一旦越过置信边界(如 \(\ln 20\),对应后验优势 20:1)就停。LLR 每掷的漂移约 0.057 自然对数单位(在真实偏币下),因此达到 20:1 把握平均需要大约 \(\ln 20/0.057\approx 53\) 次;要 2:1 的初步判断,十几次即可。

检验。临界值 58.5% 落在 \(\tfrac12\) 与 \(\tfrac23\) 之间且偏向 \(\tfrac12\)(因为 \(\tfrac12\) 与 \(\tfrac23\) 的对称点按对数距离计算,略高于中点),方向合理。小样本核对:n=1 掷出正面,\(\Lambda=\tfrac43\),判「更像偏币」但优势仅 4:3,几乎不说明问题——与「一次观测不足以下结论」的常识一致。

面试怎么讲。核心句:「正面率过 58.5% 判偏币,这是似然比判决的对数形式」;再补序贯版本「LLR 漂移每掷约 0.057,几十次可达高置信」,并链接贝叶斯视角(同样的计算在 018 章以 posterior odds 的形式出现)。

例题 5:(a) 用公平硬币模拟三个等概率事件,期望要抛多少次?(b) 若手里只有正面率 \(p\) 的偏币(\(p\) 未知),还能模拟吗?期望抛多少次?

建模。(a) 拒绝采样:两次抛掷产生 4 个等可能格,映射 3 个、作废 1 个。(b) 先用 von Neumann 提取把偏币洗成公平比特,每比特期望 \(\tfrac1{pq}\) 次抛掷;再对公平比特做 (a)。

推导。(a) 每轮 2 次抛掷、接受率 \(\tfrac34\):

\[E[\text{轮数}]=\frac{1}{3/4}=\frac43,\qquad E[\text{抛掷数}]=2\times\frac43=\frac83\approx 2.67.\]

(b) 模拟一次三等分需要 2 个公平比特,其中 4 个两比特组合接受 3 个,期望比特数 \(2\times\tfrac43=\tfrac83\);每个公平比特成本 \(\tfrac1{pq}\) 次抛掷,总计

\[E[\text{抛掷数}]=\frac83\cdot\frac1{pq}.\]

若 \(p=\tfrac23\):\(\tfrac83\cdot\tfrac{9}{2}=12\) 次。作为对照,公平币直接用 (a) 只要 \(\tfrac83\) 次——先「洗币」再采样会付出 \(\tfrac1{pq}\) 倍的代价,\(p\) 越偏越贵。

检验。(a) 下界:三个结果至少要一次输出,两次抛掷(4 格)是最小构型,\(\tfrac83\) 只比 2 多三分之一,说明浪费可控。(b) 极限行为:\(p=\tfrac12\) 时公式给 \(\tfrac83\cdot4=\tfrac{32}3\approx10.7\) 次——比 \(\tfrac83\) 贵,因为「未知偏币协议」连公平的情形也走提取流程;若已知硬币公平就直接掷,这个对比正好说明「信息(知道 p)本身有价值」。

面试怎么讲。(a) 画出 2×2 格子、划掉 TT,报 \(\tfrac83\);(b) 分两层讲——「提取公平比特 \(\tfrac1{pq}\) 次/比特」乘「三等分需要 \(\tfrac83\) 比特」,给 \(p=\tfrac23\) 的 12 次作落点。分层计价的结构比死记公式更能打动面试官。

#误区与边界

四个高频翻车点

一,把「HH/HT/TH 三格直接映射三个结果」当模拟三分之一:三格概率是 \(\tfrac14,\tfrac14,\tfrac12\),根本不等概,必须四格丢一格。二,混淆对数与抛掷:von Neumann 提取在 \(p=\tfrac23\) 时平均 2.25 (4.5 次抛掷)出一个公平比特,单位报错直接暴露概念不清。三,检验时「掷到显著为止」:不加边界地连续观察、见显著就停会大幅抬高假阳性(可选停止问题),样本量应预先设定或用序贯似然比的正式边界。四,偶数正面题忘掉 \(n\ge1\) 的前提,把结论推广到 \(n=0\)。

考官追问的变式

一,模拟五等分:三掷得 8 格取 5 格,期望 \(\tfrac3{5/8}=4.8\) 次——先找「不小于目标数的最小 2 的幂」再算接受率。二,偏币方向未知(可能偏正也可能偏反):von Neumann 提取照常工作,因为它根本不需要知道 \(p\) 的大小与方向。三,把 (a) 的公平硬币换成「正面率 \(\tfrac13\)」的骰子型源:一次抛掷三态不够均匀,需回到等可能格构造——考的还是拒绝采型的迁移能力。四,100 次抛掷见 55 个正面算不算偏:z=1,5% 水平下不足以下结论,衔接 019 章

#检查清单

  • 我能对 n 次抛掷 h 个正面写出 z 值 \(z=\frac{h-n/2}{\sqrt n/2}\),并用 \(|z|\gt2\) 量级的经验法则下初步结论。
  • 我能完整叙述 von Neumann 提取的规则,说明输出公平且独立,并算出成本 \(\tfrac{1}{2pq}\) 对 / \(\tfrac1{pq}\) 掷。
  • 我能用配对法与二项恒等式两种方式证明「n 枚硬币恰偶数正面概率 \(\tfrac12\)(n ≥ 1)」。
  • 我能给出 100 次抛掷的期望 50、方差 25,并把 ±1 对赌游戏作为线性变换导出方差 100。
  • 我能用似然比推导「正面率超 58.5% 判 \(\tfrac23\) 偏币」的判决规则,并说明序贯版的平均样本量量级。
  • 我能算出公平币模拟三分之一期望 \(\tfrac83\) 次、偏币版 \(\tfrac{8}{3pq}\) 次(\(p=\tfrac23\) 时 12 次),并解释两层定价。
  • 我能指出「掷到显著为止」为什么作弊,以及 n=0 边界、三格映射不等概这些坑。