Closed leyp1 closed 2 years ago
Hi, There are a few concepts to untangle in your question.
TimeSeries
you give to fit()
as well as the input/output chunk lengths.num_samples
to predict()
. This will determine the number of Monte Carlo samples that will be used to describe the resulting stochastic TimeSeries
(s) returned by predict()
.TimeSeries
-vs- one multivariate TimeSeries
: one TimeSeries
always has the same time axis, so the different components of a multivariate series always share the same time steps. Furthermore, a model trained on multivariate series will learn to capture all the components jointly. In contrast, training on multiple TimeSeries
allows to train on series not necessarily sharing the same axes. Multiple TimeSeries
will result in more input/output sub-slices training examples compared to stacking all the dimensions in a single series and slicing them all together.Hope this helps.
Yes ok, this makes sense. Thank you for clarifying and answering so quickly!
Hi,
I have a couple of questions and would be thankful for any aid to help me understand what is going on behind the scences.
From what I read on the NBEATS model description (https://unit8co.github.io/darts/generated_api/darts.models.forecasting.nbeats.html?highlight=batch%20size) the batch size changes the amount of samples in one batch however changes nothing about the number of Timeseries in each batch, is this correct? If yes, then is there a parameter that changes the number of Timeseries in a batch, since at the moment from what I have seen it always seems to take all of the Timeseries when calling fit(...).
Additonally I have noticed that there is a difference between passing a list of Timeseries to fit(...) as the training set or one multivariate Timeseries, but I do not understand why. The amount of batches changes when I do this.