У меня есть цикл ниже, перебирающий 4 метода прогнозирования временных рядов в tsCV
(происхождение скользящего прогноза). Третий метод в списке, y, не прерывает цикл. Однако таблица результатов z, предназначенная для хранения MAE (средняя абсолютная ошибка), записывает NaN
для этой определяемой пользователем функции.
Эта функция прогноза определяется пользователем, так как мне нужно указать damped=T
library(forecast)
x <- 8 # t +
y <- list(ses, holt, function(j, k){forecast(holt(j, h=k, damped=T))}, hw)
z <- list()
for (i in seq_along(y))
{
a <- data.frame(tsCV(AirPassengers, y[[i]], h=x))
a[1:12, ] <- NA # 1st 12 months' forecast likely to be meaningless
b <- colMeans(abs(a), na.rm=T)
c <- data.frame(model = i
,h = 1:x
,mae = b
)
z[[i]] <- c
}
z <- do.call(rbind, z)
z$model <- as.factor(z$model)
Я получил свою идею для определяемой пользователем функции здесь: http://pkg.robjhyndman.com/forecast/reference/tsCV.html#see-also
Спасибо.