Pembangkitan peubah acak menggunakan metode pada Bab 3 membutuhkan fungsi sebaran kumulatif yang tidak selalu mudah untuk diturunkan. Bab ini akan dibahas metode pembangkitan peubaha acak yang memberikan solusi terhadap permasalahan tersebut yaitu menggunakan metode Acceptance-Rejection. Selain itu juga akan dibahas metode Konvolusi.
a. Acceptance-Rejection
Metode ini merupakan solusi pembangkitan peubah acak jika metode pada bab sebelumnya tidak dapat digunakan yaitu karena tidak tersedia transformasi langsung maupun transformasi invers dari suatu sebaran. Selain itu metode ini digunakan pada sebaran yang memiliki domain yang terdefenisi dalam interval tertentu (finite interval), misalkan terdapat sebaran \(f(x)\) dengan interval \(2 \le x \le 10\)
Algoritma secara umum:
1. Pilih \(M\), \(M\) merupakan konstanta terbesar dari \(f(x)\) yang berada pada selang \(a \le x \le b\) 2. Bangkitkan dua bilangan acak \(r_1\) dan \(r_2\) 3. Hitung nilai \[x^*=a+(b-1)r_1\] 4. Evaluasi fungsi \(f(x)\) pada setiap nilai \(x^*\), yang dinotasikan dengan \(f(x^*)\) 5. Jika \[r_2 \le \frac{f(x^*)}{M}\] maka \(x^*\) adalah peubah acak dari sebaran \(f(x)\), jika tidak terpenuhi, ulangi langkah 2.
Ilustrasi dengan program R
n <- 1000
k <- 0
j <- 0
y <- numeric(n)
while (k < n){
u <- runif(1)
j = j+1
x <- runif(1)
if (x > u){ #terima x
k<- k+1
y[k]<- x }
}
# Histogram dari Y
hist(y)

b. Metode Konvolusi
Metode ini merupakan penyempurnaan dari metode sebelumnya, yaitu jika fungsi sebaran kumulatif sulit di peroleh secara analitik dan fungsi sebaran tidak terdefenisi pada interval tertutup. Metode ini memanfaatkan struktur jumlah dari iid peubah dengan sebaran yang sudah diketahui. Sebagai contoh sebaran normal memanfaatkan teorema limit pusat yaitu “jumlah dari \(n\) peubah acak \((Y_1,Y_2, \dots,Y_n)\) yang memiliki rata-rata \(\mu\) dan ragam \(\sigma^2\) mendekati sebaran Normal dengan rata-rata \(n\mu\) dan ragam \(n\sigma^2\)”
Algoritma secara umum:
Untuk membangkitkan suatu peubah acak \(X\) yang menyebar Normal, dapat dilakukan algoritma berikut:
1. Bangkitkan \(12\) bilangan acak \((R_1,R_2,\dots,R_{12})\)
2. Hitung nilai \[Z=\sum{R_i-6}\]
3. Maka peubah acak \(X\): \[X=\mu+\sigma Z\]
Ilustrasi dengan Program R
r<-0
x<-0
for(i in 1:12){
r<-runif(10000,0,1)
x<-x+r
z<-x-6
}
hist(z, probability =TRUE )

plot(density(z))

mean(z)
## [1] -0.002333594
var(z)
## [1] 0.9991794