Я пытаюсь реализовать скрытые марковские модели с архитектурой ввода-вывода, но я не могу найти ни одной хорошей реализации для того же Python.
Может кто-нибудь поделиться пакетом Python, который мог бы рассмотреть следующую реализацию для HMM.
Разрешить непрерывные выбросы.Разрешить функциональность ковариат (т.е. независимых переменных в I / O HMM).
В данный момент я изо всех сил пытаюсь найти реализацию Python для того же.
Я не смог найти соответствующие примерыв hmmlearn.
Вот несколько библиотек, которые я протестировал:
hmmlearn: hmmlearn позволяет передавать несколько объектов в выбросы / наблюдения, но не обеспечивает поддержку включения ко-вариаций(т.е. независимые переменные).
hmms: не поддерживает функции добавления непрерывных выбросов, а также не поддерживает добавление независимых переменных.
IOHMM: я смог обучить модель HMM с использованием этой библиотеки, но могне могу найти документацию для прогнозирования после обучения модели.
Поэтому я ищу пакет, который служит цели.
from IOHMM import UnSupervisedIOHMM
from IOHMM import OLS, DiscreteMNL, CrossEntropyMNL, forward_backward
SHMM = UnSupervisedIOHMM(num_states=3, max_EM_iter=200, EM_tol=1e-6)
SHMM.set_models(model_emissions = [OLS(est_stderr=True)],
model_transition=CrossEntropyMNL(solver='lbfgs'),
model_initial=CrossEntropyMNL(solver='lbfgs'))
SHMM.set_inputs(covariates_initial = [], covariates_transition = [], covariates_emissions = [['Insulin']])
SHMM.set_outputs([['Glucose']])
SHMM.set_data([data])
SHMM.train()
Я не мог понять, как получить вероятности выбросови последовательность скрытых состояний после вышеуказанной тренировки.