Closed AtrCheema closed 2 years ago
@AtrCheema It is true that in Time Series Analysis, a way to understand a time series is to study the structure P(x_t | x_0, ... x_{t-1})
. It is also the case for NLP: http://karpathy.github.io/2015/05/21/rnn-effectiveness/. Most of the algorithms used in NLP rely on predicting the next work with some context (for example the last N words). This approach is popular because we don't have a clear way to define targets.
That said, if you want to consider humidity, wind, temperature -> rainfall
, you will need a dataset with 4 columns. You are not required to have rainfall
technically. In the original paper of NBeats, they consider time series with just one dimension so in that case you will have rainfall -> rainfall
. But you could just train a model on just humidity, wind, temperature -> rainfall
.
Will the prediction be done with batch_size of one i.e make prediction at one step, then use that prediction as input at the next step? I am sorry if that sounds very basic but I have difficulty in understanding the usefulness of such time-series models.
That's up to you. You can specify any batch_size during prediction. batch_size=1
is possible as well.
As soon as you have new values like humidity=1, wind=2, temperature=3
you can call the model on this to give you rainfall=4. You can also use the previous values of rainfall in the predictors as well.
I'll close this issue. Let me know if it helped!
I have difficulty in understanding the benefit of such time series algorithms which uses teacher forcing i.e. they are using the actual target/ground truth (of previous step) as input to the model. Let's consider, I want to make a model to predict hourly rainfall using temperature, humidity and wind as exogenous variables. If I use N-Beats, it requires me to have precipitation as input feature as well. How can I use/deploy such model because we don't know the target value during prediction. Will the prediction be done with batch_size of one i.e make prediction at one step, then use that prediction as input at the next step? I am sorry if that sounds very basic but I have difficulty in understanding the usefulness of such time-series models.