공부 : 금융공학, 금융, 통계, 공학, 경제 등

예제 4.5 [베타 분포 공부 필요]

김문영 2022. 4. 17. 14:30

베타 분포에서의 난수 발생을 채택-기각법을 사용하여 수행.

채택-기각법으로 Beta(2,2) 분포를 따르는 1,000개의 변량을 생성하려면?

코드 확인해보자.

n <- 1000 # 변량 1000개 생성한다는 뜻
k <- 0 # counter for accepted, 채택된 변량 개수
j <- 0 # iteration, 반복 횟수
y <- numeric(n) # numeric(n) = n차원 영벡터
while (k<n) { #n개 채울 때까지 반복
u <- runif(1) # 일단 난수 1개를 만들어
j <- j+1 # 반복 횟수 추가해줌.
x <- runif(1) # 얘도 난수로 만들엊줌
if (x*(1-x) > u ) {
k <- k+1
y[k] <- x
}
}
j # 총 반복 횟수

근데 베타 분포가 어떻게 형성되는지를 몰라서, 나도 좀 더 확인해봐야 한다.