Я пытаюсь создать ансамблевую модель GBM, которая создает прогноз на 15 дней вперед из ARIMA, случайного леса и модели TBATS. Каждая из этих трех моделей подбирается и затем прогнозируется отдельно с помощью экзогенных переменных (комбинация кривых sin / cos и индикаторных переменных). Когда у меня есть прогнозируемые значения, я создаю модель GBM, которая соответствует «Liftings» для 3 методов (почти так же, как работает многомерная регрессия). Смотрите ниже для этой модели; до этого происходит немало дополнительных настроек. Фрейм данных исходной модели (" Results ") содержал 564 строки.
gbm.final <- gbm(Results$Liftings ~ Results$ARIMA_fitted + Results$RF_Fit + Results$TBAT_Fit,
data = Results,
distribution = "laplace",
n.trees = optimal_trees,
interaction.depth = optimal_interaction,
shrinkage = optimal_shrinkage,
n.minobsinnode = optimal_minobsinnode,
bag.fraction = optimal_bags,
train.fraction = .75,
n.cores = NULL, # will use all cores by default
verbose = FALSE)
Я хочу взять исходную модель и подогнать прогнозы на 15 дней вперед для 3 методов. Фрейм данных для прогнозов имеет 15 строк. Данные приведены ниже (1-й раз проводка). [ARIMA / RF / TBATS Forecast DF] [1]
Prediction_1 <- predict(
# the model from above
object = gbm.final ,
# the testing data
newdata = ResultsX, #matrix containing the same variables as above
type = "response")
Я неоднократно получаю следующую ошибку: Использование 28 деревьев ... Предупреждение: у 'newdata' было 15 строк, но у найденных переменных 564 строки
Я хочу подогнать прогноз к 15 прогнозам, но модель продолжает возвращаться к исходной матрице из 564 строк. Любые предложения приветствуются.