Code to implement a personalized input output hidden Markov model (PIOHMM) and other hidden Markov model variations. PIOHMMs are described in K.A. Severson, L.M. Chahine, L. Smolensky, K. Ng, J. Hu and S. Ghosh, 'Personalized Input-Output Hidden Markov Models for Disease Progression Modeling' MLHC 2020. Full details are available here. The PIOHMM model class is in piohmm.py.
See the jupyter notebook 'Sample Model' for a simple example of the model. There are three primary components for using a PIOHMM:
HMMto specify the particular model; see__init__for a description of the optionslearn_modelto perform inferencepredict_sequenceto use the Viterbi algorithm to make state predictions