Qual seria a maneira comum de estimar a matriz de transição de MC, considerando as séries temporais?
Existe função R para fazer isso?
markov-process
user333
fonte
fonte
Respostas:
Como a série temporal é discreta, é possível estimar as probabilidades de transição pelas proporções da amostra. Seja o estado do processo no tempo t , P seja a matriz de transição, entãoYt t P
Por se tratar de uma cadeia de markov, essa probabilidade depende apenas de , podendo ser estimada pela proporção da amostra. Vamos n i k ser o número de vezes que o processo se mudou de estado i a k . Então,Yt−1 nik i k
onde é o número de estados possíveis ( m = 5 no seu caso). O denominador, ∑ m k = 1 n i k , é o número total de movimentos fora do estado i . A estimativa das entradas dessa maneira corresponde realmente ao estimador de probabilidade máxima da matriz de transição, visualizando os resultados como multinomiais, condicionados a Y t - 1 .m m=5 ∑mk=1nik i Yt−1
Editar: Isso pressupõe que você tenha as séries temporais observadas em intervalos igualmente espaçados. Caso contrário, as probabilidades de transição também dependeriam do intervalo de tempo (mesmo que ainda sejam markovianas).
fonte
É muito, com a hipótese de que sua série temporal é estacionária:
Para simplificar a excelente resposta do Macro
Aqui você tem sua série temporal com 5 estados: A, B, C, D, E
AAAEDDDCBEEEDBADBECADAAAACCCDDE
Você só precisa contar primeiro as transições: - deixando transições A: 9 Entre essas 9 transições, 5 são A-> A, 0 A-> B, 1 A-> C, 2 A-> D, 1 A-> E Portanto, a primeira linha da sua matriz de probabilidade de transição é [5/9 0 1/9 2/9 1/9]
Você faz isso contando para cada estado e, em seguida, obtém sua matriz 5x5.
fonte
AAABBBA
uma mesma matriz queABBBAAA
?a função markovchainFit do pacote markovchain lida com o seu problema.
fonte