在处理离散型随机变量(尤其是马尔可夫链中的“首达时间”、“等待步数”等非负整数变量)时,我们经常会遇到一个痛点:精确计算某件事在“恰好第 k 步”发生的概率 P(T=k) 极其困难,但计算这件事“撑过第 n 步还没发生”的概率 P(T>n) 却非常容易。
这时候,概率论中一个极其优美的公式就派上用场了——尾概率求和公式 (Tail Sum Formula),或者形象地称之为千层饼表示法 (Layer Cake Representation)。
核心公式
对于任意取值为非负整数的随机变量 T(即 T∈{0,1,2,…}),其期望值 E[T] 可以表示为所有“尾概率”的无穷级数求和:
E[T]=n=0∑∞P(T>n)
这个公式是怎么来的呢?这里有两种视角的证明:一种是直观的图形法,一种是严谨的代数法。
证明视角一:直观图形法(“换个方向切蛋糕”)
让我们回到期望值最朴素的定义。期望就是“变量取值”乘以“对应概率”的总和:
E[T]=k=1∑∞k⋅P(T=k)
我们可以把这个求和公式像铺砖一样,一行一行地全部展开写出来:
E[T]= P(T=1)+P(T=2)+P(T=2)+P(T=3)+P(T=3)+P(T=3)+P(T=4)+P(T=4)+P(T=4)+P(T=4)+…
原始的期望公式,相当于横着(按行)把这些概率加起来。
见证奇迹的时刻到了: 我们现在不横着加了,我们**竖着(按列)**把它们加起来!
-
第 1 列的总和:P(T=1)+P(T=2)+P(T=3)+…
这不就是 T 取所有 ≥1 的值的概率总和吗?也就是 P(T≥1),等价于 P(T>0)。
-
第 2 列的总和:P(T=2)+P(T=3)+P(T=4)+…
这是 T≥2 的概率总和,也就是 P(T≥2),等价于 P(T>1)。
-
第 3 列的总和:P(T=3)+P(T=4)+…
等价于 P(T>2)。
-
以此类推……
把每一列加起来的结果再求总和,我们就得到了:
E[T]=P(T>0)+P(T>1)+P(T>2)+…
用求和符号浓缩一下,正是我们的目标公式:
E[T]=n=0∑∞P(T>n)
证明视角二:严谨代数法(交换求和顺序)
如果你更喜欢纯逻辑的数学推导,我们可以利用双重求和的顺序交换(Double Summation Swap)来证明。
首先,一个整数 k 可以写成 k 个 1 连加的形式:
k=n=0∑k−11
我们将这个替换代入到期望的原始定义中:
E[T]=k=1∑∞k⋅P(T=k)=k=1∑∞(n=0∑k−11)P(T=k)
将其写成双重求和的形式:
E[T]=k=1∑∞n=0∑k−1P(T=k)
这里求和的依赖关系是:外层 k 从 1 到 ∞,内层 n 从 0 到 k−1。这意味着必须满足不等式 n≤k−1,即 k≥n+1。
现在我们交换求和符号的顺序。我们让 n 作为外层循环,范围从 0 到 ∞。对于每一个固定的 n,为了满足 k≥n+1 的条件,k 必须从 n+1 开始,一直到 ∞。
所以交换顺序后变成:
E[T]=n=0∑∞(k=n+1∑∞P(T=k))
观察括号里的部分 ∑k=n+1∞P(T=k),它展开就是 P(T=n+1)+P(T=n+2)+…
根据概率的定义,这完美等价于 P(T>n)!
代入进去,大功告成:
E[T]=n=0∑∞P(T>n)
为什么这个公式在马尔可夫链中如此重要?
在诸如 Success Run Chain(成功连击链) 的马尔可夫链模型中,要求解首达时间(比如回到状态 0 的期望步数 E[T0])。
要精确计算 P(T0=k) 意味着:“开局连续成功了 k−1 次,并且恰好在第 k 次失败”,这个表达式在状态转移概率随状态变化时,计算非常繁琐。
但是,利用 Tail Sum Formula,我们只需要计算 P(T0>n)。
P(T0>n) 的物理意义极其直白:“前 n 步我一直没有回到 0”。在连击游戏中,这就等价于**“开局我连续成功了 n 次,一次都没断过”**。这只需将前 n 步的成功概率直接连乘即可得出,难度骤降。
这个公式完美地把极难计算的离散精确概率,转化成了极容易计算的连续存活概率的累加。