diese monatlichen Daten Siehe:R: Warum bedeutet es, wenn die MASE eines Prognosemodells NaN ist?
tsdata <- structure(c(9.55584, 42.31872, 17.064, 54.26352, 79.51824, 44.3664,
82.58976, 129.6864, 70.64496, 102.384, 118.08288, 99.31248, 151.8696,
172.68768, 129.34512), .Tsp = c(2015.25, 2016.41666666667, 12
), class = "ts")
plot(tsdata)
Dann habe ich spaltete die Serie in Trainings- und Testsätze:
training <- structure(c(9.55584, 42.31872, 17.064, 54.26352, 79.51824, 44.3664,
82.58976, 129.6864, 70.64496, 102.384, 118.08288, 99.31248),
.Tsp = c(2015.25, 2016.16666666667, 12), class = "ts")
test <- structure(c(151.8696, 172.68768, 129.34512), .Tsp = c(2016.25, 2016.41666666667, 12), class = "ts")
Schließlich passe ich ein tbats
Modell und berechnen den MASE Wert
require(forecast)
fit <- tbats(training)
fcast <- forecast(fit)
accuracy(fcast, test)
ME RMSE MAE MPE MAPE MASE ACF1 Theil's U
Training set -0.9012629 20.02206 16.33986 -22.70125 40.40976 NaN -0.3870826 NA
Test set 12.3136351 25.58155 24.77819 6.50544 16.14211 NaN -0.2992376 0.860442
Sie sehen, dass MASE nicht berechnet werden konnte. Alle anderen Modelle aus dem Paket forecast
geben auch NaN für MASE aus.
Warum? Die MASE-Metrik ist sehr wichtig für mich und es ist die, die ich für den Vergleich mehrerer Modelle für meine Zeitreihendaten verwenden möchte.
Ich vermute, dass Sie zu wenig Daten für die Skalierung haben –