Why TimeSeries forecasts the future value poorly?
To get output that looks a bit more reasonable, modify the second parameter to TimeSeriesModelFit
.
Load the data:
ds = SemanticImport["https://textbin.net/raw/ikfqPWq6Iy"]
ts = TimeSeriesResample@TimeSeries[Values@Normal@ds]
Now, we can get output that has the repetition you were expecting with, for instance, an "ARMA"
(auto-regressive moving-average) model:
tsm = TimeSeriesModelFit[ts, {"ARMA", {100, 5}}];
DateListPlot[{tsm["TemporalData"], TimeSeriesForecast[tsm, {160}]}]
Modifying the parameters of the model (above, I picked 100
and 5
for the autoregressive order and moving average order respectively) will give different output. For instance, here's {20,30}
:
There's a large list of models and their parameters in the documentation for TimeSeriesModelFit
.
I'm not qualified to give you a good explanation of these different models or their parameters, but I hope this is a good start for you!