我可以将这些单独的 forcecasts 转换为一个 for 循环吗?
Can I transform those seperate forcecasts into one for loop?
数据以季度为单位,从 1955 年开始到 2019 年,我想做的是通过将样本周期逐渐增加一个点来获得固定范围的预测,并重复这个新的估计和预测过程样本期,并提取未来一年 (h=4) 的预测。我想从2017年第二季度开始预测。
但是我试过使用 for 循环,但它不起作用,是否可以将这段代码压缩成一个 for 循环函数
a <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2016,4), frequency = 4)
aa <- auto.arima(a)
aa
forecast(aa,h = 4)
b <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2017,1), frequency = 4)
bb <- auto.arima(a)
bb
forecast(bb,h = 4)
c <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2017,2), frequency = 4)
cc <- auto.arima(a)
cc
forecast(cc,h = 4)
d<- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2017,3), frequency = 4)
dd <- auto.arima(d)
dd
forecast(dd,h = 4)
e <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2017,4), frequency = 4)
ee <- auto.arima(e)
ee
forecast(ee,h = 4)
f <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2018,1), frequency = 4)
ff <- auto.arima(f)
ff
forecast(ff,h = 4)
g <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2018,2), frequency = 4)
gg <- auto.arima(g)
gg
forecast(gg,h = 4)
h <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2018,3), frequency = 4)
hh <- auto.arima(h)
hh
forecast(hh,h = 4)
library(forecast)
ukgdp <- ts(data$UK.GDP.UA.MP, start=1955, frequency=4)
fc <- matrix(NA, ncol=4, nrow=8) %>% ts(start=c(2016,4), frequency=4)
colnames(fc) <- paste("h =",1:4)
for(i in seq(8)) {
ukgdp_train <- window(ukgdp, end = c(2016, 3+i))
fit <- auto.arima(ukgdp_train)
fc[i,] <- forecast(fit, h=4)$mean
}
由 reprex package (v0.3.0)
于 2019-12-06 创建
数据以季度为单位,从 1955 年开始到 2019 年,我想做的是通过将样本周期逐渐增加一个点来获得固定范围的预测,并重复这个新的估计和预测过程样本期,并提取未来一年 (h=4) 的预测。我想从2017年第二季度开始预测。
但是我试过使用 for 循环,但它不起作用,是否可以将这段代码压缩成一个 for 循环函数
a <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2016,4), frequency = 4)
aa <- auto.arima(a)
aa
forecast(aa,h = 4)
b <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2017,1), frequency = 4)
bb <- auto.arima(a)
bb
forecast(bb,h = 4)
c <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2017,2), frequency = 4)
cc <- auto.arima(a)
cc
forecast(cc,h = 4)
d<- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2017,3), frequency = 4)
dd <- auto.arima(d)
dd
forecast(dd,h = 4)
e <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2017,4), frequency = 4)
ee <- auto.arima(e)
ee
forecast(ee,h = 4)
f <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2018,1), frequency = 4)
ff <- auto.arima(f)
ff
forecast(ff,h = 4)
g <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2018,2), frequency = 4)
gg <- auto.arima(g)
gg
forecast(gg,h = 4)
h <- ts(data$UK.GDP.UA.MP, start = c(1955,1), end = c(2018,3), frequency = 4)
hh <- auto.arima(h)
hh
forecast(hh,h = 4)
library(forecast)
ukgdp <- ts(data$UK.GDP.UA.MP, start=1955, frequency=4)
fc <- matrix(NA, ncol=4, nrow=8) %>% ts(start=c(2016,4), frequency=4)
colnames(fc) <- paste("h =",1:4)
for(i in seq(8)) {
ukgdp_train <- window(ukgdp, end = c(2016, 3+i))
fit <- auto.arima(ukgdp_train)
fc[i,] <- forecast(fit, h=4)$mean
}
由 reprex package (v0.3.0)
于 2019-12-06 创建