Metode Transformasi Inverse (Inverse Transform Method)
Misalkan kita akan membangkitkan nilai variabel acak diskrit X yang memiliki fungsi massa probabilitas :
\(P \left \{ X=x_j \right \} = p_j , j=0,1,\cdots , \sum_{j}^{.}p_j=1 \)Untuk menyelesaikan hal ini, kita bangkitkan bilangan acak U (dimana U adalah berdistribusi Uniform disepanjang rentang (0,1) ) dan diatur sebagai berikut :
\(X = \left\{\begin{matrix} x_0 & if & U < p_0 \\ x_1 & if & p_0\leq U<p_0+p_1\\ \vdots & \\ x_j & if & \sum_{j-1}^{i=1}p_i \leq U < \sum_{i=1}^{j} p_i \\ & \\ \vdots \end{matrix}\right.\)Karena, untuk \( 0<a<b<1, P \left \{ a \leq U < b \right \}= b – a \), akan kita peroleh :
\( P \left \{ X=x_j \right \} = P \left \{ \sum_{i=1}^{j-1}p_i \leq U < \sum_{i=1}^{j}p_i \right \} = p_j \)dan karenanya X memiliki distribusi yang diinginkan.
Catatan :
1. Hal di atas dapat ditulis secara algoritma di bawah ini :
Bangkitkan bilangan acak U
Jika \( U < p_0\) tetapkan \( X = x_0 \) dan berhenti
Jika \( U < p_0 + p_1 \) tetapkan \( X = x_1\) dan berhenti
Jika \( U < p_0 + p_1 + p_2 \) tetapkan \( X = x_2 \) dan berhenti
\( \vdots\)
2. Jika \( x_{i},\; i\geq 0 \), terurut maka \( x_{0}<x_{1}<x_{2}<\cdots \) dan jika kita misalkan F sebagai fungsi distribusi dari X, \( F(x_{k})=\sum_{k}^{i=0}p_{i}\) dan karenanya :
X akan sama dengan \( x_j\) jika \( F(x_{j-1})\leq U \)
Dengan kata lain, setelah membangkitkan sebuah bilangan acak U kita tentukan nilai dari X dengan mencari di interval mana U berada. [atau ekuivalen/serupa dengan mencari nilai invers dari F(U)]. Karena itu pulalah medote ini disebut metode transformasi inverse diskrit untuk membangkitkan X.
Banyaknya kali yang diambil untuk membangkitkan variabel random diskrit dengan menggunakan metode di atas akan proporsional (sebanding) pada banyaknya interval yang harus di cari. Karena itulah terkadang sangat bermanfaat untuk mempertimbangkan nilai-nilai \( x_j\) dari X dengan urutan yang menurun dari \( p_j \)
Contoh 4a.
Jika kita ingin mensimulasikan sebuah bilangan acak X sedemikian sehingga :
\(p_1 = 0.20, p_2 = 0.15, p_3 = 0.25, p_4 = 0.40, \; dimana \; p_j = P{X = j} \)Kemudian kita akan membangkitkan U dengan cara sebagai berikut :
jika U < 0.20, tentukan X = 1, stop
jika U < 0.35, tentukan X = 2, stop
jika U < 0.20, tentukan X = 3, stop
Lainnya X = 4
Sebenarnya ada cara yang lebih efisien yaitu dengan mengubah prosedur di atas menjadi seperti di bawah ini :
jika U < 0.40, tentukan X = 4, stop
jika U < 0.65, tentukan X = 3, stop
jika U < 0.85, tentukan X = 1, stop
Lainnya X = 2