[확률과 통계적 추론] 5-2.3 Box-Muller 변환과 시뮬레이션

2024. 1. 9. 18:15·Statistics/Mathmetical Statistics

 

안녕하세요. 이번 포스팅에서는 Box-Muller Transformation을 통한 난수 생성을 해보려고 합니다.

 

 

서로 독립인 균일분포를 이용하여 정규분포를 따르는 난수를 생성하는 방법으로 이론적인 배경은 아래와 같습니다.

 

즉, 서로 독립인 $X_1 \sim U(0, 1)$과 $X_2 \sim U(0, 1)$에 $Z_1 = \sqrt{-2lnX_1}cos(2\pi X_2)$, $Z_2 = \sqrt{-2lnX_1}sin(2\pi X_2)$로 변환을 해주면 서로 독립인 정규분포를 따르는 확률변수를 생성할 수 있습니다.

 

아래 시각화에서 확인할 수 있듯 균일분포의 산점도는 직사각형 형태로 균일하게 찍혀있으며 z1과 z2의 산점도는 원형으로 균일하게 생성되어 있는 것을 확인할 수 있습니다.

library(ggforce)
library(tidyverse)

tibble(
  n = 1000,
  u1 = runif(n, min = 0, max = 1),
  u2 = runif(n, min = 0, max = 1),
  z1 = sqrt(-2*log(u1))*cos(2*pi*u2),
  z2 = sqrt(-2*log(u1))*sin(2*pi*u2)) %>% 
  ggplot(mapping=aes(x=.panel_x, y=.panel_y)) + 
  geom_point() + facet_matrix(vars(u1, u2, z1, z2))

 

또한 개별적으로 shapiro.test를 사용한 정규성 검정을 진행한 결과 z1과 z2는 정규성을 가지고 있으며 u1과 u2는 정규성을 만족하지 않는다고 나오네요.

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

[확률과 통계적 추론] 5-4. 적률생성함수 기법  (2) 2024.01.11
[확률과 통계적 추론] 5-3. 확률표본(Random Sample)  (1) 2024.01.10
[확률과 통계적 추론] 5-2.2 베타분포와 F분포  (0) 2024.01.09
[확률과 통계적 추론] 5-2.1 이변량 변수의 변환  (1) 2024.01.09
[확률과 통계적 추론] 5-1.3 분포를 이용한 난수 생성  (0) 2024.01.07
'Statistics/Mathmetical Statistics' 카테고리의 다른 글
  • [확률과 통계적 추론] 5-4. 적률생성함수 기법
  • [확률과 통계적 추론] 5-3. 확률표본(Random Sample)
  • [확률과 통계적 추론] 5-2.2 베타분포와 F분포
  • [확률과 통계적 추론] 5-2.1 이변량 변수의 변환
임파카
임파카
[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-2.3 Box-Muller 변환과 시뮬레이션
상단으로

티스토리툴바