Критерии выбора «лучшей» модели в скрытой марковской модели

12

У меня есть набор данных временного ряда, к которому я пытаюсь подогнать скрытую марковскую модель (HMM), чтобы оценить количество скрытых состояний в данных. Мой псевдокод для этого следующий:

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

Теперь, в обычных регрессионных моделях BIC склоняется в пользу наиболее экономных моделей, но в случае с HMM я не уверен, что это именно то, что он делает. Кто-нибудь на самом деле знает, к какому типу HMM подходит критерий BIC? Я также могу получить AIC и значение вероятности. Поскольку я пытаюсь определить истинное общее число штатов, является ли один из этих критериев «лучше», чем другой, для этой цели?

Whuber
источник

Ответы:

11

Я предполагаю, что ваша выходная переменная является категориальной, хотя это может быть и не так. Обычно, когда я видел, как используется HMM, число состояний известно заранее, а не выбирается путем настройки. Обычно они соответствуют какой-то хорошо понятной переменной, которая не наблюдается. Но это не значит, что вы не можете экспериментировать с этим.

Опасность использования BIC (и AIC) заключается в том, что значение k для числа свободных параметров в модели увеличивается квадратично с числом состояний, поскольку у вас есть матрица вероятности перехода с параметрами Px (P-1) (для состояний P ) и вероятности выходных данных для каждой категории выходных данных для каждого состояния. Поэтому, если AIC и BIC рассчитываются правильно, значение k должно быстро возрастать.

Если у вас достаточно данных, я бы порекомендовал более мягкий метод настройки количества состояний, например, тестирование на удерживающей выборке. Вы также можете просто посмотреть на статистику вероятности и визуально увидеть, в какой момент это плато. Также, если ваши данные большие, имейте в виду, что это подтолкнет BIC к меньшей модели.

Майк Нут
источник