6.7 变量变换/逆变换 虽然已知的分布种类似乎很多,但实际上,我们有明确名称的分布集合是相当有限的。因此,了解变换后的随机变量的分布方式通常很有用。例如,假设$X$是一个服从单变量正态分布$\mathcal{N}(0,1)$的随机变量,那么$X^2$的分布是什么?另一个在机器学习中很常见的例子是,如果$X1$和$X2$都是标准正态分布的单变量,那么$\frac{1}{2}(X1+X2)$的分布是什么? 计算$\frac{1}{2}(X1+X2)$分布的一种方法是先计算$X1$和$X2$的均值和方差,然后再进行组合。正如我们在6.4.4节中看到的,当我们考虑随机变量的仿射变换时,可以计算出结果随机变量的均值和方差。然而,我们可能无法获得变换后分布的函数形式。
虽然已知的分布种类似乎很多,但实际上,我们有明确名称的分布集合是相当有限的。因此,了解变换后的随机变量的分布方式通常很有用。例如,假设X是一个服从单变量正态分布\mathcal{N}(0,1)的随机变量,那么X^2的分布是什么?另一个在机器学习中很常见的例子是,如果X_1和X_2都是标准正态分布的单变量,那么\frac{1}{2}(X_1+X_2)的分布是什么?
计算\frac{1}{2}(X_1+X_2)分布的一种方法是先计算X_1和X_2的均值和方差,然后再进行组合。正如我们在6.4.4节中看到的,当我们考虑随机变量的仿射变换时,可以计算出结果随机变量的均值和方差。然而,我们可能无法获得变换后分布的函数形式。此外,我们可能对随机变量的非线性变换感兴趣,而这些变换的闭式表达式并不容易获得。
注(符号):在本节中,我们将明确随机变量及其取值。因此,请回忆一下,我们使用大写字母X,Y来表示随机变量,使用小写字母x,y来表示随机变量在目标空间\mathcal{T}中取的值。我们将离散随机变量X的概率质量函数(PMF)明确写为P(X=x)。对于连续随机变量X(第6.2.2节),概率密度函数(PDF)写为f(x),累积分布函数(CDF)写为F_X(x)。
\diamondsuit
我们将探讨两种方法来获得随机变量变换后的分布:一种方法是使用累积分布函数的定义进行直接计算,另一种方法是使用微积分中的链式法则(第5.2.2节)的变量变换方法。变量变换方法被广泛使用,因为它提供了一个尝试计算变换后分布的“配方”。我们将解释针对单变量随机变量的技术,并仅简要给出多变量随机变量一般情况的结果。
离散随机变量的变换可以通过直接变换来理解(第6.2.1节),并考虑一个可逆函数U(x)。考虑变换后的随机变量Y:=U(X),其PMF为P(Y=y)。那么
P(Y=y)=P(U(X)=y) (感兴趣的变换,6.125a)
=P(X=U^{-1}(y)) (逆变换,6.125b)
其中我们可以观察到x=U^{-1}(y)。因此,对于离散随机变量,变换直接改变了各个事件(同时适当地变换了概率)。
分布函数技术回归到基本原理,利用累积分布函数(CDF)F_X(x)=\bar{P}(X\leqslant x)的定义,以及其微分为概率密度函数(PDF)f(x)的事实(Wasserman, 2004, 第2章)。对于随机变量X和函数U,我们通过以下步骤找到随机变量Y:=U(X)的PDF:
(6.126)
(6.127)
我们还需要记住,由于U的变换,随机变量的定义域可能已经改变。
例6.16
设\dot{X}是一个连续随机变量,其概率密度函数为在0\leqslant x\leqslant1上
f(x)=3x^2(6.128)
我们感兴趣的是找到Y=X^2的概率密度函数(PDF)。
函数f是x的增函数,因此得到的y值位于区间[0,1]内。我们得到
(6.129a) (6.129b) (6.129c) (6.129d)\begin{aligned} F_{Y}(y)&=P(Y\leqslant y)&\text{CDF的定义}\\ &=P(X^{2}\leqslant y)&\text{感兴趣的变换}\\ &=P(X\leqslant y^{\frac{1}{2}})&\text{逆变换}\\ &=F_{X}(y^{\frac{1}{2}})&\text{CDF的定义}\\ &=\int_{0}^{y^{\frac{1}{2}}}3t^{2}\mathrm{d}t&\text{CDF作为定积分}\\ &=\left[t^{3}\right]_{t=0}^{t=y^{\frac{1}{2}}}&\text{积分结果}\\ &=y^{\frac{3}{2}}\:,\quad0\leqslant y\leqslant1\:. \end{aligned}(6.129e) (6.129f) (6.129g)
因此,Y的CDF为F_Y(y)=y^{\frac32}(6.130)
对于0\leqslant y\leqslant1。为了得到PDF,我们对CDF求导
(6.131)
f(y)=\dfrac{\mathrm d}{\mathrm dy}F_Y(y)=\dfrac{3}{2}y^{\frac{1}{2}}\text{对于}0\leqslant y\leqslant1.
在例6.16中,我们考虑了一个严格单调递增的函数f(x)=3x^2。这意味着我们可以计算其反函数。一般来说,我们要求感兴趣的函数y=U(x)具有反函数x=U^{-1}(y)。通过考虑随机变量X的累积分布函数F_X(x),并将其用作变换U(x),我们可以得到一个有用的结果。这导致了以下定理。
定理6.15. [Casella和Berger (2002)中的定理2.1.10] 设X是一个具有严格单调累积分布函数F_X(x)的连续随机变量。那么定义为
(6.132)
的随机变量Y具有均匀分布。
定理6.15被称为概率积分变换,它用于通过转换来自均匀随机变量的抽样结果来推导从分布中抽样的算法(Bishop,2006)。该算法的工作原理是,首先从一个均匀分布中生成一个样本,然后通过逆cdf(假设这是可用的)转换它,以从期望的分布中获得一个样本。概率积分变换也用于假设检验一个样本是否来自一个特定的分布(Lehmann和Romano,2005)。cdf的输出给出均匀分布的想法也形成了连接的基础(Nelsen,2006)。
第6.7.1节中的分布函数技术是基于第一性原理推导出来的,它基于累积分布函数(CDF)的定义,并利用反函数、微分和积分的性质。这种从第一性原理出发的论证依赖于两个事实:
让我们逐步分解推理过程,以理解定理6.16中更一般的变量替换方法。
注记:“变量替换”的名称来源于在面对复杂积分时改变积分变量的想法。对于单变量函数的变量替换,我们使用积分的换元法,
(6.133)
这个规则的推导基于微积分的链式法则(5.32)并应用微积分基本定理两次。微积分基本定理将积分和微分在某种程度上形式化为“逆”运算。通过(大致上)考虑方程u=g(x)的小变化(微分),即考虑\Delta u=g^\prime(x)\Delta x作为u=g(x)的微分,我们可以直观地理解这个规则。通过将u=g(x)代入,积分右侧括号内的自变量变为f(g(x))。通过假设du可以近似为du\approx\Delta u=g^\prime(x)\Delta x,且dx\approx\Delta x,我们得到(6.133)。
\diamondsuit
考虑一个单变量随机变量X,以及一个可逆函数U,它给我们另一个随机变量Y=U(X)。我们假设随机变量X的状态x位于区间[a, b]。根据CDF的定义,我们有
(6.134)
我们感兴趣的是随机变量的函数U
(6.135)
其中我们假设函数U是可逆的。在区间上的可逆函数要么是严格递增的,要么是严格递减的。在U严格递增的情况下,其反函数U^{-1}也是严格递增的。通过对P(U(X)\leqslant y)的自变量应用反函数U^{-1},我们得到
(6.136)
(6.136)中的最右边项是X的CDF的表达式。回想一下根据PDF定义的CDF
(6.137)
现在我们有了关于x的Y的CDF的表达式:
(6.138)
为了得到PDF,我们对(6.138)关于y求导:
(6.139)
请注意,右侧的积分是关于x的,但我们需要一个关于y的积分,因为我们要对y求导。特别地,我们使用(6.133)进行替换
将(6.140)应用于(6.139)的右侧,我们得到
(6.141)
然后,我们回忆到微分是一个线性算子,并且我们使用下标x来提醒自己f_x(U^{-1}(y))是x的函数而不是y的函数。再次调用微积分基本定理,我们得到
(6.142)
回忆一下,我们假设U是一个严格增函数。对于减函数,按照相同的推导,我们会发现前面有一个负号。为了对增函数和减函数都使用相同的表达式,我们引入微分的绝对值:
(6.143)
这被称为变量变换技术。在变量变换技术中,术语\left|\frac{\mathrm{d}}{\mathrm{d}y}U^{-1}(y)\right|
(6.143)用于衡量在应用U时单位体积的变化量(也请参见第5.3节中Jacobian 行列式的定义)。
备注。与(6.125b)中的离散情况相比,我们有一个额外的因子\left|\frac{\mathrm{d}}{\mathrm{d}y}U^{-1}(y)\right|。连续情况需要更加小心,因为对于所有y,P(Y=y)=0。概率密度函数f(y)不能描述为涉及y的事件的概率。
\diamondsuit
到目前为止,在本节中,我们一直在研究单变量变量的变换。多变量随机变量的情况类似,但由于绝对值不能用于多变量函数,因此情况更为复杂。相反,我们使用Jacobian 矩阵的行列式。从(5.58)中回忆,Jacobian 是一个偏导数矩阵,非零行列式的存在表明我们可以对Jacobian 进行求逆。回想第4.1节中的讨论,行列式的出现是因为我们的微分(体积的立方体)通过Jacobian 变换成平行六面体。让我们在以下定理中总结前面的讨论,该定理为我们提供了多变量变量变换的方法。
定理6.16。[比林斯利(1995)中的定理17.2]设f(x)是多元连续随机变量X的概率密度的值。如果向量值函数y=U(x)在其定义域内的所有值上都是可微且可逆的,则对于对应的y值,Y=U(X)的概率密度由下式给出:
(6.144)
这个定理初看起来有些吓人,但关键点是多元随机变量的变量变换遵循单变量变量变换的程序。首先,我们需要求出逆变换,并将其代入x的密度函数中。然后,我们计算Jacobian 矩阵的行列式并乘以结果。以下示例说明了双变量随机变量的情况。
例6.17
考虑一个双变量随机变量X,其状态为x=\begin{bmatrix}x_1\\x_2\end{bmatrix},且概率密度函数为f\left(\begin{bmatrix}x_1\\x_2\end{bmatrix}\right)=\dfrac{1}{2\pi}\exp\left(-\dfrac{1}{2}\begin{bmatrix}x_1\\x_2\end{bmatrix}^\top\begin{bmatrix}x_1\\x_2\end{bmatrix}\right)\:.(6.145)
我们使用定理6.16中的变量变换技术来推导随机变量的线性变换(第2.7节)的效果。
考虑一个矩阵A\in\mathbb{R}^{2\times2},定义为(6.146)
A=\begin{bmatrix}a&b\\c&d\end{bmatrix}\:.我们感兴趣的是找到变换后的双变量随机变量Y(其状态为y=Ax)的概率密度函数。
回忆一下,对于变量变换,我们需要将x作为y的函数进行逆变换。由于我们考虑的是线性变换,逆变换由矩阵的逆给出(参见第2.2.2节)。对于2\times2矩阵,我们可以明确写出其公式,即\begin{bmatrix}x_1\\x_2\end{bmatrix}=\boldsymbol{A}^{-1}\begin{bmatrix}y_1\\y_2\end{bmatrix}=\dfrac{1}{ad-bc}\begin{bmatrix}d&-b\\-c&a\end{bmatrix}\begin{bmatrix}y_1\\y_2\end{bmatrix}.(6.147)
请注意,ad-bc是矩阵A的行列式(第4.1节)。
相应的概率密度函数由下式给出:
f(\boldsymbol{x})=f(\boldsymbol{A}^{-1}\boldsymbol{y})=\frac{1}{2\pi}\exp\left(-\frac{1}{2}\boldsymbol{y}^{\top}\boldsymbol{A}^{-\top}\boldsymbol{A}^{-1}\boldsymbol{y}\right).(6.148)
矩阵乘以向量关于向量的偏导数就是矩阵本身(第5.5节),因此
\frac\partial{\partial \boldsymbol{y}}A^{-1}\boldsymbol{y}=A^{-1}\:.(6.149)
回忆第4.1节,逆矩阵的行列式是行列式的倒数,所以Jacobian 矩阵的行列式为
(6.150)
\det\left(\frac{\partial}{\partial \boldsymbol{y}}\boldsymbol{A}^{-1}\boldsymbol{y}\right)=\frac{1}{ad-bc}\:.现在我们可以应用定理6.16中的变量变换公式,将(6.148)与(6.150)相乘,得到
(6.151a)
\begin{aligned}f(\boldsymbol{y})&=f(\boldsymbol{x})\left|\det\left(\frac{\partial}{\partial\boldsymbol{y}}A^{-1}\boldsymbol{y}\right)\right|\\&=\frac{1}{2\pi}\exp\left(-\frac{1}{2}\boldsymbol{y}^{\top}\boldsymbol{A}^{-\top}\boldsymbol{A}^{-1}\boldsymbol{y}\right)|ad-bc|^{-1}.\end{aligned}(6.151b)
尽管示例6.17是基于双变量随机变量的,这使得我们可以很容易地计算矩阵的逆,但前面的关系在高维情况下也是成立的。
备注。我们在第6.5节中看到,(6.148)中的密度函数f(x)实际上是标准高斯分布,而变换后的密度函数f(\boldsymbol{y})是具有协方差\Sigma=AA^\top的双变量高斯分布。
\diamondsuit
我们将在本章中使用这些思想来描述第8.4节中的概率建模,并在第8.5节中引入图形语言。我们将在第9章和第11章中看到这些思想在机器学习中的直接应用。