I have a series of observations, with an associated probability that an event is occuring at timestep t, something like:

[0.8, 0.8, 0.3, 0.9, 0.2]

Events can last multiple timesteps, and I know the distribution of event durations. So I have a survival function sf(t) that tells me how likely an event is to last t timesteps.

How do I combine these to determine the probability that the event is occuring in some time window?

In the example above, there may be an event of length 4 lasting from time 0 to time 3. Another interpretation is that an event of length 2 from time 0 to 1, and another event of length 1 at time 3. How do I use the sf to determine which is most likely?


I solved this using a modification of the Viterbi algorithm. Plain Viterbi keeps track of the most probable sequence leading up state s at time t, and uses a (usually fixed) matrix of transition probabilities at each timestep. I modified it to also keep track of the length of the same-state runs leading up to each state s at time t, and used these run-lengths to compute a distinct transition matrix for each time step, using survival probability from time t to t+1.

Plain Viterbi with fixed transition probabilties implies event lifetimes come from an exponential or geometric distribution. This method works for any lifetime distribution.

Does anyone know if this has been done before?

| cite | improve this answer | |

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.