6.4 卷积

设两个随机变量X和Y的累积分布函数分别为CDFX和CDFY,Z=X+Y,那么Z服从什么分布呢?

一种简单的估算Z的分布的方法是编写一个RandomVariable对象,产生一些X和Y,然后将它们加起来。下面是这种方法的代码实现:

class Sum(RandomVariable): 
  def __init__(X, Y): 
    self.X = X 
    self.Y = Y 

  def generate(): 
    return X.generate() + Y.generate()

我们可以产生很多Z的随机数,然后估计CDFZCDF_Z

上述方法是一个非常简单直观的方法,但不是很有效。为了能对CDFZCDF_Z有一个较准确的估计,我们必须产生大量的X和Y的随机数。而且不管这个精度被提高到什么程度,它总归不是Z的真实分布。

假设随机变量X和Y的累积分布函数CDFXCDF_XCDFYCDF_Y有解析表达式,在某些情况下我们可以通过数学推导得到CDFZCDF_Z的解析表达式。

接下来介绍公式推导过程。

1. 从最简单的情况出发,假设随机变量X只能某个值x,这时CDFZ(z)CDF_Z(z)等于

P(ZzX=x)=P(Yzx) P(Z \leq z|X=x) = P(Y\leq z-x)

上述等式的左半部分表示的是“在给定X=x的条件下,X+Y小于z的概率”。显然,要使X+Y小于z,就要求Y必须小于z-x。

2. 接下来,我们计算Y小于z-x的概率,根据Y的累积分布函数有 P(Yzx)=CDFY(zx) P(Y \leq z-x) = CDF_Y(z-x) 3. 上述推导过程假设X取某个固定值,但实际上它是一个随机变量。所以,我们还必须考虑X在其取值范围内的所有情况,于是:

P(Zz)=P(ZzXx)PDFX(x)dx P(Z \leq z) = \int_{-\infty}^{\infty}P(Z\leq z|X\leq x)PDF_X(x)dx

被积函数等于“给定X=x的条件下,随机变量Z小于等于z的概率乘以X=x的概率”。

将前面两步的结果带入公式,有

P(Zz)=CDFY(zx)PDFX(x)dx P(Z \leq z) = \int_{-\infty}^{\infty}CDF_Y(z-x)PDF_X(x)dx

等式左边就是CDFZCDF_Z的定义,整理可得:

CDFZ(z)=CDFY(zx)PDFX(x)dx CDF_Z(z) = \int_{-\infty}^{\infty}CDF_Y(z-x)PDF_X(x)dx

4. 我们可以通过对CDFZCDF_Z求导得到PDFZPDF_Z,结果如下:

PDFZ(z)=PDFY(zx)PDFX(x)dx PDF_Z(z) = \int_{-\infty}^{\infty}PDF_Y(z-x)PDF_X(x)dx

如果读者之前学过信号与系统等课程,或许对这个积分公式不会感到陌生。它表示的是概率密度函数PDFXPDF_XPDFYPDF_Y的卷积(convolution)。卷积运算一般用运算符*表示。

PDFZ=PDFYPDFXPDF_Z = PDF_Y*PDF_X

综上可知,两个随机变量的和的分布就等于两个概率密度的卷积。参考 http://wiktionary.org/wiki/booyah!

下面我们通过一个例子来说明如何计算。设随机变量X和Y服从参数为λ的指数分布,则随机变量Z=X+Y的概率密度为:

PDFZ(x)=PDFX(x)PDFY(zx)dx=λeλxλeλ(zx)dx PDF_Z(x) = \int_{-\infty}^{\infty}PDF_X(x)PDF_Y(z-x)dx = \int_{-\infty}^{\infty}\lambda e^{-\lambda x}\lambda e^{-\lambda(z-x)}dx

因为X和Y服从指数分布,它们取负数的概率为0,所以我们可以对上述积分公式的下限进行调整:

PDFZ(z)=0zλeλxλeλ(zx)dx PDF_Z(z) = \int_{0}^{z}\lambda e^{-\lambda x}\lambda e^{-\lambda(z-x)}dx

整理可得:

PDFZ(z)=λ2eλz0zdx=λ2zeλz PDF_Z(z) = \lambda^2e^{-\lambda z}\int_{0}^{z}dx = \lambda^2ze^{-\lambda z}

这是参数为k和λ的爱尔朗分布的概率密度函数,这里k=2。所以两个有相同参数的指数分布的卷积是一个爱尔朗分布。爱尔朗分布参考 http://en.wikipedia.org/wiki/Erlang_distribution

习题6-7

假设随机变量X服从参数为λ的指数分布,Y服从参数为k和λ的爱尔朗分布,Z=X+Y,那么Z服从什么分布呢?

习题6-8

假设我们从一个分布中抽取两个样本X1X_1X2X_2Y=max(X1,X2)Y=max(X_1, X_2),那么Y服从什么分布呢?请分别用PDF和CDF的形式表示。

随着值数量的增多,最大值的分布会收敛到某个极值的分布,参考http://wikipedia.org/wiki/Gumbel_distribution

习题6-9

假设我们有随机变量X和Y的Pmf,Z=X+Y,那么就可以通过枚举法得到Z所有可能的取值:

for x in pmf_x.Values(): 
  for y in pmf_y.Values(): 
    z = x + y

请编写一个关于PMFXPMF_XPMFYPMF_Y的函数,用于计算Z的PMF。

请再编写一个类似的函数,用于计算max(X,Y)的PMF。