Die Generierung der Markov-transition-matrix in Python
Vorstellen, ich habe eine Reihe von 4 möglichen Markovian Staaten (A, B, C, D):
X = [A, B, B, C, B, A, D, D, A, B, A, D, ....]
Wie kann ich das erzeugen einer Markov-matrix mit Python? Die matrix muss 4 von 4, die die Wahrscheinlichkeit des übergangs von jedem Zustand zu den anderen 3 Staaten.
Habe ich viele Beispiele online, aber in allen von Ihnen, die matrix gegeben ist, die nicht berechnet, basierend auf den Daten.
Ich schaute auch in hmmlearn aber nirgendwo lese ich, wie man es ausspucken die übergangs-matrix. Gibt es eine Bibliothek, die ich für diesen Zweck verwenden können?
Hier ist ein R-code für die genaue Sache, die ich versuche zu tun, in Python:
https://stats.stackexchange.com/questions/26722/calculate-transition-matrix-markov-in-r
- Im raw-Python, würden Sie brauchen, um eine Liste von Listen. Diese Art der Sache ist natürlich mehr getan in
numpy
oderpandas
. Wenn Sie möchten, verwenden Sie eines dieser Werkzeuge, vielleicht können Sie den entsprechenden tag. In jedem Fall, was ist der input für dein problem? Eine endliche Liste von Staaten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies könnte Ihnen einige Anregungen geben:
Ausgabe:
Auf Bearbeiten Hier ist eine Funktion, die implementiert die oben genannten Ideen:
Ausgabe:
n
mit Zeile-spezifischen
(die Einträge bedingte Wahrscheinlichkeiten). Da ich nicht wie Division durch 0, der obige code lässt eine Reihe von Nullen unverändert. Es ist unmöglich zu schätzen übergangswahrscheinlichkeiten von einem bestimmten Zustand, wenn keine Transitionen aus diesem Zustand beobachtet worden ist.