Załóżmy, że jest macierzą szybkości przejścia Poissona, gdzie dla oznacza szybkość, z jaką stan przechodzi do stanu , a daje szybkość w którym stanie przechodzi do wszystkich innych stanów. Każdy wiersz sumuje się do 0.Bn×nBij≥0i≠jijBii≤0iB
Jeśli więc oznacza rozkład prawdopodobieństwa w czasie , z definicji mamy ODE
Wiemy, jak wygląda rozwiązanie tego rodzaju ODE: , gdzie jest wykładniczy matrycy z . Tak więc, jeśli chcemy do wytworzenia Markowa przejścia matrycy po , to trzeba mieć .p(t)tB
p˙(t)=Bp(t)
p(t)=eBtp(0)eBtBtBAt=1eB=A
W zasadzie, aby dostać , musimy odwrócić macierz wykładniczą, biorąc logarytm macierzy z . Problem polega na tym, że każda macierz ma wiele logarytmów macierzowych - logarytm w jednowymiarowej przestrzeni złożonej ma nieskończenie wiele rozgałęzień, a to się komplikuje, gdy mówimy o macierzach w przestrzeni wymiarowej. Większość tych logarytmów nie będzie zadowalającymi macierzami przejściowymi Poissona: być może nie będą one prawdziwe, lub wpisy nie będą miały odpowiednich znaków. Możliwe jest jednak, że będzie ich więcej niż jeden: w niektórych przypadkach istnieje więcej niż jeden Poisson odpowiadający Markovowi , tak jak w niektórych przypadkach nie ma PoissonaBAnBABodpowiadającej . To niechlujne.A
Na szczęście istnieje sytuacja, w której życie jest stosunkowo proste i prawie na pewno obejmuje twój własny przypadek: gdy wszystkie wartości własne są dodatnie, wyraźne realeA . W tym przypadku istnieje tylko jeden logarytm który będzie prawdziwy i łatwo go obliczyć: po prostu przekątna macierzy jako i weź prawdziwy logarytm wartości własnych, otrzymując , gdzie . Rzeczywiście, nie trzeba tego robić samemu: w przypadku korzystania z poleceń w Matlab (prawdopodobnie zbyt Pythona), to daje dokładnie ten .AA=VΣV−1B=VΩV−1ωii=log(σii)logm(A)B
Biorąc pod uwagę to , wszystko, co musisz zrobić, to zweryfikować, czy faktycznie jest to macierz Poissona. Pierwszy wymóg, że wszystkie rzędy sumują się do zera, jest spełniony automatycznie ze względu na konstrukcję ** Drugi warunek, że elementy ukośne są ujemne, a elementy nie przekątne są dodatnie, nie zawsze obowiązuje (myślę, że ), ale łatwo to sprawdzić.BB
Aby zobaczyć to w działaniu, rozważę dla 3-stanowego procesu Markowa, który przypomina dyskretny AR (1).
Teraz, jeśli w Matlabie, I get
To jest rzeczywiście poprawna macierz przejścia Poissona, ponieważ możemy łatwo sprawdzić, czy rzędy sumują się do zera i mają odpowiednie znaki - to nasza odpowiedź.A
A=⎛⎝⎜0.50.20.10.40.60.40.10.20.5⎞⎠⎟
B=logm(A)B=⎛⎝⎜−0.860.400.060.80−0.800.800.060.40−0.86⎞⎠⎟
Przypadek z dodatnimi wartościami własnymi jest dość ważny, ponieważ obejmuje wszystkie przypadki, w których nie występuje jakieś zachowanie oscylacyjne w łańcuchu Markowa (które wymagałoby ujemnych lub złożonych wartości własnych), prawdopodobnie obejmując dyskrecję AR (1).
Mówiąc bardziej ogólnie, polecenie w Matlabie da nam główny logarytm macierzowy, analog głównego logarytmu skalarnego, który bierze wszystkie wartości własne, aby mieć wyimaginowaną część między a . Problemem jest to, że nie jest to koniecznie logarytm chcemy, i patrząc na to możemy pominąć Poissona , która generuje . (Właśnie dlatego pozytywny przypadek wartości własnej, w którym nie musieliśmy się o to martwić, był taki miły.) Mimo to, nawet w tych innych przypadkach nie zaszkodzi spróbować sprawdzić, czy to działa.logm−ππBA
Nawiasem mówiąc, ten problem polegający na sprawdzeniu, czy istnieje która generuje macierz Markowa, został gruntownie zbadany. Nazywa się to problemem związanym z osadzaniem : zobacz przegląd i odniesienia w tym doskonałym artykule ankiety Daviesa . Nie jestem jednak ekspertem w technicznych aspektach problemu; ta odpowiedź opiera się bardziej na moim hackerskim doświadczeniu i intuicji.BA
Czuję się zobowiązany do zamknięcia przez przekazanie komentarza ecksc i stwierdzenie, że mogą istnieć lepsze, bardziej bezpośrednie sposoby przekształcenia dyskretnie dopasowanego AR (1) w proces ciągłego czasu skończonego stanu - zamiast po prostu wziąć matrycę uzyskaną metodą Tauchen i czyniąc to ciągłym. Ale ja osobiście nie wiem, co to jest lepszy sposób!
** Wyjaśnienie (chociaż jestem zardzewiały): ma unikalną wartość własną Perron-Frobenius wynoszącą 1, a ponieważ jest stochastyczny, prawym wektorem własnym tej wartości własnej jest wektor jednostkowy . Jest to nadal właściwy wektor własny, teraz z wartością własną 0, gdy weźmiemy logarytm macierzowy.AAe