I'm currently trying to forecast the temperature based on the data from a temperature sensor.
I'm using the ForecastBySSa-algorithm in ML.NET. This algorithm has a parameter called seriesLength, but I can't figure out what this parameter does.
A search on the internet came up with multiple contradicting answers to this question, such as:
- "This parameter specifies the number of data points that are used when performing a forecast." (source)
- "The forecastingPipeline takes 365 data points for the first year [
trainSize= 365] and samples or splits the time-series dataset into 30-day (monthly) intervals as specified by theseriesLengthparameter. Each of these samples is analyzed through weekly or a 7-day window. [windowSize= 7]" (source)- And the documentation itself states that the parameter
seriesLengthis: "The length of series that is kept in buffer for modeling (parameter N)." (source)
I've tried several thing to figure out what this parameter does:
- I've tried varying the seriesLength while fixing the other parameters. But this didn't change anything when making predictions.
I've also tried varying the
seriesLengthwhile one at a time varying the parameters:trainSizeandwindowSize, but that didn't make any changes either. - I've tried tracing
seriesLengththroughout the entire algorithm, and it does appear as the size of some buffer. But when making a prediction the algorithm only uses the last L elements of the buffer to make a forecast (where L is thewindowSize, which by design has to be smaller than theseriesLength). So the rest of the elements in the buffer seemes to not matter at all?
So my best conclusion is that the seriesLength doesn't do anything at all. But that doesn't make sense since it is not an optional parameter.
Another conclusion could be that seriesLength is not yet fully implemented, since that is the case for e.g. the parameter isAdaptive, which ends in a comment: "REVIEW: to be implemented in the next version based on the FAPI algorithm in https://hal-institut-mines-telecom.archives-ouvertes.fr/hal-00479772/file/twocolumns.pdf."
What does this parameter seriesLength actually do?