[확률과 통계적 추론] 5-1.3 분포를 이용한 난수 생성

2024. 1. 7. 19:45·Statistics/Mathmetical Statistics

 

이번 포스팅에서는 포스팅 5-1.1(https://moogie.tistory.com/108)과 5-1.2(https://moogie.tistory.com/108)를 응용하여 난수를 생성해보려고 합니다. 이론적인 부분부터 체크하고 난수 생성을 진행해 봅시다.
 
 
만일 확률변수 $Y$가 [0,1]의 균일분포를 가지고 난수를 생성하기 원하는 확률변수 $X$의 누적확률분포(CDF)의 역함수 $F_X^{-1}(x)$를 알고있다면 $X^* = F^{-1}_X(Y)$를 통해 확률변수 $X$의 난수를 추출할 수 있습니다. 
$$F_{X^*}(x) = Pr[X^*<x] = Pr[F^{-1}_X(Y)<x] = Pr[Y<F_X(x)]$$ 
$Y$는 균일분포를 따르므로 누적확률분포 $F_Y(y) = y$ $(0<y<1)$를 만족하게 됩니다. 따라서 아래와 같이 유도 가능합니다.
$$Pr[Y<F_X(x)] = F_Y(F_X(x)) = F_X(x)$$
 
즉 $F_{X^*}(x) = F_X(x)$이므로 확률변수$X^* = F^{-1}_X(Y)$는 확률변수 X와 같은 변수임을 알 수 있습니다.
따라서, 누적확률분포의 역함수를 구하기 쉬운 확률변수가 존재한다면 균일분포를 사용하여 난수를 생성할 수 있게됩니다.
 
예시로 $X \sim U(0,2)$를 따르는 분포의 난수를 생성해 봅시다. $X$는 균일분포를 따르므로 확률분포(pdf)는 $f_X(x) = \frac{1}{2}$이며 누적확률분포는 $F_X(x) = \frac{x}{2}$입니다. 따라서 누적확률분포의 역함수는 $x=2y$ 이므로 $y$ 자리에 (0,1) 균일분포 난수를 넣어주면 $X$의 난수를 생성할 수 있습니다.

y <- runif(n=1e4, min=0, max=1) # Y ~ U(0,1)
x <- 2*y # X ~ U(0,2)
hist(x, probability = T)

 
누적확률분포와 역함수가 그려진 그래프를 통해 몇 좀더 자세하게 이해해봅시다.
 

$F(x) = Pr[X<x]$이므로 [a, b]사이의 임의의 값이 나올 확률은 [b, c] 사이의 임의의 값이 나올 확률보다 작습니다. 따라서 저희가 생성한 난수 역시 이러한 확률을 만족해야 합니다. 저희가 생성한 난수는 $F^{-1}(u)$이고 $U$는 0과 1사이의 값을 가지는 균일분포이므로 [0, 1]사이의 임의의 값을 가질 확률은 동일합니다. 따라서 x축에 있는 [0, 1] 사이에 있는 임의의 실현값 $u$에 대해 수직으로 직선을 그려서 만난 $F^{-1}(u)$의 값이 우리가 생성한 난수입니다. 처음으로 돌아와서 [a, b] 사이의 값을 가지기 위해서는 [0, $u^*$]에 속해야합니다. 반면에 [b, c] 사이의 값을 가지기 위해서는 [$u^*$, 1]에 속해야겠죠. [b, c] 사이의 값이 나올 확률이 높기 때문에 해당 구간에서 $F(x)$의 값이 크게 증가하는 것을 알 수 있습니다. 이와 유사하게 균일분포 U(0,  1)에서 나온 값이 [$u^*$, 1]에 속할 확률이 높은것을 확인할 수 있습니다. 
 
그래프를 보면 X가 가질 수 있는 정의역은 상한은 c로 보이는데요, 균일분포를 통해 생성한 난수 역시 가질 수 있는 값이 c로 동일한 것을 확인할 수 있습니다. 마지막으로 $U_i \sim U(0, 1)$일 때 얻은 난수 $X_i  = F_X^{-1}(U_i)$의 히스토그램을 그려보면 확률밀도분포($f_X(x)$)를 그리는 것을 확인할 수 있습니다. 

'Statistics > Mathmetical Statistics' 카테고리의 다른 글

[확률과 통계적 추론] 5-2.2 베타분포와 F분포  (0) 2024.01.09
[확률과 통계적 추론] 5-2.1 이변량 변수의 변환  (1) 2024.01.09
[확률과 통계적 추론] 5-1.2 Change-of-variable Technique  (2) 2024.01.07
[확률과 통계적 추론] 5-1.1 Distribution Function Technique  (1) 2024.01.07
[확률과 통계적 추론] 4-5. 이변량 정규분포  (0) 2024.01.07
'Statistics/Mathmetical Statistics' 카테고리의 다른 글
  • [확률과 통계적 추론] 5-2.2 베타분포와 F분포
  • [확률과 통계적 추론] 5-2.1 이변량 변수의 변환
  • [확률과 통계적 추론] 5-1.2 Change-of-variable Technique
  • [확률과 통계적 추론] 5-1.1 Distribution Function Technique
임파카
임파카
[ML & Statistics] 모바일 버전에서 수식 오류가 있어 PC 환경에서 접속하는 것을 권장합니다.
  • 임파카
    무기의 스탯(Stat)
    임파카
  • 전체
    오늘
    어제
    • Study (149)
      • Data Science (44)
        • Modeling (18)
        • Manipulation (21)
        • Visualization (4)
      • Statistics (59)
        • Mathmetical Statistics (53)
        • Categorical DA (1)
      • Web Programming (17)
      • AI (26)
        • Machine Learning (16)
        • Deep Learning (10)
      • 활동 및 프로젝트 (3)
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
임파카
[확률과 통계적 추론] 5-1.3 분포를 이용한 난수 생성
상단으로

티스토리툴바