Gunakan rantai Markov dua negara.
Jika keadaan disebut 0 dan 1, maka rantai dapat diwakili oleh matriks 2x2 memberikan probabilitas transisi antara keadaan, di mana P i j adalah probabilitas untuk berpindah dari keadaan i ke keadaan j . Dalam matriks ini, setiap baris harus berjumlah 1,0.PPijij
Dari pernyataan 2, kita memiliki , dan konservasi sederhana kemudian mengatakan P 10 = 0,7 .P11=0.3P10=0.7
Dari pernyataan 1, Anda ingin probabilitas jangka panjang (juga disebut keseimbangan atau kondisi-mapan) menjadi . Ini mengatakan P 1 = 0,05 = 0,3 P 1 + P 01 ( 1 - P 1 ) Memecahkan memberikan P 01 = 0,0368421 dan matriks transisi P = ( 0,963158 0,0368421 0,7 0,3 )P1=0.05
P1=0.05=0.3P1+P01(1−P1)
P01= 0,0368421
P=(0.9631580.70.03684210.3)
(Anda dapat memeriksa matriks transtion Anda dengan benar dengan menaikkannya ke daya tinggi - dalam hal ini 14 melakukan pekerjaan - setiap baris hasilnya memberikan probabilitas kondisi steady state yang identik)
P
Saya mengambil celah pada coding @ Mike Anderson jawaban dalam R. Saya tidak tahu bagaimana melakukannya menggunakan sapply, jadi saya menggunakan loop. Saya sedikit mengubah probs untuk mendapatkan hasil yang lebih menarik, dan saya menggunakan 'A' dan 'B' untuk mewakili negara bagian. Biarkan aku tahu apa yang kamu pikirkan.
/ edit: Menanggapi komentar Paul, berikut ini formulasi yang lebih elegan
Saya menulis kode asli ketika saya baru belajar R, jadi potong sedikit kendur. ;-)
Inilah cara Anda memperkirakan matriks transisi, mengingat seri:
Urutan ditukar vs matriks transisi asli saya, tetapi mendapat probabilitas yang tepat.
sumber
for
loop akan menjadi sedikit lebih bersih di sini, Anda tahu panjangnyaSeries
, jadi gunakan sajafor(i in 2:length(Series))
. Ini menghilangkan kebutuhan untuki = i + 1
. Juga, mengapa sampel pertamaA
, lalu dikonversi menjadi0,1
? Anda dapat langsung mencicipi0
dan1
.createAutocorBinSeries = function(n=100,mean=0.5,corr=0) { p01=corr*(1-mean)/mean createSeries(n,matrix(c(1-p01,p01,corr,1-corr),nrow=2,byrow=T)) };createAutocorBinSeries(n=100,mean=0.5,corr=0.9);createAutocorBinSeries(n=100,mean=0.5,corr=0.1);
untuk memungkinkan autokorelasi lag 1 yang ditentukan sebelumnyaBerikut adalah jawaban berdasarkan
markovchain
paket yang dapat digeneralisasikan ke struktur ketergantungan yang lebih kompleks.Ini memberi Anda:
sumber
Saya kehilangan jejak makalah di mana pendekatan ini dijelaskan, tapi begini saja.
Menguraikan matriks transisi menjadi
yang, secara intuitif, sesuai dengan gagasan bahwa ada beberapa kemungkinan1 - halt bahwa sistem tetap dalam keadaan yang sama, dan probabilitas halt bahwa keadaan menjadi acak, di mana acak berarti membuat undian independen dari distribusi kesetimbangan untuk keadaan berikutnya (hal0 adalah probabilitas keseimbangan untuk berada dalam keadaan pertama).
Perhatikan bahwa dari data yang Anda tentukan perlu Anda pecahkanhalt dari yang ditentukan T11 melalui T11= ( 1 - pt) + pt( 1 - hal0) .
Salah satu fitur yang berguna dari dekomposisi ini adalah bahwa itu cukup mudah digeneralisasikan ke kelas model Markov berkorelasi dalam masalah dimensi yang lebih tinggi.
sumber