본문 바로가기
AI 수학/랜덤프로세스

랜덤변수의 함수와 샘플링 - 3

by 깊은대학 2020. 12. 26.

랜덤변수 \(X\)의 확률밀도함수(pdf, probability density function)가 \(p_X (x)\)이고, 랜덤변수 \(Y\)가 함수 \(Y=g(X)\)로 주어졌을 때, \(Y\)의 확률밀도함수 \(p_Y (y)\)를 구할 수 있었다.

또한 랜덤변수 \(Y\)의 확률분포에서 샘플을 직접 추출하기 어려운 경우에는 가우시안 또는 균등분포(uniform distribution)를 갖는 랜덤변수 \(X\)로부터 샘플 \(X=x^{(i)}\)를 추출하여 함수 관계식 \(y^{(i)}=g(x^{(i)})\)로 변환해서 사용할 수 있었다.

 

 

그렇다면, 랜덤변수 \(X\)의 확률밀도함수 \(p_X (x)\)와 랜덤변수 \(Y\)의 확률밀도함수 \(p_Y (y)\)가 주어졌을 때, X와 Y의 함수 관계식 \(Y=g(X)\)는 어떻게 구할 수 있을까. 만약 이 관계식을 구할 수 있다면 임의의 확률분포로부터 샘플을 쉽게 추출할 수 있을 것이다. 왜냐하면 파이썬(Python)이나 매트랩(Matlab)에서는 가우시안 또는 균등분포로부터 샘플을 추출해주는 함수를 제공하고 있기 때문이다.

 

 

먼저 랜덤변수 \(X\)의 누적분포함수(cdf, cumulative distribution function) \(F_X (x)\)를 함수 \(g(X)\)로 놓자. 즉, \(Y=g(X)=F_X (X)\). 그러면 랜덤변수 \(Y\)의 누적분포함수는 다음과 같이 계산된다.

 

\[ \begin{align} F_Y (y) &= P \{Y \le y \} \\ \\ &= P \{ X \le F_X^{-1} (y) \} \\ \\ &= F_X \left( F_X^{-1} (y) \right) \\ \\ &=y \end{align} \]

 

누적분포함수의 특성에 의해서 \(0 \le F_X (X) \le 1\)이므로 \( 0 \le Y \le 1 \)이 된다. 따라서 \( y \lt 0\)이면 \(F_Y (y)=0\)이고 \( y \gt 1 \)이면 \(F_Y (y)=1 \)이다. 결국

 

\[ F_Y (y)= \begin{cases} 0, & y \lt 0 \\ y, & 0 \le y \le 1 \\ 1, & y \gt 1 \end{cases} \]

 

이다. 따라서 랜덤변수 \(Y\)는 \([0,1]\) 구간에서 균등분포를 갖는다는 것을 알 수 있다. 즉 \(Y \sim U[0,1]\)이다.

결론적으로 임의의 확률분포를 갖는 랜덤변수 \(X\)에서 균등분포를 갖는 랜덤변수 \(Y \sim U[0,1]\)를 만들어 낼 수 있다.

 

반대로, 균등분포를 갖는 랜덤변수 \(X \sim U[0,1]\)에서 미리 설정된 확률분포를 갖는 랜덤변수 \(Y\)를 만들어 보자. 이 경우가 더 유용한 시나리오가 되겠다. 랜덤변수 \(Y\)의 누적분포함수를 \(F(y)\)로 설정했을 때, \(X\)와 \(Y\)의 함수 관계식을 \(Y=g(X)=F^{-1} (X)\)로 놓자. 또는 \(X=F(Y)\). 그러면 랜덤변수 \(Y\)의 누적분포함수 \(F_Y (y)\)는 다음과 같이 계산된다.

 

\[ \begin{align} F_Y (y) &= P \{Y \le y \} \\ \\ &= P \{ F^{-1} (X) \le y \} \\ \\ &= P \{ X \le F(y) \} \\ \\ &= F_X (F(y)) \end{align} \]

 

여기서 \( X \sim U[0,1]\) 이므로 \( F_X (x)=x \)이기 때문에 위 식은

 

\[ \begin{align} F_Y (y) &= F_X (F(y)) \\ \\ &= F(y) \end{align} \]

 

가 된다. 따라서 \(Y\)의 누적분포함수 \(F_Y (y)\)는 설정된 누적분포함수 \(F(y)\)가 됨을 알 수 있다.

결론적으로 균등분포를 갖는 랜덤변수 \(X \sim U[0,1]\)에서 임의의 확률분포를 갖는 랜덤변수 \(Y\)를 만들어 낼 수 있다.

 

 

 

정리하면,

 

1. 가우시안 또는 균등분포를 갖는 랜덤변수를 임의의 확률분포를 갖는 랜덤변수로 변환시킬 수 있다. 또는 반대로 임의의 확률분포를 갖는 랜덤변수를 가우시안 또는 균등분포를 갖는 랜덤변수로 변환시킬 수 있다.

2. 가우시안 또는 균등분포를 갖는 샘플을 이용하여 임의의 확률분포를 갖는 샘플을 생성할 수 있다.

 

예를 들어보자. 만약 랜덤변수 \(Y\)의 확률밀도함수가 다음과 같이 주어졌을 때,

 

\[ p_Y (y) = \begin{cases} y , & 0 \le y \lt 1 \\ (2-y), & 1 \le y \le 2 \\ 0, & else \end{cases} \]

 

균등분포 \( X \sim U[0,1] \)에서 \(Y\)로 변환되는 함수 \(Y=g(X) \)를 구해보자.

 

 

먼저 Y의 확률밀도함수에서 누적분포함수를 구한다.

 

\[ \begin{align} F_Y (y) &= \int_{-\infty}^y p_Y (y) dy \\ \\ &= \begin{cases} 0, & y \lt 0 \\ \frac{y^2}{2}, & 0 \le y \lt 1 \\ -1+2y-\frac{y^2}{2}, & y 1 \le y \le2 \\ 1, & y \gt 2 \end{cases} \end{align} \]

 

그런 후, 함수 \( y=g(x)=F_Y^{-1}(x) \)를 구하면 된다.

 

\[ y = g(x)= \begin{cases} \sqrt{2x} , & 0 \le x \lt \frac{1}{2} \\ 2-\sqrt{2(1-x)}, & \frac{1}{2} \le x \le 1 \\ 0, & else \end{cases} \]

 

 

 

 

댓글