Andry Alamsyah Blog

Generate Data Penghasilan Menggunakan Metode Monte Carlo

Berawal dari kesulitan salah satu mahasiswa bimbingan saya untuk melengkapi datanya, maka saya mencoba mencari metode yang mengatasi hal tersebut. Ceritanya penelitian mahasiswa bimbingan saya membuat pengelompokan data pelanggan Telkom berdasarkan jumlah tagihan bulanan dan penghasilan. Tentu saja data penghasilan tidak akan dipunyai Telkom, dan juga sulit ditemukan dari sumber lain,  maka untuk itu perlu suatu usaha untuk membuat / generate data menggunakan suatu generator tertentu.

Ide awal dari Statistical Inference yang intinya membuat prediksi data populasi dari data sample dan asumsi yang kita punyai, maka kemudian muncul pertanyaan bagaimana kita men generate data penghasilan berdasarkan data dan asumsi yang kita punyai, sehingga data penghasilan yang dihasilkan oleh generator tidak akan berbeda jauh (tingkat error yang rendah) jika dibandingkan dengan penghasilan sebenarnya yang tidak kita ketahui. Asumsi yang kita punyai adalah beberapa wilayah dalam suatu kota akan mempunyai tingkat kesejahteraan yang berbeda. Sebagai contoh seseorang di wilayah A meskipun mempunyai tagihan telkom sama dengan seseorang di wilayah B, belum tentu tingkat penghasilan mereka sama. Besarnya wilayah dalam satu kota tergantung pada definisi yang kita tentukan, apakah setingkat kelurahan, kecamatan, atau berdasarkan nama jalan jalan yang memang terkenal sebagai daerah “kaya”. Sedangkan data yang kita punyai adalah hasil wawancara ke pihak berwenang (pemkot, BPS, dll) untuk menentukan rata rata penghasilan dari suatu wilayah.

Metode Monte Carlo adalah metode untuk men generate data acak berdasarkan input berupa mean, standard deviation dan distribution. Dari ketiga input tersebut, kita sudah mempuyai data mean (rata rata) penghasilan suatu wilayah. Untuk standard deviasi kita tentukan nilai antara 1 sampai 5 yang kita atur berdasarkan kewajaran distribusi penghasilan di satu wilayah tertentu. Untuk distribusi kita tentukan distribusi normal, karena seperti asumsi statistik pada umumnya distribusi yang digunakan adalah distribusi normal. Pertanyaan kemudian muncul, kenapa kita tidak mengambil bilangan (penghasilan) acak antara bilangan minimum dan maksimum ?, jawabannya karena sebaran data penghasilan yang kita peroleh akan menjadi sangat acak (lihat uniform random sampling ) dan terlihat tidak wajar / tidak representatif terhadap penghasilan asli. Video ilustrasi metode Monte Carlo bisa dilihat dibawah ini

Ada banyak software menyediakan simulasi metode Monte Carlo, seperti Mathlab, Wolfram Mathematica, Python, R, dan bahkan Excel. Tapi saya baru mencoba menggunakan Wolfram Mathematica dan Excel.

Perintah di Wolfram Mathematica adalah

rnorms1 = RandomVariate[NormalDistribution[mean, standard deviation], iteration]

Perintah di Excel adalah

=NORMINV(RAND(),mean,standard deviation)

Hasilnya bisa dilihat digambar berikut ini. Dengan nilai mean 3 dan standard deviasi 1, kita peroleh nilai acak tersebut. Sekarang kita bisa bayangkan jika nilai nilai tersebut dikalikan satu juta, maka kita peroleh interval gaji disekitar nilai rata rata penghasilan 3 juta. Cukup sederhana dan masuk akal bukan data penghasilan yang kita peroleh ? ..

Screen Shot 2016 10 01 at 8 54 38 PM

hasil dengan Wolfram Mathematica

Screen Shot 2016 10 01 at 8 57 09 PM

hasil dengan Microsoft Excel

Leave a Reply

%d bloggers like this: