METODE MARKOV DAN PENERAPANNYA
Markov Model and Its Applications
Noor Cholis Basjaruddin
Politeknik Negeri Bandung 2016
POLBAN
2
Daftar Isi
1 Abstrak... 3
2 Abstract ... 3
3 Pendahuluan... 3
4 Model Markov ... 4
4.1 Analisis rantai Markov ... 5
4.2 Syarat dalam Analisis Markov ... 5
5 Contoh Penerapan ... 6
5.1 Prediksi pertumbuhan pasar jus... 6
5.2 Prediksi pengunjung swalayan ... 15
6 Kesimpulan ... 18
7 Daftar Pustaka... 18
POLBAN
3
1 Abstrak
Pada analisis sistem sering dibutuhkan prediksi state yang akan datang. Prediksi tersebut dapat dilakukan dengan mengetahui state sebelumnya dan probabilitas transisi. Analisis rantai Markov memungkinkan untuk memprediksi state yang akan datang jika diketahui state sekarang dan probabilitas transisinya. Salah satu syarat dalam penggunaan analisis rantai Markov adalah probabilitas transisi dianggap tetap sepanjang waktu. Anggapan ini sulit dipenuhi pada sistem nyata. Meskipun sistem dengan probabilitas transisi tetap sepanjang waktu sulit dijumpai, namun analisis rantai Markov tetap bermanfaat terutama untuk mendapatkan gambaran umum state yang akan terjadi.
2 Abstract
On systems analysis is often required to predict the future state. Predictions can be done by knowing the previous state and probability of transition. Markov chain analysis makes it possible to predict the future state if known the current state and probability of transition. One of the requirements in the use of Markov chain analysis is the probability of transition is considered static over time. This assumption is difficult to meet the real system. Although the systems with fixed transition probabilities over time are difficult to find, but the analysis of Markov chains remain useful, especially to get a general overview of the future state.
3 Pendahuluan
Pada makalah ini dibahas beberapa contoh penerapan metode Markov khususnya rantai Markov. Makalah ini diharapkan dapat menambah pengetahuan kepada pembaca khusunya dalam memahami metode analisis dengan menggunakan model Markov dan penerapannya.
Program komputer yang digunakan dalam penerapan metode Markov untuk memecahkan beberapa masalah dibuat dengan bahasa PHP dan Matlab. Para pembaca dapat menjalankan program tersebut jika ingin mengetahui secara lebih mendalam bagaimana metode Markov diterapkan.
Kritik dan saran atas makalah ini sangat diharapkan dan dapat disampaikan ke penulis melalui email [email protected].
POLBAN
4
4 Model Markov
Model Markov adalah model stokastik yang digunakan untuk memodelkan sistem yang berubah secara acak dimana diasumsikan keadaan (state) yang akan datang bergantung hanya pada keadaan sekarang dan tidak bergantung pada urutan kejadian (event) yang mendahuluinya. Terdapat empat model Markov yang digunakan pada kondisi berbeda seperti diperlihatkan pada
Tabel 4.1 Empat model Markov
State sistem adalah fully observable
State sistem adalah partially observable
Sistem otomatis Markov chain Hidden Markov model
Sistem terkendali Markov decision process Partially observable Markov decision process
Markov chain
Model Markov paling sederhana adalah rantai Markov (Markov chain). Rantai Markov memodelkan state dari sebuah sistem dengan peubah acak yang berubah terhadap waktu. Pada situasi ini properti Markov menyarankan bahwa distribusi untuk peubah bergantung hanya pada distribusi state sebelumnya.
Hidden Markov model
Model Markov tersembunyi adalah rantai Markov untuk sistem dengan state yang hanya teramati secara parsial (partially observable). Dengan kata lain pengamatan berhubungan dengan state dari sistem, namun secara umum tidak cukup untuk memastikan secara cermat state tersebut. Algoritma pada model Markov tersembunyi antara lain algoritma Viterbi dan Baum-Welch. Algoritma Viterbi menghitung urutan state sedangkan algoritma Baum-Welch memperkirakan probabilitas awal, fungsi transisi, dan fungsi observasi dari model Markov tersembunyi. Penggunaan model Markov tersembunyi antara lain pada pengenalan ucapan, dimana data teramati adalah gelombang suara ucapan dan state tersembunyi adalah teks yang terucapkan. Pada contoh ini algoritma Viterbi mencari kemungkinan besar urutan dari kata- kata yang diucapkan yang diberikan oleh suara ucapan.
POLBAN
5 Markov decision process
Proses keputusan Markov adalah rantai Markov dengan transisi state bergantung pada state sekarang dan sebuah vektor aksi yang diterapkan pada sistem. Umumnya, proses keputusan Markov digunakan untuk menghitung sebuah kebijakan dari aksi yang akan memaksimalkan beberapa utilitas dengan memperhatikan keuntungan yang diperkirakan. Proses keputusan Markov berhubungan erat dengan Reinforcement learning dan dapat dipecahkan dengan iterasi nilai dan metoda yang sesuai.
Partially observable Markov decision process (POMDP)
POMDP adalah proses keputusan Markov yang mana state dari sistem hanya teramati sebagian.
Proses keputusan Markov ini digunakan antara lain pada pengendalian agent atau robot.
4.1 Analisis rantai Markov
Analisis rantai Markov adalah suatu metode yang mempelajari sifat-sifat suatu peubah pada masa sekarang yang didasarkan pada sifat-sifatnya di masa lalu dalam usaha menaksir sifat- sifat peubah tersebut dimasa yang akan datang.
Model rantai Markov dikembangkan oleh seorang ahli Rusia A.A. Markov pada tahun 1896.
Pada analisis Markov yang dihasilkan adalah suatu informasi probabilistik yang dapat digunakan untuk membantu pembuatan keputusan. Konsep dasar analisis markov adalah state dari sistem atau state transisi. Sifat dari proses ini adalah jika diketahui proses berada dalam suatu keadaan tertentu, maka peluang berkembangnya proses di masa mendatang hanya tergantung pada keadaan saat ini dan tidak tergantung pada keadaan sebelumnya. Dengan kata lain rantai Markov adalah rangkaian proses kejadian dimana peluang bersyarat kejadian yang akan datang tergantung pada kejadian sekarang. Informasi yang dihasilkan tidak mutlak menjadi suatu keputusan karena sifatnya yang hanya memberikan bantuan dalam proses pengambilan keputusan.
4.2 Syarat dalam Analisis Markov
Beberapa syarat yang harus dipenuhi pada analisis Markov adalah sebagai berikut:
1. Jumlah probabilitas transisi untuk suatu keadaan awal dari sistem sama dengan 1.
2. Probabilitas tersebut berlaku untuk semua partisipan dalam sistem.
3. Probabilitas transisi konstan sepanjang waktu.
4. Kondisi merupakan kondisi yang independen sepanjang waktu.
POLBAN
6 Penerapan analisis Markov cukup terbatas karena sulit menemukan masalah yang memenuhi semua syarat yang diperlukan untuk analisis Markov, terutama persyaratan bahwa probabilitas transisi harus konstan sepanjang waktu. Keadaan transisi adalah perubahan dari suatu keadaan (state) ke keadaan (state) lainnya pada periode berikutnya. Keadaan transisi ini merupakan suatu proses acak dan dinyatakan dalam bentuk probabilitas. Probabilitas ini dikenal sebagai probabilitas transisi dan dapat digunakan untuk menentukan probabilitas keadaan atau periode berikutnya.
5 Contoh Penerapan
5.1 Prediksi pertumbuhan pasar jus
Sebuah perusahaan jus merk A menguasai 20% pasar jus. Mereka berencana untuk meningkatkan penjualan dengan mengiklankan produk mereka, dan mengkaji efektifitas dari pengiklanan produk tersebut. Misalkan dari kajian didapat kesimpulan sebagai berikut. Bila produk merk A diiklankan selama 1 minggu, maka seseorang yang menggunakan merk A akan tetap menggunakan produk A dengan probabilitas 90%. Seseorang yang tidak menggunakan merk A akan berpaling menggunakan merk A dengan probabilitas 70%.
Pertanyaan: Buatlah kurva prediksi pertumbuhan pasar jus merk A dalam 1 minggu, 2 minggu,dst.
Jawab
Masalah ini adalah masalah sederhana dan dapat diselesaikan dengan cara sederhana yaitu menggunakan rumus matematis dapat juga diselesaikan dengan model Markov.
Penyelesaian dengan rumus matematis Asumsi jumlah konsumen 1000.
Merk A menguasai = 20%
Sebelum promosi
Pengguna merk A = 20% * 1000 = 200 Setelah 1 minggu promosi
Pengguna merk A = (90%*200) + (70%*800) = 180+560 = 740 Setelah 2 minggu promosi
Pengguna merk A = (90%*740) + (70%*260) = 666+182 = 848
POLBAN
7 Rumus Umum
Xn = (90% * Xn-1) + (70% * (S-Xn-1))
Xn = jumlah pembeli jus A pada minggu ke-n Xn-1 = jumlah pembeli jus A pada minggu ke n-1 S = jumlah seluruh konsumen jus
Simulasi dengan php
<?
// analisis pengaruh promosi produk // Noor Cholis Basjaruddin
$S=1000;
$m=0;
$M=10;
$Xn=20;
for($m;$m<$M;$m++) {
$Xn = (0.9 * $Xn) + (0.7 * ($S-$Xn));
//echo "jumlah konsumen jus A pada minggu ke-",$m," adalah =", $Xn,"<br>";
$values[]=$Xn;
}
include"graph.php";
?>
Hasil simulasi
Hasil simulasi dapat dilihat pada Gambar 5.1.
POLBAN
8 Gambar 5.1 Grafik jumlah konsumen
Analisis:
Pada minggu ke-5 dan seterusnya tidak lagi terjadi perubahan jumlah konsumen jus A, hal ini disebabkan penambahan konsumen baru dan pengurangan konsumen relatif sama. Kondisi ini disebat kondisi mantap (steady state).
Hasil simulasi dengan Matlab dapat dilihat pada Gambar 5.2.
Simulasi dengan Matlab
% analisis pengaruh promosi
% noor cholis basjaruddin clear X;
S=1000;
X(1)=200;
for m=2:11;
X(m) = 0.9 * X(m-1) + 0.7 * (S-X(m-1));
end m=0:1:10;
plot(m,X,'--rs','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
POLBAN
9 'MarkerSize',10)
axis([0 11 0 1000]);
xlabel('Minggu');
ylabel('Konsumen Jus A(%)');
title('Perkembangan Konsumen Jus Merk A');
Gambar 5.2 Grafik perkembangan jumlah konsumen jus merk A Analisis
Simulasi menunjukkan hal yang sama dengan simulasi sebelumnya.
Penyelesaian dengan model Markov
Persoalan di atas dapat diselesaikan dengan model Markov.
POLBAN
10 S = jumlah seluruh konsumen jus
A = jumlah konsumen jus A
Proses transisi jika dinyatakan dalam tabel adalah sebagai berikut:
dari
ke S A
S 0,3 0,1
A 0,7 0,9
Matrik transisi (A) dan kondisi awal (po)
9 , 0 7 , 0
1 , 0 3 , A 0
po = [ 800 200]T
Program dengan Matlab
% analisis pengaruh promosi dengan Markov
% noor cholis basjaruddin
% Matrik transisi A A=[0.3 0.1;0.7 0.9];
% Kondisi awal p0 p0=[800;200];
% Perhitungan minggu ke-k for k=0:1:10;
p=(A^k)*p0;
m=k+1;
pS(m)=p(1,:) pA(m)=p(2,:)
POLBAN
11 end
k=0:1:10;
plot(k,pA,'--rs','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10) axis([0 11 0 1000]);
xlabel('Minggu');
ylabel('Konsumen Jus A(%)');
title('Perkembangan Konsumen Jus Merk A - Model Markov');
Hasil Simulasi
Hasil simulasi dapat dilihat pada Gambar 5.3.
Gambar 5.3 Hasil simulasi perkembangan konsumen Jus A dengan Model Markov Analisis
Simulasi dengan model Markov menghasilkan kesimpulan yang sama dengan simulasi sebelumnya.
POLBAN
12 Pengembangan Masalah
Jika diasumsikan terdapat juga perusahaan jus B yang melakukan promosi dan situasinya adalah sebagai berikut:
Survei awal
Konsumen jus A adalah 20%, sedangkan konsumen jus B adalah 80%.
Kedua perusahaan jus tersebut melakukan promosi dan tiap minggu diamati pengaruh dari promosi yang dilakukan. Data hasil pengamatan adalah sebagai berikut:
70% konsumen jus B beralih ke jus A
10% konsumen jus A beralih ke jus B
90% konsumen jus A tetap setia
30% konsumen jus B tetap setia
Kapan jumlah konsumen jus A mengalahkan konsumen jus B?
Model Markov
Proses transisi jika dinyatakan dalam tabel adalah sebagai berikut:
dari
ke A B
A 0,9 0,7
B 0,1 0,3
POLBAN
13 Matrik transisi (A) dan kondisi awal (po)
3 , 0 1 , 0
7 , 0 9 , A 0
po = [ 200 800]T
Program dengan Matlab
% analisis pengaruh promosi dengan Markov
% noor cholis basjaruddin - 33211001
% Matrik transisi A A=[0.9 0.7;0.1 0.3];
% Kondisi awal p0 p0=[200;800];
% Perhitungan minggu ke-k for k=0:1:10;
p=(A^k)*p0;
m=k+1;
pA(m)=p(1,:) pB(m)=p(2,:) end
k=0:1:10;
plot(k,pA,'--bs','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','b',...
'MarkerSize',10) hold on;
plot(k,pB,'--rs','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10)
POLBAN
14 Legend('Jus A','Jus B');
axis([0 11 0 1100]);
xlabel('Minggu');
ylabel('Konsumen Jus A dan B');
title('Perkembangan Konsumen Jus Merk A dan B - Model Markov');
Hasil Simulasi
Hasil simulasi dapat dilihat pada Gambar 5.4.
Gambar 5.4 Analisis perkembangan konsumen Jus A dan B dengan Model Markov
Analisis
Pada saat awal konsumen jus B lebih banyak dibanding konsumen jus A, setelah dilakukan promosi, ternyata promosi jus A jauh lebih efektif sehingga dalam waktu singkat jumlah konsumen A lebih banyak dibanding konsumen B. Pada minggu ke-5, konsumen jus A dan B tetap.
POLBAN
15 Kesimpulan
Model markov dapat digunakan untuk menganalisis sistem dimana dalam sistem tersebut terdapat proses transisi dari satu state ke state lain dengan probabilitas transisi dapat diketahui dari survei.
5.2 Prediksi pengunjung swalayan
Di satu kota kecil terdapat dua swalayan yaitu Swalayan Mega (SM) dan Swalayan Rita (SR). SM adalah swalayan baru yang mencoba untuk mengalahkan SR. Diasumsikan setiap pembeli di kota tersebut melakukan kunjungan belanja satu kali per minggu. Pada sembarang minggu seorang pembeli hanya berbelanja di SM atau SR saja dan tidak di keduanya.
Kunjungan belanja disebut percobaan dari proses dan toko yang dipilih disebut keadaan dari proses. Suatu sampel 1000 pembeli diambil dalam periode 10 minggu, kemudian data dikompilasikan. Dalam menganalisis data, terlihat bahwa dari seluruh pembeli yang berbelanja di SM dalam suatu minggu, 85 persen tetap berbelanja di SM pada minggu berikutnya, sedangkan sisanya berpindah belanja di SR. 70 persen dari yang berbelanja di SR dalam suatu minggu tetap berbelanja di SR sedangkan 30 persen berpindah belanja ke SM. Pada saat awal pembukaan jumlah pengunjung SM adalah 300 sedangkan jumlah pengunjung SR adalah 700.
Kapan SM dapat mengalahkan SR dari sisi pengunjung?
Informasi tersebut disusun dalam bentuk tabel seperti terlihat pada Error! Reference source not found..
Tabel 5.1 Probabilitas transisi
Pilihan pada suatu minggu Pilihan minggu berikutnya
SM SR
SM 0,85 0,15
SR 0,30 0,70
POLBAN
16 Terlihat bahwa kemungkinan dari setiap baris berjumlah satu.
Model Markov
SM SR
0,15
0,7
0,3 0,85
Proses transisi jika dinyatakan dalam tabel adalah sebagai berikut:
dari
ke SM SR
SM 0,85 0,3
SR 0,15 0,7
Matrik transisi (A) dan kondisi awal (po)
7 , 0 15 , 0
3 , 0 85 , A 0
po = [ 300 700]T Program dengan Matlab
% analisis pengaruh promosi dengan Markov
% noor cholis Basjaruddin
% Matrik transisi A A=[0.85 0.3;0.15 0.7];
% Kondisi awal p0 p0=[300;700];
% Perhitungan minggu ke-k for k=0:1:10;
p=(A^k)*p0;
m=k+1;
POLBAN
17 pA(m)=p(1,:)
pB(m)=p(2,:) end
k=0:1:10;
plot(k,pA,'--bs','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','b',...
'MarkerSize',10) hold on;
plot(k,pB,'--rs','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10) Legend('SM','SR');
axis([0 11 0 1100]);
xlabel('Minggu');
ylabel('Konsumen SM dan SR');
title('Perkembangan Konsumen SM dan SR - Model Markov');
Hasil simulasi dapat dilihat pada Gambar 5.5.
Gambar 5.5 Analisis perkembangan konsumen swalayan SM dan SR dengan Model Markov
POLBAN
18 Analisis
Pada minggu ke-2, konsumen swalayan SM sudah melampaui konsumen swalayan SR. Mulai minggu ke-6, jumlah konsumen swalan SM dan SR relatif tetap.
6 Kesimpulan
Analisis rantai Markov dapat digunakan untuk memprediksi state yang akan datang jika diketahui state sekarang dan probabilitas transisinya. Syarat yang sulit dipenuhi pada kondisi nyata adalah probabilitas transisi yang tetap sepanjang waktu. Meskipun kondisi nyata hampir tidak pernah ada yang memenuhi syarat tersebut namun analisi rantai Markov dapat memberikan gambaran secara umum bagaimana state yang akan terjadi.
7 Daftar Pustaka
Giuseppe Modica and Laura Poggiolini, A First Course in Probability and Markov Chains, John Wiley & Sons, Ltd, United Kingdom, 2013
Henry A. Glick, Ph.D. and Kyung Hee University, Introduction to Markov Models, University of Pennsylvania, 2007
Eric Fosler Lussier, Markov Models and Hidden Markov Models A Brief Tutorial, International Computer Science Institute, 1998