条件概率:三硬币问题
坑边闲话:以前我的社长,每次跟我讨论概率问题时,都特别强调,“我们所有的概率观测,实际上都是条件概率”。之前我不太懂这句话是什么,但是今天推导“三硬币问题”的时候,我发现用条件概率模型更加简单。
三硬币模型:假设有 3 个硬币,标号为 $A$,$B$,$C$. 三枚硬币都是不均匀的,抛掷得到正面的概率分别为 $\pi$、$p$、$q$. 现在进行这样一个实验:先抛掷硬币 $A$,如果得到正面,就抛掷硬币 $B$,否则就抛掷 $C$. 抛掷 $B$ 或者 $C$ 的结果,为本实验的结果。注意,中间抛掷 $A$ 的结果,我们不关心,而且也看不到. 现在问,如果你只知道重复若干次本实验的结果,不能观看实验过程,你能否恢复出参数 $\pi$、$p$、$q$?
再次提醒:你只能看到连续多次实验的结果,对于 $\pi$、$p$、$q$ 一无所知。现在要求你根据观测结果,恢复 $\pi$、$p$、$q$.
现在猜测一下,如果结果中频繁出现正面,那么说明硬币 $B$ 和 $C$ 中至少有一个侧重出现正面,如果两个都偏向出现正面,那么硬币 $A$ 的正面概率将不太好预测;还有一种可能,硬币 $B$ 和 $C$ 的正面概率不等,一个高一个低,不妨设 $B$ 更容易出现正面,$C$ 更容易出现反面,那么 $A$ 应该倾向于让结果由 $B$ 决定,即 $A$ 更容易出现正面。
1. 解题思路·
为了方便建立公式,我们令 $\theta = (\pi,\ p,\ q)$,$\theta$ 也就是我们要得到的目标。
另设随机变量 $y$ 是观测结果,表示一次三硬币实验的观测结果,取值在 $S = {0,\ 1}$. 该变量我们是可以观测到的。
另外,中间的硬币 $A$ 的结果,我们看不到,于是假设其值为随机变量 $z$,因为这个变量无法观测,我们称之为“隐形的变量”,简称隐变量。
再次强调,随机变量 $y$ 是可观测的,随机变量 $z$ 是不可观测的。
那么根据全概率公式,我们有:
$$ \mathbb{P}{\theta}(y) = \sum_z{\mathbb{P}{\theta}(y,\ z)} $$
提醒:这种形式可能在国内教科书上不常见,但是更加合理,不要再用 “$|$” 来划分观测变量和已知情况了。
现在我们的目标是把上式中的 $z$ 消掉,否则含有隐变量的式子没什么意义。
对于条件概率下的联合概率,只需要把它们看作一个整体就可以,所以再次根据条件下的联合概率公式,就有
$$ \begin{aligned} \mathbb{P}{\theta}(y) &= \sum_z{\mathbb{P}{\theta}(y,\ z)} \\ &= \sum_z{\mathbb{P}{\theta}(z)\cdot \mathbb{P}{\theta,\ z}(y)} \end{aligned} $$
上述概率其实非常简单,根据样本空间理论,可以画个 Venn 图:
通过图 1,我们可推导一下:
通过 $\theta = (\pi,\ p,\ q)$ 的意义,我们反代入,得到
$$ \begin{aligned} \mathbb{P}{\theta}(y) &= \sum_z{\mathbb{P}{\theta}(y,\ z)} \\ &= \sum_z{\mathbb{P}{\theta}(z)\cdot \mathbb{P}{\theta,\ z}(y)}\\ &= \pi py(1-p){1-y} + (1-\pi)qy(1-q){1-y} \end{aligned} $$
公式解释:$z$ 有两种结果:当 $z$ 朝上,$\mathbb{P}{\theta}(z)$ 取值为 $\pi$,即 $A$ 硬币朝上时,$y$ 的结果取决于硬币 $B$,$\mathbb{P}{\theta,\ z}(y)$ 与 $p$ 相关;反之,$y$ 的结果取决于硬币 $C$,$\mathbb{P}_{\theta,\ z}(y)$ 与 $q$ 相关。上标的 $y$ 只是为了方便描述两种情形而已。
自此我们就成功地将观测结果与 $\theta = (\pi,\ p,\ q)$ 联系起来了。虽然这么做,不如直接根据概率路径选择做简单。
考虑重复这个实验很多次,得到了一列观测结果 $Y=(y_1,\ y_2,\ \cdots ,y_n)$,同时假设相应的隐变量取值为 $Z=(z_1,\ z_2,\ \cdots ,z_n)$. 那么观测数据的似然函数为
$$ \mathbb{P}{\theta}(Y) = \sum{Z}\mathbb{P}{\theta}(Z)\mathbb{P}{\theta,\ Z}(Y) $$
坑边闲话:其实写成上述矩阵、向量的形式没什么意义,只是看着好看而已。
写成一般形式,就是:
$$ \mathbb{P}{\theta}(Y) = \prod{j=1}^{n}\pi p{y_j}(1-p){1-y_j} + (1-\pi)q{y_j}(1-q){1-y_j} $$
一串独立同分布的随机变量,出现一串值,自然是每个单独取值概率的乘积。
这时候调用 EM 算法,求模型参数 $\theta = (\pi,\ p,\ q)$ 的极大似然估计即可。
$$ \hat{\theta} = \arg \max \log(\mathbb{P}_{\theta}(Y)) $$
总结·
三硬币模型是一个很有趣的问题,描述背后的原理不难,用极大似然估计求出参数才是有技术含量的。接下来我将利用最大期望方法求解该问题。
Cover 劳动节第三篇文章