Geçiş Matrisi: Ayrık -> Sürekli Zaman


8

I Tauchen (1986) karşılık gelen bir kod (Python eşdeğeri olması , bu ayrı bir zaman AR (1) işlemin ayrı bir yaklaşım oluşturur).

Örneğin, ızgara boyutunu 3 olarak ayarlarsanız, size bir verimlilik vektörü verir

[A_1, A_2, A_3,]

ve bir geçiş olasılık matrisi

A_11, A_12, A_13
A_21, A_22, A_23
A_31, A_32, A_33

Nerede satır i, sütun jsize geçiş olasılığını verir ietmek jve her satırın toplamı yaklaşık biri olduğunu karşılar.

Bunu geçiş matrisinin eşdeğer bir zamana eşdeğerine nasıl dönüştürebileceğimi merak ediyorum; devletler arasındaki akış hızlarını kontrol eden bir dizi poisson olasılığı.

Bu konuda hatırladığım tek şey kullanarak poisson olasılıklarına doğrusal yaklaşımı bulabiliriz.

Prob(ij)=limΔ0exp(λijΔ)1λijΔ

Fakat bunun eski matrisi s ' ya dönüştürmeme nasıl yardımcı olduğunu göremiyorum ... Herhangi bir öneriyi bekliyorum.λ

Yanıtlar:


5

Varsayalım bir bir Poisson geçiş oranları, matris için olan durum hızını belirtmektedir durum geçişler ve oranı verir hangi durumda diğer tüm devletlere geçiyorum. Her satırı, 0 olarak toplanır.Bn×nBij0ijijBii0iB

Sonra eğer süresi en olasılık dağılımını gösterir tanımına göre, biz ODE var : Biz ODE bu tür çözümün nasıl olacağını biliyorum , olan matris üstel bir . Eğer sonra Markov geçiş matrisini oluşturmasını istiyorsak , sahip olmamız gerekir .p(t)tB

p˙(t)=Bp(t)
p(t)=eBtp(0)eBtBtBAt=1eB=A

Prensip olarak, almak için , matrisinin logaritmasını alarak üstel olarak matrisi tersine çevirmemiz gerekir . Tek boyutlu kompleks uzayda logaritma sonsuz sayıda şubesi ve biz matrisleri bahsederken bu bileşik olduğunu - Sorun her matris birçok matris logaritma olmasıdır boyutlu uzaydaki. Bu logaritmaların çoğu tatmin edici olmayacak Poisson geçiş matrisleri: belki gerçek olmayacak veya girişler doğru işaretlere sahip olmayacak. Yine de, bunların birden fazla olması mümkündür: bazı durumlarda bir Markov karşılık gelen birden fazla Poisson vardır, bazı durumlarda Poisson olmadığı gibiBAnBAB karşılık gelir . Dağınık.A

Neyse ki, hayat oldukça basit bir durumun söz konusu olması ve neredeyse kesinlikle kendi durumu da içerir: tüm özdeğerler zaman pozitif, farklı reals vardırA . Bu durumda, gerçek olacak tek bir logaritması vardır ve hesaplanması kolaydır: matrisi olarak köşegenleştirirsiniz ve özdeğerlerin gerçek logaritmasını alırsınız, , burada . Aslında, bunu kendiniz yapmanız gerekmez: Matlab'da (muhtemelen Python da) komutunu kullanırsanız, muhtemelen de bu verecektir .AA=VΣV1B=VΩV1ωii=log(σii)logm(A)B

Bu göz önüne alındığında , yapmanız gereken tek şey aslında bir Poisson matrisi olduğunu doğrulamaktır. Satırların tümü sıfıra getirilen ilk şart yapısı nedeniyle otomatik olarak karşılanır . ** İkinci şart, köşegen elementlerin negatif ve köşegen dışı elemanların pozitif olması her zaman beklemiyor (sanırım) ), ama kontrol etmeniz kolay.BB

Bunu eylemde görmek için, ayrıklaştırılmış bir AR'ye benzeyen 3 durumlu bir Markov süreci için ele alacağım (1). Şimdi, eğer , I elde kolayca kontrol gibi bu, gerçekten de geçerli Poisson geçiş matrisidir Satırlar sıfıra toplanır ve doğru işaretlere sahiptir - bu bizim cevabımız.A

A=(0.50.40.10.20.60.20.10.40.5)
B=logm(A)
B=(0.860.800.060.400.800.400.060.800.86)

Pozitif özdeğerlere sahip olan durum oldukça önemlidir, çünkü Markov zincirinde (negatif ya da karmaşık özdeğerler gerektirecek şekilde) bir miktar salınım davranışı olmayan (muhtemelen negatif ya da karmaşık özdeğerler gerektirecek) tüm durumları kapsadığı için büyük olasılıkla ayrık AR (1).

Daha genel olarak, Matlab'daki komutu, bize ve arasında hayali kısma sahip olan tüm özdeğerleri alan ana skaler logaritmanın bir analoğu olan ana matris logaritmasını verecektir . Sorun, bunun zorunlu olarak istediğimiz logaritma olmaması ve ona bakarak üreten bir Poisson kaçırabiliriz . (Bu nedenle, bu konuda endişelenmek zorunda olmadığımız pozitif özdeğer durumu çok güzeldi.) Yine de, bu durumlarda bile işe yarayıp yaramadığını denemek zarar veremez.logmππBA

Bu arada, bazı Markov matrisi üreten bir olup olmadığını görme sorunu yoğun olarak incelenmiştir. Buna gömülebilirlik sorunu denir : Davies'in bu mükemmel anket makalesinde bazı genel bakış ve referanslara bakın . Ancak, sorunun teknik yönleri konusunda uzman değilim; Bu cevap daha çok kendi deneyimlerime ve sezgilerime dayanıyor.BA

Sekonder ecksc'in yorumunu kapatıp, Tauchen yöntemiyle elde edilen matrisi almak yerine, ayrık bir şekilde takılmış bir AR'yi (1) sonlu durumlu bir sürekli zaman sürecine dönüştürmenin daha iyi, daha doğrudan bir yolu olabileceğini söylemek zorunda olduğumu hissediyorum. sürekli hale getirmek. Ama şahsen bu daha iyi yolun ne olduğunu bilmiyorum!


** Açıklama (paslı olmama rağmen): benzersiz bir Perron-Frobenius özdeğer 1 değeri vardır ve stokastik olduğu için bu özdeğerin sağ özvektörü birim vektördür . Bu, matris logaritmasını aldığımızda, şimdi 0 özdeğerine sahip, hala doğru özvektördür.AAe


2

Yorum yapamam, yoksa önce daha fazla bilgi isterim. Ayrık bir zaman serisine karşı takılan bir AR (1) işlemini sürekli bir zaman sürecine dönüştürmeye çalışıyorsanız, burada 4. sayfada ilgili bir kaynak buldum .

Hesaplamalar bir AR (2) işleminden bir CAR (2) işleminin katsayılarını tahmin etmek için sağlanmıştır, ancak elbette dönüşümünüzü elde etmek için ikinci katsayı için 0 kullanabilirsiniz.

Kesikli bir zaman olan Markov Chain'i sürekli zamana dönüştürmeye çalışıyorsanız, daha karmaşık olacak ve daha fazla yardım vermeden önce biraz daha okuma yapmam gerekecek. :) Bu arada, sürekli zaman Markov Zincirleri ile ilgili buldum iyi bir okuma materyali.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.