Solved – Prediction using CRFs for time series data

predictiontime series

I have a little confusion about validity of some predictions I am making using a CRF model I have trained.

The CRF model is trained on some input time-series, and when making predictions, I am passing the entire sequence to be labelled to the model. I have a concern that this is incorrect for the problem, since what I want is predictions for each observation in the time series up to that point (as if it were coming in, in real time), and I have the feeling that predictions are being made using the entire sequence (mainly due to references I see about a forward-backward algorithm for inference).

Do I need to pass only the sequence up to "what has currently been observed" in order to get a causally predicted label for that point in time, or is there such a thing as "forward only" prediction for such scenarios?

Best Answer

You want to do time-series prediction, but the CRFs are used for sequential supervised learning.

There are two key differences between time-series prediction and sequential supervised learning.

First in sequential supervised learning, the entire sequence x1,..., xT is available before we make any predictions of the y values, whereas in time-series prediction, we have only a prefix of the sequence up to the current time t + 1.

Second, in time-series analysis, we have the true observed y values up to time t, whereas in sequential supervised learning, we are not given any y values and we must predict them all.

taken from Machine Learning for Sequential Data: A Review

Related Question