I have a rough conceptual understanding of what Hidden Markov Models do.

What I don't understand is how to really create/train one. Let me outline what I'm working on, and then I'll give more specific questions.

(In case it is important, I am using the depmixS4 package in R.)

I am working on a time series dataset, where my fundamental task is to predictively (not retrospectively) identify zones of high and low volatility/activity, so I decided to try Hidden Markov Models to see if I could have it identify whether at time point x (not given any future data), we are in some "high/med/low volatility states".

1. How many features/variables is reasonable to give to the model?

Most blogs/posts/articles I've seen on the topic only feed a single variable into the model before telling it how many states to identify. I've seen a couple put in 2 variables, but no more. Is there an issue with putting in 5 or 10 different variables?

2. How to tell if a variable is helpful or not?

Is there any way I can tell if adding a variable was useful or not, besides visual inspection of the output states and subjectively judging whether that variable made a helpful difference?

3. What kinds of features/variables to use for the HMM?

I realize this is an extremely broad and subject-specific question, but essentially: should I design and choose features for the HMM just like I would for any machine learning algorithm like a RandomForest? I've only seen EXTREMELY basic features be fed into HMMs, is there a reason for that? Could I use features more complex than, for example, "percent change over last time step"?

Thank you for your time and help!



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.