4
$\begingroup$

I am developing a semi-supervised method for identifying anomalies in a time series with multiple states. Let's consider this example time series in which there are two states e.g. state 1 and 2 with mean power 0 and 100, respectively.

enter image description here

As we can see, whenever the system enters into a particular state, it stays there for a fixed amount of time (with some variance) before transitioning into another state during the normal operation. e.g. 20 seconds in state 1, and 40 seconds in state 2, approximately. I am looking for an semi-supervised method to detect the anomalous state in which system enters into that state but stays there for a long/short period of time than the usual duration, as marked in read in the above figure.

So there are two obvious questions to ask here:

  1. Identifying the number of states from the give time series. I use a clustering method (such as k-means) to find it.
  2. Learning the state properties such as power-level and state duration.

I am able to detect the states and their corresponding power level (or fitting to a distribution) using a HMM from the given normal time series. But how to learn the state duration? After learning these parameters, I am planning to use a finite state machine to model the states and their properties to detect the anomalies in an online manner. Any suggestions??

$\endgroup$
-1
$\begingroup$

If you can detect via k-means how many distinct groups there are ...In your example 5 then you can estimate each of the interval lengths . If you have 4 interval lengths as in this case say 4,5,4,5 and say ? for the most recent then why not test the hypothesis that the "?" is significantly different from the average of the first 4 previous intervals. This could be done by setting up a pulse indicator (0,0,0,0,1) as a regressor and testing the hypothesis for the significance of this suggested regressor. The whole idea would be determine ? for a particular level of confidence and then sense if the actual interval exceeds ?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.