연결 강의: 이상화 교수 - 확률과 통계 (HYU 2014) 17강

두 확률변수의 변환

확률변수 XX, YY로부터 두 개의 새 확률변수 UU, VV를 만든다고 하자.

U=g(X,Y),V=h(X,Y)U=g(X,Y), \qquad V=h(X,Y)

XX, YY의 결합 PDF를 알고 있을 때 목표는 UU, VV의 결합 PDF를 구하는 것이다. 한 변수의 변환에서는 미분값으로 구간 길이의 변화를 보정했다. 두 변수에서는 면적의 변화를 Jacobian determinant로 보정한다.

변환이 one-to-one이고 역변환을 다음처럼 쓸 수 있다고 하자.

X=x(U,V),Y=y(U,V)X=x(U,V), \qquad Y=y(U,V)

역변환의 Jacobian matrix는 다음과 같다.

Jinv=∂(x,y)∂(u,v)=[∂x∂u∂x∂v∂y∂u∂y∂v]\mathbf{J}_{\mathrm{inv}} = \frac{\partial(x,y)}{\partial(u,v)} = \begin{bmatrix} \dfrac{\partial x}{\partial u} & \dfrac{\partial x}{\partial v} \\ \dfrac{\partial y}{\partial u} & \dfrac{\partial y}{\partial v} \end{bmatrix}

변환된 결합 PDF는 다음과 같다.

fU,V(u,v)=fX,Y(x(u,v),y(u,v))∣det⁡Jinv∣f_{U,V}(u,v) = f_{X,Y}(x(u,v),y(u,v)) \left| \det\mathbf{J}_{\mathrm{inv}} \right|

Forward Jacobian을 사용하는 경우에는 determinant의 역수를 곱한다.

Jfwd=∂(u,v)∂(x,y)=[∂g∂x∂g∂y∂h∂x∂h∂y]\mathbf{J}_{\mathrm{fwd}} = \frac{\partial(u,v)}{\partial(x,y)} = \begin{bmatrix} \dfrac{\partial g}{\partial x} & \dfrac{\partial g}{\partial y} \\ \dfrac{\partial h}{\partial x} & \dfrac{\partial h}{\partial y} \end{bmatrix} fU,V(u,v)=fX,Y(x(u,v),y(u,v))∣det⁡Jfwd∣f_{U,V}(u,v) = \frac{ f_{X,Y}(x(u,v),y(u,v)) }{ \left|\det\mathbf{J}_{\mathrm{fwd}}\right| }

두 식은 inverse function theorem에 의해 같은 결과를 준다. 다만 forward Jacobian과 inverse Jacobian을 한 식에서 섞어 쓰지 않도록 주의해야 한다.

합과 차로 변환하는 예제

다음 변환을 생각한다.

U=X+Y,V=X−YU=X+Y, \qquad V=X-Y

Forward Jacobian은 다음과 같다.

Jfwd=[111−1]\mathbf{J}_{\mathrm{fwd}} = \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix} det⁡Jfwd=−2\det\mathbf{J}_{\mathrm{fwd}}=-2

두 변환식을 더하고 빼면 역변환을 얻는다.

X=U+V2,Y=U−V2X=\frac{U+V}{2}, \qquad Y=\frac{U-V}{2}

따라서 변환된 결합 PDF는 다음과 같다.

fU,V(u,v)=12fX,Y(u+v2,u−v2)f_{U,V}(u,v) = \frac{1}{2} f_{X,Y}\left( \frac{u+v}{2}, \frac{u-v}{2} \right)

XX, YY가 서로 독립인 standard normal random variables라면 원래 결합 PDF는 다음과 같다.

fX,Y(x,y)=12πexp⁡(−x2+y22)f_{X,Y}(x,y) = \frac{1}{2\pi} \exp\left(-\frac{x^2+y^2}{2}\right)

역변환을 대입하면 다음 결과를 얻는다.

fU,V(u,v)=14πexp⁡(−u2+v24)f_{U,V}(u,v) = \frac{1}{4\pi} \exp\left(-\frac{u^2+v^2}{4}\right)

이 PDF는 uu와 vv에 관한 두 함수의 곱으로 분리된다. 따라서 UU와 VV는 서로 독립이고 각각 평균이 0, 분산이 2인 normal distribution을 따른다.

U,V∼N(0,2)U,V\sim\mathcal{N}(0,2)

하나의 변수만 필요할 때

U=g(X,Y)U=g(X,Y) 하나의 분포만 필요하더라도 Jacobian 공식을 바로 적용하려면 출력 변수가 두 개 필요하다. 이때 계산하기 쉬운 보조변수 WW를 하나 정의한다.

예를 들어 곱의 분포를 구하기 위해 다음처럼 둔다.

U=XY,W=XU=XY, \qquad W=X

역변환은 다음과 같다.

X=W,Y=UWX=W, \qquad Y=\frac{U}{W}

Forward Jacobian determinant의 절댓값은 ∣X∣=∣W∣|X|=|W|이다. 따라서 UU, WW의 결합 PDF는 다음과 같다.

fU,W(u,w)=1∣w∣fX,Y(w,uw),w≠0f_{U,W}(u,w) = \frac{1}{|w|} f_{X,Y}\left(w,\frac{u}{w}\right), \qquad w\ne0

마지막으로 보조변수 WW를 주변화하면 U=XYU=XY의 PDF를 얻는다.

fU(u)=∫−∞∞1∣w∣fX,Y(w,uw) dwf_U(u) = \int_{-\infty}^{\infty} \frac{1}{|w|} f_{X,Y}\left(w,\frac{u}{w}\right)\,dw

실제 적분 범위는 XX, YY의 support와 역변환 조건에 맞춰 정해야 한다.

Box-Muller transform

컴퓨터에서는 00과 11 사이의 uniform random number를 비교적 쉽게 생성할 수 있다. 서로 독립인 두 확률변수 XX, YY가 다음 분포를 따른다고 하자.

X,Y∼U(0,1)X,Y\sim U(0,1)

Box-Muller transform은 이 값들로 두 개의 standard normal random variables를 만든다.

U=−2ln⁡Xcos⁡(2πY)U = \sqrt{-2\ln X}\cos(2\pi Y) V=−2ln⁡Xsin⁡(2πY)V = \sqrt{-2\ln X}\sin(2\pi Y)

Forward Jacobian determinant의 절댓값은 다음과 같다.

∣∂(u,v)∂(x,y)∣=2πx\left| \frac{\partial(u,v)}{\partial(x,y)} \right| = \frac{2\pi}{x}

XX, YY의 결합 PDF는 unit square 안에서 1이다. 또한 두 변환식을 제곱하여 더하면 xx를 uu, vv로 표현할 수 있다.

u2+v2=−2ln⁡xu^2+v^2=-2\ln x x=exp⁡(−u2+v22)x = \exp\left(-\frac{u^2+v^2}{2}\right)

Jacobian 공식을 적용하면 다음 결합 PDF를 얻는다.

fU,V(u,v)=12πexp⁡(−u2+v22)f_{U,V}(u,v) = \frac{1}{2\pi} \exp\left(-\frac{u^2+v^2}{2}\right)

이는 두 standard normal PDF의 곱으로 분리된다. 따라서 UU, VV는 서로 독립인 standard normal random variables이다.

원하는 평균 μ\mu와 표준편차 σ\sigma를 갖는 값이 필요하면 선형 변환을 추가한다.

Z=μ+σUZ=\mu+\sigma U

Inverse transform sampling

이번에는 출발 분포와 목표 분포가 주어졌을 때 변환 함수 자체를 찾는다. X∼U(0,1)X\sim U(0,1)이고 목표 CDF를 FYF_Y라고 하자. FYF_Y가 연속이고 strictly increasing이면 다음과 같이 둘 수 있다.

Y=FY−1(X)Y=F_Y^{-1}(X)

Uniform random variable을 목표 CDF의 역함수에 넣으면 YY가 원하는 분포를 따른다.

Rate가 λ\lambda인 exponential distribution의 CDF는 다음과 같다.

FY(y)=1−e−λy,y≥0F_Y(y) = 1-e^{-\lambda y}, \qquad y\ge0

X=FY(Y)X=F_Y(Y)를 YY에 대해 풀면 다음 변환을 얻는다.

Y=−1λln⁡(1−X)Y = -\frac{1}{\lambda}\ln(1-X)

1−X1-X도 U(0,1)U(0,1)을 따르므로 다음 표현도 같은 분포를 만든다.

Y=−1λln⁡XY = -\frac{1}{\lambda}\ln X

이렇게 만든 exponential waiting time을 차례로 더해 사건 발생 시점을 정하면 Poisson process를 시뮬레이션할 수 있다.

중요 개념 정리

  • 다변수 변환에서는 Jacobian determinant로 면적이 늘어나거나 줄어드는 비율을 보정한다.
  • Forward Jacobian을 사용하면 determinant의 역수를, inverse Jacobian을 사용하면 determinant 자체를 곱한다.
  • 출력 변수 하나의 분포만 필요해도 보조변수를 추가한 뒤 결합 PDF를 구하고 주변화할 수 있다.
  • Box-Muller transform은 두 uniform random variables로 두 independent standard normal random variables를 만든다.
  • Inverse transform sampling은 uniform random variable에 목표 CDF의 역함수를 적용하는 방법이다.