Kryteria wyboru „najlepszego” modelu w ukrytym modelu Markowa

12

Mam zestaw danych szeregów czasowych, do którego próbuję dopasować ukryty model Markowa (HMM) w celu oszacowania liczby stanów ukrytych w danych. Mój pseudo-kod do tego jest następujący:

for( i in 2 : max_number_of_states ){ 
    ...
    calculate HMM with i states
    ...
    optimal_number_of_states = "model with smallest BIC"
    ...
}

Teraz, w zwykłych modelach regresji, BIC ma tendencję do faworyzowania najbardziej oszczędnych modeli, ale w przypadku HMM nie jestem pewien, czy to właśnie robi. Czy ktoś faktycznie wie, do jakiego rodzaju HMM dąży kryterium BIC? Jestem również w stanie uzyskać wartość AIC i wartość prawdopodobieństwa. Skoro próbuję wywnioskować prawdziwą całkowitą liczbę stanów, czy jedno z tych kryteriów jest „lepsze” od drugiego w tym celu?

Whuber
źródło

Odpowiedzi:

11

Zakładam tutaj, że twoja zmienna wyjściowa jest jakościowa, choć może nie być tak. Zazwyczaj jednak, kiedy widziałem używane HMM, liczba stanów jest znana z góry, a nie wybierana przez strojenie. Zazwyczaj odpowiadają one pewnej dobrze zrozumiałej zmiennej, której nie można zaobserwować. Ale to nie znaczy, że nie możesz z tym eksperymentować.

Niebezpieczeństwo związane z używaniem BIC (i AIC) polega na tym, że wartość k liczby wolnych parametrów w modelu rośnie kwadratowo wraz z liczbą stanów, ponieważ macierz prawdopodobieństwa przejścia z parametrami Px (P-1) (dla stanów P ) i prawdopodobieństwa wyjściowe dla każdej kategorii danych wyjściowych dla każdego stanu. Więc jeśli AIC i BIC są obliczane poprawnie, k powinien szybko rosnąć.

Jeśli masz wystarczającą ilość danych, zaleciłbym bardziej miękką metodę dostrajania liczby stanów, na przykład testowanie na próbce wstrzymującej. Możesz także przyjrzeć się statystyce prawdopodobieństwa i wizualnie zobaczyć, w którym momencie jest to plateau. Również jeśli twoje dane są duże, pamiętaj, że spowoduje to przesunięcie BIC do mniejszego modelu.

Mike Nute
źródło