Szacowanie prawdopodobieństwa łańcucha Markowa

12

Jaki byłby powszechny sposób szacowania macierzy przejścia MC, biorąc pod uwagę przedziały czasowe?

Czy jest do tego funkcja R?

użytkownik333
źródło
Czy jest to dyskretny czy ciągły łańcuch markowa?
Makro,
Myślę, że dyskretne. Mam 5 możliwych stanów od S1 do S5
333
Opierając się na poprzednich miłych odpowiedziach: tak, istnieje sposób rozpoznawania pozycji. Myślę, że jest to możliwe dzięki modelom Markowa n-tego rzędu.

Odpowiedzi:

14

Ponieważ szeregi czasowe są wyceniane dyskretnie, prawdopodobieństwa przejścia można oszacować na podstawie proporcji próbki. Niech będzie stanem procesu w czasie t , P będzie wówczas macierzą przejściaYttP

Pij=P(Yt=j|Yt1=i)

Yt1nikik

P^ij=nijk=1mnik

mm=5k=1mnikiYt1

Edycja: Zakłada się, że obserwujesz szeregi czasowe w równych odstępach. W przeciwnym razie prawdopodobieństwa przejścia zależą również od opóźnienia (nawet jeśli nadal są markowskie).

Makro
źródło
6
Słyszę co mówisz. Zasadniczo obserwowane częstotliwości będą moją matrycą ... W prostych słowach!
user333,
A co z ciągłą przestrzenią stanów? Czy mam trochę trudności ze zrozumieniem tej koncepcji?
user333,
1
W przypadku ciągłej przestrzeni stanów problem staje się znacznie bardziej skomplikowany, ponieważ należy wówczas oszacować funkcję przejścia zamiast macierzy. W takim przypadku, ponieważ krańcowe prawdopodobieństwo bycia w jakimś konkretnym stanie wynosi 0 (podobnie jak prawdopodobieństwo przyjęcia dowolnego określonego punktu w przestrzeni próbki wynosi 0 dla dowolnego ciągłego rozkładu) to, co opisałem powyżej, nie ma sensu. W przypadku ciągłym wydaje mi się, że oszacowanie funkcji przejścia jest rozwiązaniem zestawu równań różniczkowych (nie znam się na tym zbyt dobrze, więc proszę mnie poprawić, jeśli się mylę)
Makro
Czy ta metoda nie zakłada 1 ciągłej obserwacji, a nie wielu jak na słupku poniżej? Wyobraź sobie na przykład, że E był stanem pochłaniającym ... Czy to na pewno się tutaj nie ujawni?
HCAI
4

Jest bardzo, z hipotezą, że twoje szeregi czasowe są nieruchome:

Aby uprościć doskonałą odpowiedź Makra

Tutaj masz szereg czasowy z 5 stanami: A, B, C, D, E

AAAEDDDCBEEEDBADBECADAAAACCCDDE

Musisz tylko policzyć najpierw przejścia: - pozostawiając A: 9 przejść Spośród tych 9 przejść 5 to A-> A, 0 A-> B, 1 A-> C, 2 A-> D, 1 A-> E Zatem pierwszy wiersz macierzy prawdopodobieństwa przejścia to [5/9 0 1/9 2/9 1/9]

Robisz to licząc dla każdego stanu, a następnie otrzymujesz swoją matrycę 5x5.

Mickaël S.
źródło
Świetny przykład, dziękuję. Więc łańcuchy Markowa dotyczą się tylko liczbą przejść, a nie ich rozmieszczeniem, prawda? Na przykład, czy AAABBBAmiałby taką samą matrycę jak ABBBAAA?
Marcin,
tak, z łańcuchem Markowa, jeśli masz taką samą liczbę przejść, będziesz miał tę samą matrycę. To dobre pytanie. Nawet jeśli nie masz dokładnie tej samej sekwencji, masz to samo „zachowanie”, a to jest najważniejsze w modelowaniu, jeśli chcesz powtórzyć dokładnie tę samą sekwencję, po co modelować? Po prostu powtórz swoje dane.
Mickaël S,
Czy istnieje inna metoda liczenia przejść uwzględniająca pozycję? Robię badania na temat łamania haseł, więc byłoby miło mieć metodę oceny, co jest najbardziej prawdopodobną następną postacią. Problem z hasłami polega na tym, że ludzie mają tendencję do przestrzegania zasad, takich jak umieszczanie * na początku i na końcu hasła lub kończenie hasła za pomocą 1, więc liczą się nie tylko przejścia, ale także ich lokalizacja.
Marcin,
ok, nie myślałem o tej sprawie, czy jesteś pewien, że Markov Chain to najlepszy sposób na robienie tego, co chcesz? Jeśli tak uważasz, jaki jest twój stan (każda postać jest stanem)? Jak planujesz obliczyć przejście? Jak zamierzasz korzystać z łańcucha markowa?
Mickaël S,
2

funkcja markovchainFit z pakietu markovchain rozwiązuje problem.

Giorgio Spedicato
źródło