我想基于purrr和预测包构建许多auto.arima模型。我无法在代码下面完成,出现一些错误。
我们可以在没有可重复代码的情况下开始,如果有必要我可以提
我的数据:
head(df)
nam period sv
APA 2016-07-03 1895619
APA 2016-07-10 2100690
APA 2016-07-17 2059273
APA 2016-07-24 2073187
APA 2016-07-31 1951968
我的代码在R中完成......
df %>%
nest(-nam) %>%
mutate(ts_data = map(data, tk_ts, select = sv, start = c(2016,26), frequency = 52)) %>%
mutate(harmonics = map(ts_data, fourier, K=24)) %>%
mutate(fitted = map2(.x = ts_data, .y =harmonics, .f= auto.arima, xreg , seasonal = F))
我想实现相当于这个代码:
harmonics <- fourier(db, K = 24)
# Fit regression model with ARIMA errors
fit <- auto.arima(db, xreg = harmonics, seasonal = F)
# Forecasts next 46 periods
newharmonics <- fourier(db, K = 24, h = 46)
fc <- forecast(fit, xreg = newharmonics )
有人可以帮我完成吗? Thx提前
我解决了只需将其纳入公式即可
`auto_arima = function(df) {
harmonics <- fourier(df, K = 24)
# Fit regression model with ARIMA errors
fit <- auto.arima(df, xreg = harmonics, seasonal = FALSE)
# Forecasts next 46 period
newharmonics <- fourier(df, K = 24, h = 46)
fc <- forecast(fit, xreg = newharmonics)
fc_db = fc %>% as_data_frame() %>% select(`Point Forecast`) %>%
mutate(period = seq.Date(as.Date("2017-10-15"), as.Date("2018-08-27"),by = "week"))
return(fc_db)
}
`然后:
mutate(fitted = map(ts_data, auto_arima))
七