Существует ли функция, которая вычисляет вероятность последовательности T наблюдений с учетом скрытой марковской модели на hmmlearn?

#python-3.x #hmmlearn

#python-3.x #hmmlearn

Вопрос:

У меня есть GaussianHMM, который я подобрал с помощью функции hmmlearn.fit. У меня также есть куча последовательностей наблюдений, и я хочу вычислить вероятность того, что каждая последовательность произойдет, учитывая мою подобранную модель. Я просмотрел документацию hmmlearn и не смог найти метод, который делает то, что я хочу. В этом случае мне просто нужно закодировать алгоритм «вперед-назад»? В случае, если я буду кодировать вперед-назад, мне также понадобится матрица выбросов, которая не предоставляется hmmlearn.

У кого-нибудь есть совет относительно этого? Спасибо!

Ответ №1:

У меня также есть куча последовательностей наблюдений, и я хочу вычислить вероятность того, что каждая последовательность произойдет с учетом моей подобранной модели

  1. То, что вы, возможно, ищете, — это score функция для оценки вероятности последовательности (т. Е. model.score(X) ). Обратите внимание, что это логарифмическая вероятность, поскольку hmmlearn учитывается ошибка недостаточного потока.

В случае, если я буду кодировать вперед-назад, мне также понадобится матрица выбросов, которая не предоставляется hmmlearn.

  1. Хотя у GaussianHMM нет матрицы выбросов, вы можете дискретизировать свои выбросы и использовать MultinomialHMM , что позволяет вам указать, а также позже извлечь матрицу выбросов model.emissionprob_ .