Я бы хотел использовать dplyr для прогнозирования нескольких моделей. Модели установлены на данных временных рядов, поэтому каждый час - это собственная модель. То есть, час = 1 является моделью, а час = 18 является моделью.Прогнозирование нескольких моделей временных рядов, dplyr
Пример:
# Historical data - Basis for the models:
df.h <- data.frame(
hour = factor(rep(1:24, each = 100)),
price = runif(2400, min = -10, max = 125),
wind = runif(2400, min = 0, max = 2500),
temp = runif(2400, min = - 10, max = 25)
)
# Forecasted data for wind and temp:
df.f <- data.frame(
hour = factor(rep(1:24, each = 10)),
wind = runif(240, min = 0, max = 2500),
temp = runif(240, min = - 10, max = 25)
)
я могу соответствовать каждой модели, час за часом, как так:
df.h.1 <- filter(df.h, hour == 1)
fit = Arima(df.h.1$price, xreg = df.h.1[, 3:4], order = c(1,1,0))
df.f.1 <- filter(df.f, hour == 1)
forecast.Arima(fit, xreg = df.f.1[ ,2:3])$mean
Но было бы удивительным, чтобы сделать что-то вроде этого:
fits <- group_by(df.h, hour) %>%
do(fit = Arima(df.h$price, order= c(1, 1, 0), xreg = df.h[, 3:4]))
df.f %>% group_by(hour)%>% do(forecast.Arima(fits, xreg = .[, 2:3])$mean)
Отлично! Я даже не знал, что вы можете сделать это в do(). – NoThanks