I have a basic background in stats, DSP, ML etc. but by no means an expert so some of my terminology is going to be rusty. It probably makes the most sense if I simply show you what i wanted to do and the data:


We have a device that sends us an update whenever its state has changed, thus we get state updates at irregular time intervals shown in the first column. In this example there are 4 variables A, B,C,D but sometimes there are more. One can see B follows, which from the working of the device is obvious like night following day so dont worry about that. We also know the values in D and some other variables are correlated with the future occurrence of values in A. We record data 24 hours a day, 365 days a year, so we have a lot of it!

Ultimately we want to predict when values in A will switch on or off over a short prediction horizon. For starters, on the last line 4 is active in column A: how long until it is inactive, how long until values 2 or 6 become active? This is the kind of t+1 prediction. Down the road we would want a longer horizon, e.g. how long until 2,6 becomes active AND how long will they be active for, and perhaps repeated for the next few cycles (as the time horizon increases the probably will converge to the observation probability I expect).

I hope everyone understands the data and the aim.

We currently make predictions by calculating the state transition probabilities (e.g a state vector equal [A,C,C,D]) and measuring the P.D.F. of the times between state transition. You can then build a predictive tree from the transition matrix.

My question is, what other approaches could we look at. I've been going through all my undergrad knowledge and researching lots of algorithms from HMMs to RNN but I'm struggling to find anything useful that cope with the uneven time sequence? And most time series analyzing are only concerned with prediction at the next time delta, not predicting when a state will change.

Any pointers?

  • $\begingroup$ Anyone got any tips? I've been looking at "Survival Analysis" but don' eally see it being that predictive, or find any sample code for python. And in any case it actually seems very close to how we currently make predictions. We already effectively create a survival function from the duration PDF. $\endgroup$ – user1978816 Apr 13 '16 at 14:40

Your Answer

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

Browse other questions tagged or ask your own question.