# How do I detect state change in multivariate time series?

I have a multivariate time series . For each row in the data we have the values of inputs and a label for stability (0 or 1 ) . What are the algorithms that can detect the stability for an unlabelled time series, using this historical data. The sample data looks like this Is this a machine learning problem or a time series classification problem.What are the methods that can be used and how?

Your use case is similar to a hidden-markov-model (HMM) but not quite since your state names are known and your training data is already labelled.

Based on your labelled dataset, you can learn not only the transition matrix between states (stable/unstable) but also the observation probabilities per state. In other words, given [speed1=3, speed2=2, Pressure=1, acceleration=0.7], are you more likely to be in a stable or unstable state? You learn this based on MLE on your labelled set.

Then, when it comes to labelling the unlabelled series, you know your initial state probabilities (stable / unstable), your [2*2] transition matrix and the observations (and therefore likely state) at each time point.

Since you have multiple observed features (emissions), you can implement something similar to a Dynamic Naive Bayes solution, which is a generalisation over HMM's. Or you can use an HMM and model your emission as a multivariate Gaussian.

You can then run a Viterbi algorithm to find the best sequence of states. You can start with looking at Rubiner, HMM paper.

There are implementations of HMM in R, Matlab, Python, etc. I am sure you will find these easily upon Googling.

• Thanks. Any example about how this goes , I have used markov chain in isolation , but never used them with multivariate time series for classification Jun 26 '14 at 12:14
• Based on your labelled dataset, you learn not only the transition matrix between states (stable/unstable) but also the observation probabilities per state. In other words, given [speed1=3, speed2=2, Pressure=1, acceleration=0.7], are you more likely to be in a stable or unstable state? You learn this based on MLE on your labelled set. Then, when it comes to labelling the unlabelled series, you know what your initial states is, and the transition matrices and the observations (and therefore likely) state at each time point. Jun 26 '14 at 12:37
• You can then run a Viterbi algorithm to find the best sequence of states. Start with looking at Rubiner, HMM paper. Your use case is not strictly HMM but similar. Jun 26 '14 at 12:41