Open perellonieto opened 7 years ago
Interesting cases: 1 - If the classifier is incremental/online, then this isn't a problem, as it can just be called with the last weights/latent variable estimates as a parameter (probably stored in a parameter stream). If it's an offline algorithm, that requires a batch of data, but is designed to iterate over the data (e.g. SGD) then it could indeed make sense to do this kind of thing, rather than wait till all the data is available. 2.+3. I hadn't thought of the forecasting case, but yes this makes sense too.
Perhaps you could come up with a couple of simple use cases ... e.g. predicting tomorrow's weather (it can be a dumb predictor that just predicts the same as today), and see what the consequence of removing that constraint would be.
To be honest I think the main reason it's there at the moment is just to protect the user from unintentional mistakes, as this was the most common cause.
It's worth noting that by default I think all of the channels are valid up to now()
, so you might be able to write to a stream but not read from it.
What are the implications of using Streams of data with a timestamp in the Future (or in the present moment)?
At this moment, if you ask for a Stream to be computed for the current time it will raise the following Exception
I can think of two cases where it could be interesting to allow Streams in the future: