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?


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


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.