Übergangsmatrix: Diskret -> Kontinuierliche Zeit


8

Ich habe den Code, der Tauchen (1986) entspricht (Python-Äquivalent dazu ), der eine diskrete Approximation eines zeitdiskreten AR (1) -Prozesses erzeugt.

Wenn Sie beispielsweise die Rastergröße auf 3 einstellen, erhalten Sie einen Produktivitätsvektor

[A_1, A_2, A_3,]

und eine Matrix von Übergangswahrscheinlichkeiten

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

Wo Zeile i, Spalte jgibt Ihnen die Wahrscheinlichkeit des Übergangs von izu jund es erfüllt, dass die Summe jeder Zeile ungefähr eins ist.

Ich frage mich, wie ich dies in ein kontinuierliches Zeitäquivalent der Übergangsmatrix umwandeln kann. eine Reihe von Poisson-Wahrscheinlichkeiten, die die Flussraten zwischen den Zuständen steuern.

Ich erinnere mich in diesem Zusammenhang nur daran, dass wir die lineare Annäherung an die Poisson-Wahrscheinlichkeiten mit erhalten können

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

Aber ich kann nicht sehen, wie mir das hilft, diese frühere Matrix in die s umzuwandeln ... Ich freue mich auf jeden Vorschlag.λ

Antworten:


6

Angenommen, ist eine Matrix von Poisson-Übergangsraten, wobei für die Rate bezeichnet, mit der der Zustand in den Zustand , und die Rate angibt in welchem ​​Zustand in alle anderen Zustände übergehe. Jede Zeile von summiert sich zu 0.n × n B i j0 i j i j B i i0 i B.Bn×nBij0ijijBii0iB

Wenn dann die Wahrscheinlichkeitsverteilung zum Zeitpunkt , haben wir per Definition von die ODE Wir wissen, wie die Lösung für diese Art von ODE aussieht: , wobei das Exponential der Matrix von . Wenn nach die Markov-Übergangsmatrix erzeugen soll , musst B ˙ p ( t ) = B p ( t ) p ( t ) = e B t p ( 0 ) e B t B t B A t = 1 e B = A.p(t)tB

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

Um zu erhalten , müssen wir im Prinzip die Exponentialmatrix invertieren und den Matrixlogarithmus von . Das Problem ist, dass jede Matrix viele Matrixlogarithmen hat - der Logarithmus im eindimensionalen komplexen Raum hat unendlich viele Zweige, und dies wird noch verstärkt, wenn wir über Matrizen im dimensionalen Raum sprechen . Die meisten dieser Logarithmen sind keine zufriedenstellenden Poisson-Übergangsmatrizen: Vielleicht sind sie nicht real oder die Einträge haben nicht die richtigen Vorzeichen. Es ist jedoch möglich, dass mehr als einer von ihnen vorhanden ist: In einigen Fällen gibt es mehr als ein Poisson , das einem Markov , ebenso wie in einigen Fällen kein PoissonA n B A B A.BAnBABentsprechendA. Es ist unordentlich.

Glücklicherweise gibt es eine Situation, in der das Leben relativ einfach ist und mit ziemlicher Sicherheit Ihren eigenen Fall einschließt: Wenn alle Eigenwerte von positive, unterschiedliche Realwerte sindA A A = V Σ V - 1 B = V Ω V - 1 ω i i = log ( σ i i ) logm ( A ) B. . In diesem Fall gibt es nur einen Logarithmus von , der real ist, und es ist einfach zu berechnen: Sie diagonalisieren einfach die Matrix als und nehmen den realen Logarithmus der Eigenwerte und erhalten , wobei . In der Tat müssen Sie dies nicht selbst tun: Wenn Sie den Befehl in Matlab verwenden (vermutlich auch Python), erhalten Sie genau diesesAA=VΣV1B=VΩV1ωii=log(σii)logm(A)B .

Angesichts dieses müssen Sie lediglich überprüfen, ob es sich tatsächlich um eine Poisson-Matrix handelt. Die erste Anforderung, dass alle Zeilen zu Null summieren, wird aufgrund der Konstruktion von automatisch erfüllt . ** Die zweite Anforderung, dass die diagonalen Elemente negativ und die nicht diagonalen Elemente positiv sind, gilt nicht immer (glaube ich) ), aber es ist leicht für Sie zu überprüfen.B.BB

Um dies in Aktion zu sehen, werde ich ein für einen Markov-Prozess mit drei Zuständen betrachten, der einem diskretisierten AR ähnelt (1). Wenn ich nun in Matlab , I. get A = ( 0,5 0,4 0,1 0,2 0,6 0,2 0,1 0,4 0,5 ) B = logm ( A ) B = ( - 0,86 0,80 0,06 0,40 - 0,80 0,40 0,06 0,80 - 0,86 )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)
Dies ist in der Tat eine gültige Poisson-Übergangsmatrix, da wir dies leicht überprüfen können Die Zeilen summieren sich zu Null und haben die richtigen Vorzeichen - das ist also unsere Antwort.

Der Fall mit positiven Eigenwerten ist ziemlich wichtig, da er alle Fälle umfasst, in denen es in der Markov-Kette kein Oszillationsverhalten gibt (was negative oder komplexe Eigenwerte erfordern würde), vermutlich einschließlich Ihres diskretisierten AR (1).

Allgemeiner gesagt , die geben Befehl auf Matlab uns die Hauptmatrix Logarithmus, ein Analogon des Haupt skalaren Logarithmus , die alle Eigenwerte dauert zwischen imaginären Teil haben und . Das Problem ist, dass dies nicht unbedingt der gewünschte Logarithmus ist, und wenn wir ihn betrachten, könnten wir einen Poisson übersehen , der erzeugt . (Deshalb war der positive Eigenwertfall, in dem wir uns darüber keine Sorgen machen mussten, so schön.) Trotzdem kann es auch in diesen anderen Fällen nicht schaden, zu versuchen, zu sehen, ob er funktioniert.- π π B A.logmππBA

Übrigens wurde dieses Problem, zu sehen, ob es ein , das eine Markov-Matrix erzeugt, ausführlich untersucht. Es wird das Einbettbarkeitsproblem genannt : Siehe einige Übersichten und Referenzen in diesem ausgezeichneten Umfrageartikel von Davies . Ich bin jedoch kein Experte für technische Aspekte des Problems. Diese Antwort basiert mehr auf meiner eigenen hackischen Erfahrung und Intuition.A.BA

Ich fühle mich verpflichtet, zum Schluss den Kommentar von ecksc zu unterstützen und zu sagen, dass es bessere und direktere Möglichkeiten geben könnte, einen diskret angepassten AR (1) in einen kontinuierlichen Zeitprozess mit endlichen Zuständen umzuwandeln, anstatt nur die Matrix zu verwenden, die mit der Tauchen-Methode und erhalten wurde macht es kontinuierlich. Aber ich persönlich weiß nicht, was dieser bessere Weg ist!


** Erklärung (obwohl ich verrostet bin): hat einen eindeutigen Perron-Frobenius-Eigenwert von 1, und da stochastisch ist, ist der rechte Eigenvektor dieses Eigenwerts der Einheitsvektor . Dies ist immer noch der richtige Eigenvektor, jetzt mit einem Eigenwert von 0, wenn wir den Matrixlogarithmus nehmen.A eAAe


2

Kann nicht kommentieren, oder ich würde zuerst nach weiteren Einzelheiten fragen. Wenn Sie versuchen, einen AR (1) -Prozess, der an eine diskrete Zeitreihe angepasst ist, in einen kontinuierlichen Zeitprozess umzuwandeln, habe ich hier auf Seite 4 eine relevante Ressource gefunden .

Die Berechnungen dienen zum Schätzen der Koeffizienten eines CAR (2) -Prozesses aus einem AR (2) -Prozess, aber Sie können natürlich den zweiten Koeffizienten durch eine 0 ersetzen, um Ihre Konvertierung zu erhalten.

Wenn Sie versuchen, eine Markov-Kette mit diskreter Zeit in kontinuierliche Zeit umzuwandeln, wird dies komplizierter und ich muss noch etwas lesen, bevor ich mehr Hilfe geben kann. :) In der Zwischenzeit habe ich hier gutes Lesematerial zu zeitkontinuierlichen Markov-Ketten gefunden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.