在处理离散型随机变量(尤其是马尔可夫链中的“首达时间”、“等待步数”等非负整数变量)时,我们经常会遇到一个痛点:精确计算某件事在“恰好第 kk 步”发生的概率 P(T=k)P(T=k) 极其困难,但计算这件事“撑过第 nn 步还没发生”的概率 P(T>n)P(T>n) 却非常容易。

这时候,概率论中一个极其优美的公式就派上用场了——尾概率求和公式 (Tail Sum Formula),或者形象地称之为千层饼表示法 (Layer Cake Representation)

核心公式

对于任意取值为非负整数的随机变量 TT(即 T{0,1,2,}T \in \{0, 1, 2, \dots\}),其期望值 E[T]\mathbb{E}[T] 可以表示为所有“尾概率”的无穷级数求和:

E[T]=n=0P(T>n)\mathbb{E}[T] = \sum_{n=0}^{\infty} P(T > n)

这个公式是怎么来的呢?这里有两种视角的证明:一种是直观的图形法,一种是严谨的代数法。


证明视角一:直观图形法(“换个方向切蛋糕”)

让我们回到期望值最朴素的定义。期望就是“变量取值”乘以“对应概率”的总和:

E[T]=k=1kP(T=k)\mathbb{E}[T] = \sum_{k=1}^{\infty} k \cdot 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)+\begin{aligned} \mathbb{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) \\ & + \dots \end{aligned}

原始的期望公式,相当于横着(按行)把这些概率加起来。

见证奇迹的时刻到了: 我们现在不横着加了,我们**竖着(按列)**把它们加起来!

  • 第 1 列的总和P(T=1)+P(T=2)+P(T=3)+P(T=1) + P(T=2) + P(T=3) + \dots

    这不就是 TT 取所有 1\ge 1 的值的概率总和吗?也就是 P(T1)P(T \ge 1),等价于 P(T>0)P(T > 0)

  • 第 2 列的总和P(T=2)+P(T=3)+P(T=4)+P(T=2) + P(T=3) + P(T=4) + \dots

    这是 T2T \ge 2 的概率总和,也就是 P(T2)P(T \ge 2),等价于 P(T>1)P(T > 1)

  • 第 3 列的总和P(T=3)+P(T=4)+P(T=3) + P(T=4) + \dots

    等价于 P(T>2)P(T > 2)

  • 以此类推……

把每一列加起来的结果再求总和,我们就得到了:

E[T]=P(T>0)+P(T>1)+P(T>2)+\mathbb{E}[T] = P(T > 0) + P(T > 1) + P(T > 2) + \dots

用求和符号浓缩一下,正是我们的目标公式:

E[T]=n=0P(T>n)\mathbb{E}[T] = \sum_{n=0}^{\infty} P(T > n)


证明视角二:严谨代数法(交换求和顺序)

如果你更喜欢纯逻辑的数学推导,我们可以利用双重求和的顺序交换(Double Summation Swap)来证明。

首先,一个整数 kk 可以写成 kk11 连加的形式:

k=n=0k11k = \sum_{n=0}^{k-1} 1

我们将这个替换代入到期望的原始定义中:

E[T]=k=1kP(T=k)=k=1(n=0k11)P(T=k)\mathbb{E}[T] = \sum_{k=1}^{\infty} k \cdot P(T = k) = \sum_{k=1}^{\infty} \left( \sum_{n=0}^{k-1} 1 \right) P(T = k)

将其写成双重求和的形式:

E[T]=k=1n=0k1P(T=k)\mathbb{E}[T] = \sum_{k=1}^{\infty} \sum_{n=0}^{k-1} P(T = k)

这里求和的依赖关系是:外层 kk11\infty,内层 nn00k1k-1。这意味着必须满足不等式 nk1n \le k-1,即 kn+1k \ge n+1

现在我们交换求和符号的顺序。我们让 nn 作为外层循环,范围从 00\infty。对于每一个固定的 nn,为了满足 kn+1k \ge n+1 的条件,kk 必须从 n+1n+1 开始,一直到 \infty

所以交换顺序后变成:

E[T]=n=0(k=n+1P(T=k))\mathbb{E}[T] = \sum_{n=0}^{\infty} \left( \sum_{k=n+1}^{\infty} P(T = k) \right)

观察括号里的部分 k=n+1P(T=k)\sum_{k=n+1}^{\infty} P(T = k),它展开就是 P(T=n+1)+P(T=n+2)+P(T = n+1) + P(T = n+2) + \dots

根据概率的定义,这完美等价于 P(T>n)P(T > n)

代入进去,大功告成:

E[T]=n=0P(T>n)\mathbb{E}[T] = \sum_{n=0}^{\infty} P(T > n)


为什么这个公式在马尔可夫链中如此重要?

在诸如 Success Run Chain(成功连击链) 的马尔可夫链模型中,要求解首达时间(比如回到状态 0 的期望步数 E[T0]\mathbb{E}[T_0])。

要精确计算 P(T0=k)P(T_0 = k) 意味着:“开局连续成功了 k1k-1 次,并且恰好在第 kk 次失败”,这个表达式在状态转移概率随状态变化时,计算非常繁琐。

但是,利用 Tail Sum Formula,我们只需要计算 P(T0>n)P(T_0 > n)

P(T0>n)P(T_0 > n) 的物理意义极其直白:“前 nn 步我一直没有回到 0”。在连击游戏中,这就等价于**“开局我连续成功了 nn 次,一次都没断过”**。这只需将前 nn 步的成功概率直接连乘即可得出,难度骤降。

这个公式完美地把极难计算的离散精确概率,转化成了极容易计算的连续存活概率的累加