¿Cuál sería la forma común de estimar la matriz de transición MC dada la serie temporal?
¿Hay una función R para hacer eso?
markov-process
usuario333
fuente
fuente
Respuestas:
Como la serie temporal tiene un valor discreto, puede estimar las probabilidades de transición por las proporciones de la muestra. Deje ser el estado del proceso en el tiempo , sea la matriz de transición entonces t PYt t PAG
Como se trata de una cadena de Markov, esta probabilidad depende solo de , por lo que puede estimarse por la proporción de la muestra. Sea la cantidad de veces que el proceso pasó del estado al . Luego, n i k i kYt - 1 norteyo k yo k
donde es el número de estados posibles ( en su caso). El denominador, , es el número total de movimientos fuera del estado . Estimar las entradas de esta manera en realidad corresponde al estimador de máxima verosimilitud de la matriz de transición, viendo los resultados como multinomiales, condicionados por .m = 5 Σ m k = 1 n i k i Y t - 1metro m = 5 ∑metrok = 1norteyo k yo Yt - 1
Editar: Esto supone que tiene la serie de tiempo observada a intervalos espaciados uniformemente. De lo contrario, las probabilidades de transición también dependerían del lapso de tiempo (incluso si todavía son markovian).
fuente
Es muy, con la hipótesis de que su serie temporal es estacionaria:
Para simplificar la excelente respuesta de Macro
Aquí tienes tu serie de tiempo con 5 estados: A, B, C, D, E
AAAEDDDCBEEEDBADBECADAAAACCCDDE
Solo tiene que contar primero las transiciones: - dejando A: 9 transiciones Entre esas 9 transiciones, 5 son A-> A, 0 A-> B, 1 A-> C, 2 A-> D, 1 A-> E Entonces, la primera línea de la matriz de probabilidad de transición es [5/9 0 1/9 2/9 1/9]
Haces eso contando para cada estado y luego obtienes tu matriz de 5x5.
fuente
AAABBBA
tendría una misma matriz comoABBBAAA
?La función markovchainFit del paquete markovchain se ocupa de su problema.
fuente