词条 · 理论 · 核心
泊松分布
已知平均每小时来 6 个,它给出下一小时来 0 个、1 个、10 个的各自概率。
也称:泊松、泊松分布、Poisson、Poisson distribution、泊松密度、泊松近似
一句话
泊松分布回答这样一个问题:某件事平均每小时发生 6 次,那么下一个小时具体发生几次?它给出 0 次、1 次、一直到 15 次各自的概率,全部由那个平均值 6 一个数决定。
下面从一件很具体的麻烦讲起,一步步走到那个只有一个参数的公式为什么必须长成那样。
先看一个麻烦:平均值不是承诺
一家小书店的老板数了一整年的账,得出一个结论:平均每小时进来 6 位顾客。
他想拿这个数排班。可他立刻发现,“平均 6 位”这句话对下一个小时几乎什么都没保证。这一小时可能进来 2 位,柜台闲着;也可能一下涌进 11 位,队排到门外。他真正需要知道的不是那个 6,而是每一种情况各有多大可能:一小时空无一人的概率有多大?超过 10 位的概率有多大?
同一个麻烦在别处一模一样地出现。矿工知道全网平均 10 分钟出一个区块,那么接下来一小时会出几个块?收款方知道自己等了 6 个区块的时间,那么在这段时间里,一个藏在暗处的攻击者可能已经挖出了几个?
这类问题都长着同一副样子:一段固定的时间窗口,里面装着若干次互不相干的、随时可能发生的事件,你只知道平均装几次,想知道具体装几次的概率分布。
朴素尝试与失败
招数一:就用平均值。 说下一小时来 6 位。问题是概率论里”平均”和”通常”是两码事。后面会算出来,平均 6 位时,恰好来 6 位的概率只有 0.160623——不到六分之一。剩下六分之五的时间里,答案都不是 6。
招数二:查历史记录。 老板翻出去年 3000 小时的账本,数出”有 178 个小时来了 4 位”,用 178/3000 当概率。这办法本身没错,但它有两个硬伤:第一,你必须先攒够数据,一家新店什么都不知道;第二,稀有情况永远数不准——“一小时来 20 位”也许一年只出现过一次,你无法判断那是 1/3000 还是 1/30000。而稀有情况恰恰是排班和安全分析最关心的部分。
招数三:把一小时切成 60 分钟,每分钟”来”或”不来”。 这一招方向对了。平均一小时 6 位,那就假定每分钟以 的概率来一位,六十分钟独立重复——这是二项分布,可以算。
它错在哪?错在一分钟里可能来两位。切成 60 格,每格最多装一位,所以你算出的”一小时来 6 位”的概率是偏的。
那就切细一点。切成 3600 秒,每秒 ;还不够,切成毫秒。这个”再切细一点”的动作可以一直做下去,而关键的事情发生了:切得越细,答案越稳定,最后收敛到一个固定的数。 用 来看这个收敛( 就是窗口内的平均次数):
把窗口切成 n 格,每格发生概率 λ/n,算"0 次""1 次""2 次"的概率
n P(0 次) P(1 次) P(2 次)
4 0.062500 0.250000 0.375000
20 0.121577 0.270170 0.285180
100 0.132620 0.270652 0.273414
10000 0.135308 0.270671 0.270698
──────────────────────────────────────────
切到无穷 0.135335 0.270671 0.270671 ← 泊松分布
极限就是泊松分布。它不是另一套理论,而是”把时间切到无限细的二项分布”。也正因为经过了这个极限,格子数 消失了,公式里只剩下一个参数 。
机制:亲手算 λ = 2 的那一列
公式是
三个零件: 是窗口内的平均次数; 是你要问的具体次数; 是阶乘(,规定 )。 是自然常数,。
取 手算一遍,每一步都写出来:
k=0: 2^0 · e^-2 / 0! = 1 × 0.135335 / 1 = 0.135335
k=1: 2^1 · e^-2 / 1! = 2 × 0.135335 / 1 = 0.270671
k=2: 2^2 · e^-2 / 2! = 4 × 0.135335 / 2 = 0.270671
k=3: 2^3 · e^-2 / 3! = 8 × 0.135335 / 6 = 0.180447
k=4: 2^4 · e^-2 / 4! = 16 × 0.135335 / 24 = 0.090224
k=5: 2^5 · e^-2 / 5! = 32 × 0.135335 / 120 = 0.036089
k=6: 2^6 · e^-2 / 6! = 64 × 0.135335 / 720 = 0.012030
累计 = 0.995466
k ≥ 7 的剩余 = 0.004534
画成柱状图(一个 # 约 0.0067):
k=0 │#################### 0.135335
k=1 │######################################### 0.270671
k=2 │######################################### 0.270671
k=3 │########################### 0.180447
k=4 │############## 0.090224
k=5 │##### 0.036089
k=6 │## 0.012030
└──────────────────────────────────────────
形状里有三件事值得停一下。
一,最高点不止一个。 和 概率完全相同,都是 0.270671。不是巧合:从 到 要乘 ,正好不变。一般地 ,这个递推比原公式好算——从 出发,乘 就得到 。
二,不对称。 左边被 0 挡住(次数不能是负的),右边可以一直伸出去。所以尾巴在右侧拖得很长。
三,右尾衰减极快。 分母的 涨得比分子的 猛得多, 一大就把整项压平。 只有 的二十二分之一。
回到书店。,同一个公式:
k=0 0.002479 │
k=1 0.014873 │###
k=2 0.044618 │#########
k=3 0.089235 │##################
k=4 0.133853 │###########################
k=5 0.160623 │################################
k=6 0.160623 │################################
k=7 0.137677 │############################
k=8 0.103258 │#####################
k=9 0.068838 │##############
k=10 0.041303 │########
k=11 0.022529 │#####
k=12 0.011264 │##
k=13 0.005199 │#
k=14 0.002228 │
老板要的答案都在这张表里:恰好 6 位的概率 0.160623;3 位或更少 0.151204;10 位或更多 0.083924;落在 4 到 8 位之间 0.696034。他现在知道,按”6 位”排班,大约每七个小时就有一个小时人手明显不够。
这张表也解释了为什么 时 和 又打平:。当 是整数时, 和 概率总是相等的。
回访:这就是切细了的抛硬币
第三招被否掉的时候,其实已经把泊松分布造出来了。它就是二项分布——独立重复地”发生/不发生”——把格子切到无限细的样子。所以它和随机游走同源:随机游走每一步问”往前还是往后”,也是一串独立的二元选择。区别只在关心什么:随机游走关心累计位置,泊松分布关心固定窗口内发生的次数。
这个亲缘关系还解释了工作量证明为什么天然是泊松的。矿工每一次哈希尝试,都是一次成功概率极小的独立试验;一秒钟里有天文数字般多次尝试。这正是”格子极多、每格概率极低”的标准情形,于是”十分钟内出几个块”就服从 的泊松分布。难度调整所维护的东西,本质上就是让这个 保持在 1。
而 这个例子不是随手挑的。比特币白皮书第 11 节要算:收款方等了 个确认,藏在暗处的攻击者在这段时间里可能已经挖出了几个块。中本聪的处理是——攻击者的进度服从泊松分布,期望值
其中 是攻击者算力占比, 是诚实方的。直觉是:诚实方花了出 个块的时间,攻击者以 的相对速率在挖,所以期望挖出 个。
代入一个具体攻击者:(掌握四分之一算力),(等六个确认)。那么 ,于是
上面手算的那一列,正是这个攻击者的进度分布。它说:他一个块都没挖到的概率 0.135335,挖到 1 个 0.270671,挖到 2 个 0.270671,挖到 6 个及以上(也就是已经追上)约 0.017。把每一种进度的概率乘上”从落后 处还能追平”的概率再加起来,就得到白皮书那个总概率 0.0499426——这一步用到的追平概率来自赌徒破产问题。
值得记住的是这个对比:只看赌徒破产、忽略攻击者的隐藏进度,会算出 ,也就是 1/729。而把泊松分布考虑进去后是 0.0499426,大了 36 倍。泊松分布在这里不是装饰,它是”收款方不知道对手已经跑了多远”这个不确定性的价钱。
边界与常见误解
它不是万能的计数分布。 泊松分布有两个前提:事件互相独立,平均速率恒定。都不难违反。顾客成群结队进店(一家四口同时进门)就不独立;午餐时段的速率和凌晨不一样,就不恒定。把泊松分布套到一个明显扎堆的过程上,会系统性地低估极端情况。
方差不是可以随便设的。 泊松分布的方差恰好等于 ,标准差是 。 时标准差 。这是公式的推论,不是可调的旋钮。真实数据的方差常常大于均值(叫过度分散),那是在提醒你事件其实不独立。
不必是整数, 必须是。 在白皮书里通常算出小数,完全正常——平均值可以是 2.5 个块。但 是发生次数,只能取 0, 1, 2, …。所以严格说泊松分布没有”密度”,只有各点的概率,白皮书里的”Poisson density”是个不太严谨的叫法。
,不是 0。 常有人以为”平均 6 次”意味着一小时肯定至少来一个人。 时空一小时的概率是 ,不大,但每 400 小时就该出现一次。同理,攻击者在 时一块未得的概率是 ,这是分布里最需要单独盯住的一项,因为它对应着攻击者最不利的开局。
提到这个词条的文章
- 比特币白皮书逐节拆解经典拆解 2026-07-31