7. Change of Variables/Inverse Transform

 

Change of Variables/Inverse Transform

알려져 있는 분포가 많아 보이지만, 실제로 특정한 이름을 갖는 분포 집합은 매우 제한적입니다. 따라서, 변환된 확률 변수가 어떻게 분포되어 있는지 이해하는 것이 종종 도움이 됩니다. 예를 들어, $X$ 가 univariate normal distribution $\mathcal{N}(0, 1)$ 을 따르는 확률 변수라고 가정했을 때, $X^2$ 의 분포는 어떻게 될까요? 또 다른 예시로, univariate standard normal로 주어진 $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장 에서 봤듯이 확률 변수의 affine transformation와 관련한 속성들을 이용하여 최종 확률 변수의 평균과 분산을 계산할 수 있습니다. 그러나, 변환에서 분포의 기능적인 형태(functional form)을 얻지 못할 수도 있습니다. 또한, closed-form expressions를 쉽게 사용할 수 없는 확률 변수의 non-linear transformation에 관심이 있을 수도 있습니다.

Remark. 이번 섹션에서는 확률 변수와 그 확률 변수들의 취하는 값을 명시합니다. 여기서 대문자 $X,Y$ 를 사용하여 확률 변수를 나타내고, 소문자 $x, y$ 를 사용하여 확률 변수가 취하는 target space $\mathcal{T}$ 를 나타냅니다. 예를 들어, 이산 확률 변수 $X$ 의 PMF를 $P(X=x)$ 로 표기합니다. 연속 확률 변수 $X$ 에 대해서 PDF는 $f(x)$ 로 표기하고 CDF는 $F_X(x)$ 로 표기합니다.

확률 변수를 변환한 분포를 얻기 위해서 두 가지 접근 방법을 살펴보겠습니다.

  • CDF(cumulative distribution function)을 사용하는 직접적인 방식
  • 미적분학의 chain rule (5.2.2장)을 사용하는 change-of-variable 방식

Change-of-variable approach는 변환으로 인한 분포를 계산하기 위한 방법을 제공하기 때문에 널리 사용됩니다.


이산 확률 변수의 변환에 대해 살펴보겠습니다. 이산 확률 변수 $X$ 가 있고, 이 확률 변수의 PMF가 $P(X=x)$ , 역함수가 $U(x)$ 라고 가정하겠습니다. 그렇다면 변환된 확률 변수 $Y:=U(X)$ 이고 이 확률 변수의 PMF를 $P(Y=y)$ 라고 하겠습니다. 이를 정리하면 아래와 같습니다.

\[\begin{align*} P(Y=y) &= P(U(X) = y) \tag{6.125a} \\ &= P(X=U^{-1}(y)) \tag{6.125b} \end{align*}\]

위 식에서 $x = U^{-1}(y)$ 라는 것을 확인할 수 있습니다. 따라서, 이산 확률 변수에서 변환은 직접적으로 개별적인 사건들을 변경합니다.

Distribution Function Technique

CDF $F_X(x) = P(X \leq x)$ 와 이를 미분하면 PDF $f(x)$ 가 된다는 사실을 이용하면 distribution function을 구할 수 있습니다. 확률 변수 $X$ 와 함수 $U$ 에 대해서, 확률 변수 $Y:=U(X)$ 의 PDF는 아래의 방법을 통해 찾을 수 있습니다.

  1. Finding the cdf:

    \[F_Y(y) = P(Y\leq y) \tag{6.126}\]
  2. Differentiaing the CDF $F_Y(y)$ to get the PDF $f(y)$ .

    \[f(y) = \frac{\mathrm{d}}{\mathrm{d}y}F_Y(y) \tag{6.127}\]

여기서 $U$ 에 의한 변환으로 인해 확률 변수의 domain이 변경될 수 있다는 것을 명심해야 합니다.

Example 6.16

확률 변수 $X$ 가 $0\leq x\leq1$ 에서 아래의 PDF를 갖는 연속 확률 변수라고 가정해봅시다.

\[f(x) = 3x^2 \tag{6.128}\]

이때, $Y=X^2$ 의 PDF를 찾아봅시다.

함수 $f$ 는 $x$ 에 대한 증가하는 함수이므로, $y$ 의 값은 $[0,1]$ 구간에 놓여 있습니다. 위에서 언급한 방법을 통해서 $Y$ 의 PDF는 다음과 같이 계산할 수 있습니다.

\[\begin{align*} F_Y(y) &= P(Y\leq y) &\qquad\text{definition of cdf} \tag{6.129a} \\ &= P(X^2 \leq y) &\qquad\text{transformation of interest} \tag{6.129b} \\ &= P(X\leq y^{\frac{1}{2}}) &\qquad\text{inverse} \tag{6.129c} \\ &= F_X(y^{\frac{1}{2}}) &\qquad\text{definition of CDF} \tag{6.129d} \\ &= \int_{0}^{y^{\frac{1}{2}}}3t^2\mathrm{d}t &\qquad\text{CDF as a definite integral} \tag{6.129e} \\ &= [t^3]^{t=y^{\frac{1}{2}}}_{y=0} &\qquad\text{result of integration} \tag{6.129f} \\ &= y^{\frac{3}{2}}, \quad 0\leq y\leq 1 \tag{6.129g} \end{align*}\]

따라서, $Y$ 의 CDF는 아래와 같습니다.

\[F_Y(y) = y^{\frac{3}{2}},\quad 0\leq y\leq1 \tag{6.130}\]

PDF는 CDF를 미분하여 얻을 수 있습니다.

\[f(y) = \frac{\mathrm{d}}{\mathrm{d}y}F_Y(y) = \frac{3}{2}y^{\frac{1}{2}}, \quad 0\leq y\leq 1 \tag{6.131}\]

Example 6.16에서 단조 증가 함수(monotonically increasing function) $f(x) = 3x^2$ 에 대해 살펴봤습니다. 이는 역함수를 계산할 수 있다는 것을 의미합니다. 일반적으로 함수 $y=U(x)$ 는 역함수 $x=U^{-1}(y)$ 를 가져야 합니다. 그리고 확률 변수 $X$ 의 CDF $F_X(x)$ 와 transformation $U(x)$ 를 사용하여 유용한 결과를 얻을 수 있습니다. 이는 아래의 theorem 6.15를 도출합니다.

Theorem 6.15. $X$ 를 strictly monotonic한 CDF $F_X(x)$ 를 갖는 연속 확률 변수라고 가정합시다. 그러면 아래와 같이 정의되는 확률 변수 $Y$ 는

\[Y := F_X(X) \tag{6.132}\]

uniform distribution 입니다.

Theorem 6.15는 probability integral function(확률 적분 변환) 이라고 알려져 있으며, uniform random variable에서 샘플링 결과를 변환하여 분포로부터 샘플링하기 위한 알고리즘을 도출하는데 사용됩니다. 이 알고리즘은 먼저 uniform distribution에서 샘플을 생성한 다음, inverse CDF로 변환하여 원하는 분포로부터의 샘플을 얻는 방식으로 동작합니다. Probability integral transform은 샘플이 특정 분포로부터 온 건지 확인하는데도 사용됩니다. CDF의 결과가 uniform distribution을 제공한다는 아이디어는 basis of copulas를 형성합니다.

Change of Variables

6.7.1장의 distribution function technique는 CDF의 정의와 inverses, differentiation, integration의 속성들을 이용하여 유도됩니다. 이는 다음의 두 가지 fact에 기반합니다.

  1. $Y$ 의 CDF를 $X$ 의 CDF로 표현할 수 있음
  2. CDF를 미분하여 PDF를 얻을 수 있음

잠시 뒤에 살펴볼 Theorem 6.16에서 보다 일반적인 change-of-variables approach를 이해하기 위해 단계별로 분석해보겠습니다.

Univariate random variable $X$ 와 invertible function $U$ , 그리고 또 다른 확률 변수 $Y=U(X)$ 가 주어져 있을 때, 확률 변수 $X$ 가 $x\in[a,b]$ 의 state를 갖는다고 가정하겠습니다. CDF의 정의에 따라, 우리는 다음의 식을 얻을 수 있습니다.

\[F_Y(y) = P(Y\leq y) \tag{6.134}\]

확률 변수의 함수 $U$ 에 관심이 있으므로, 위 식을 다음과 같이 작성합니다. 여기서 함수 $U$는 invertible 하다고 가정합니다.

\[P(Y\leq y) = P(U(X)\leq y) \tag{6.135}\]

구간에서 invertible 함수는 strictly increasing 또는 strictly decreasing 합니다. 만약 $U$ 가 strictly increasing 하다면 $U$의 역함수 $U^{-1}$ 또한 strictly increasing 합니다. 역함수 $U^{-1}$ 을 $P(U(X)\leq y)$ 의 인자에 대입하면 아래의 식을 얻을 수 있습니다.

\[P(U(X) \leq y) = P(U^{-1}(U(X)) \leq U^{-1}(y)) = P(X\leq U^{-1}(y)) \tag{6.136}\]

위 식에서 가장 오른쪽에 있는 항은 $X$ 의 CDF 식입니다. 그리고, CDF 정의에 의해 다음의 식이 만족합니다.

\[P(X\leq U^{-1}(y)) = \int_{a}^{U^{-1}(y)} f(x)\mathrm{d}x \tag{6.137}\]

따라서, 우리는 $Y$ 의 CDF를 x항에 대한 식으로 구할 수 있습니다.

\[F_Y(y) = \int_a^{U^{-1}(y)} f(x)\mathrm{d}x \tag{6.138}\]

PDF를 얻기 위해서 식 (6.138)을 $y$ 에 대해 미분하면,

\[f(y) = \frac{\mathrm{d}}{\mathrm{d}y}F_Y(y) = \frac{\mathrm{d}}{\mathrm{d}y}\int_{a}^{U^{-1}(y)}f(x)\mathrm{d}x \tag{6.139}\]

이 됩니다. $y$ 에 대해 미분해야하므로, 우리는 $y$에 대한 적분식이 필요합니다. 따라서, 아래의 식을 사용하여 (6.139) 식을 변형합니다.

\[\int f(U^{-1}(y)){U^{-1}}'(y)\mathrm{d}y = \int f(x)\mathrm{d}x \quad \text{where }x = U^{-1}(y) \tag{6.140}\]

(6.140)을 사용하면 식 (6.139)는 다음과 같이 변경됩니다.

\[f(y) = \frac{\mathrm{d}}{\mathrm{d}y}\int_{a}^{U^{-1}(y)} f_x(U^{-1}(y)){U^{-1}}'(y)\mathrm{d}y \tag{6.141}\]

그러면, 다음과 같이 식이 정리됩니다.

\[f(y) = f_x(U^{-1}(y))\cdot\left(\frac{\mathrm{d}}{\mathrm{d}y}U^{-1}(y)\right) \tag{6.142}\]

$U$ 는 여기서 strictly increasing 이라고 가정했습니다. 만약 decreasing function이라고 음수 부호가 추가되며, 모든 경우에 일반화하기 위해 미분의 절댓값을 도입합니다.

\[f(y) = f_x(U^{-1}(y))\cdot\left|\frac{\mathrm{d}}{\mathrm{d}y}U^{-1}(y)\right| \tag{6.143}\]

이것이 change-of-variable technique 입니다. $|\frac{\mathrm{d}}{\mathrm{d}y}U^{-1}(y)|$ 항은 $U$ 를 적용했을 때 unit volume이 얼마나 변하는지 측정합니다.

Remark. Discrete case (6.125b) 와 비교했을 때, 추가되는 factor $|\frac{\mathrm{d}}{\mathrm{d}y}U^{-1}(y)|$ 가 있습니다. Continuous case는 모든 $y$ 에서 $P(Y=y) = 0$ 이므로 조금 더 주의를 기울여야 하는데, PDF $f(y)$ 는 $y$를 포함하는 이벤트의 확률로 설명되지 않습니다.


지금까지는 univariate change of variables에 대해 살펴봤습니다. Multivariate random variables의 경우에도 유사하지만, multivariate function에서는 절댓값을 사용할 수 없다는 사실로 인해서 좀 더 복잡합니다. 여기서는 대신 Jacobian matrix를 사용합니다. (5.58)로부터 Jacobian은 편도함수의 행렬이고 non-zeor determinant이면 Jacobian의 역행렬이 존재한다는 것을 보여줍니다.

Theorem 6.16. $f(\boldsymbol{x})$ 를 multivariate random variable $X$ 의 value of probability density 라고 합시다. 만약 vector-valued function $\boldsymbol{y}=U(\boldsymbol{x})$ 가 $\boldsymbol{x}$ 의 domain 내의 모든 값에서 differentiable/invertible 하다면, $\boldsymbol{y}$ 에 대응되는 값에 대해 $Y$ 의 probability density는 다음과 같이 주어집니다.

\[f(\boldsymbol{y}) = f_{\boldsymbol{x}}(U^{-1}(\boldsymbol{y}))\cdot\left|\det\left(\frac{\partial}{\partial\boldsymbol{y}}U^{-1}(\boldsymbol{y})\right)\right| \tag{6.144}\]

이 theorem의 핵심은 multivariate 확률 변수의 change of variable 이 univariate change of variable의 절차를 따른다는 것입니다. 먼저 inverse transformation을 계산하고, 이를 $\boldsymbol{x}$ 의 density로 대체해야 합니다. 그런 다음 Jacobian matrix의 determinant를 계산하고 그 결과를 곱합니다. 아래 예제는 multivariate 확률 변수에 대한 예시를 보여줍니다.

Example 6.17

State $\boldsymbol{x}=\begin{bmatrix}x_1\\ x_2\end{bmatrix}$ 를 갖는 bivariate random variable $X$ 를 고려해보겠습니다. 이 확률 변수의 PDF는 아래와 같다고 가정합니다.

\[f\left(\begin{bmatrix}x_1\\x_2\end{bmatrix}\right) = \frac{1}{2\pi}\exp\left(-\frac{1}{2}\begin{bmatrix}x_1\\x_2\end{bmatrix}^\top\begin{bmatrix}x_1\\x_2\end{bmatrix}\right) \tag{6.145}\]

여기서 Theorem 6.16의 change-of-variable technique를 사용하여 확률 변수의 linear transformation의 effect를 유도해보도록 하겠습니다.

Transformation matrix $\boldsymbol{A}\in\mathbb{R}^{2\times2}$ 는 다음과 같이 정의되었다고 간주합니다.

\[\boldsymbol{A} = \begin{bmatrix}a&b\\c&d\end{bmatrix} \tag{6.146}\]

이때, $\boldsymbol{y}=\boldsymbol{Ax}$ 의 state를 갖는 변형된 bivariate random variable $Y$ 의 PDF를 찾아보겠습니다.

Change of variables를 위해서 $\boldsymbol{x}$ 의 inverse transformation이 $y$ 에 대한 함수로 필요합니다. 여기서는 linear transformation을 간주하므로, inverse transformation은 역행렬로 주어집니다. $2\times2$ 행렬에서, 공식을 사용하면 명시적으로 다음과 같이 얻을 수 있습니다.

\[\begin{bmatrix}x_1\\x_2\end{bmatrix} = \boldsymbol{A}^{-1}\begin{bmatrix}y_1\\y_2\end{bmatrix} = \frac{1}{ad-bc}\begin{bmatrix}d&-b\\-c&a\end{bmatrix}\begin{bmatrix}y_1\\y_2\end{bmatrix} \tag{6.147}\]

대응되는 PDF는 다음과 같이 주어집니다.

\[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) \tag{6.148}\]

행렬과 벡터 곱에서 벡터에 대한 편도함수는 행렬 그 자체 이므로, 다음과 같습니다.

\[\frac{\partial}{\partial\boldsymbol{y}}\boldsymbol{A}^{-1}\boldsymbol{y} = \boldsymbol{A}^{-1} \tag{6.149}\]

역행렬의 determinant는 determinant의 역수이므로, Jacobian matrix의 determinant는 다음과 같습니다.

\[\det\left(\frac{\partial}{\partial\boldsymbol{y}}\boldsymbol{A}^{-1}\boldsymbol{y}\right) = \frac{1}{ad-bc} \tag{6.150}\]

이제 식 (6.148)과 (6.150)을 곱하여 Theorem 6.16의 change-of-variable 공식을 적용하면 다음의 식을 얻을 수 있습니다.

\[\begin{align*} f(\boldsymbol{y}) &= f(\boldsymbol{x})\left|\det\left(\frac{\partial}{\partial\boldsymbol{y}}\boldsymbol{A}^{-1}\boldsymbol{y}\right)\right| \tag{6.151a} \\ &= \frac{1}{2\pi}\exp\left(-\frac{1}{2}\boldsymbol{y}^\top\boldsymbol{A}^{-\top}\boldsymbol{A}^{-1}\boldsymbol{y}\right)|ad-bc|^{-1} \tag{6.151b} \end{align*}\]

위 예제의 경우에는 역행렬을 쉽게 구하기 위해서 bivariate random variable을 예시로 들었지만, 이와 같은 관계는 더 높은 차원에서도 동일합니다.


이번 챕터에서 살펴봤던 아이디어들은 8.4장의 probabilisic modeling을 설명할 때 사용되며, 또한, 8.5장에서 graphical language를 소개할 때도 사용됩니다. 9장과 11자에서는 이 아이디어를 적용한 머신러닝 어플리케이션도 살펴볼 예정입니다.