我正在搞乱一些R的预测功能,并希望将一些预测整合在一起。使用预测包,我做了一些单变量预测,现在想要使用加权方案对它们进行整合。我喜欢ForecastCombinations组合包采用的方法,但似乎无法重现?Forecast_comb
任何人都有这方面的建议,或者有更好的策略来使用现有的R套餐来加重整体。
这是一次显然无效的尝试。
y1 = rnorm(100)
fit1 = auto.arima(y1)
fit2 = ets(y1)
#fit3 = ma(y1, order=3)
forc1 = forecast(fit1, n=10)$mean
forc2 = forecast(fit2, n=10)$mean
#forc3 = forecast(fit3, n=10)$mean
forc_all = cbind(forc1,forc2)
forc_all = forc_all
forc_all
example0[[i]] <- Forecast_comb(obs = y1 ,
fhat = as.matrix(forc_all), Averaging_scheme = "best")
由于
答案 0 :(得分:1)
您正在培训预测,而不是验证集(样本观察值中的10个),而是用于创建预测的原始观察结果:
dim(y1) dim(forc_all)
您需要10个观察值,以便R知道将forc_all
列与样本外观察结果进行比较。这个想法是,在两个专栏中,他会告诉你哪些要使用,前进。
Here
你可以找到更广泛的手册。
答案 1 :(得分:0)
我认为你的例子不可复制。如果我误解了你的问题,请原谅我,但我认为你可以让它成功:
library(forecast)
library(ForecastCombinations)
y1 = rnorm(100)
fit1 = auto.arima(y1)
fit2 = ets(y1)
#fit3 = ma(y1, order=3)
forc1 = forecast(fit1, n=10)$mean
forc2 = forecast(fit2, n=10)$mean
#forc3 = forecast(fit3, n=10)$mean
forc_all = cbind(forc1,forc2)
forc_all = forc_all
forc_all
fitted <- Forecast_comb(obs = y1 ,fhat = as.matrix(forc_all), Averaging_scheme = "best")$fitted
> fitted
[,1]
[1,] 0.1084883
[2,] 0.1084883
[3,] 0.1084883
[4,] 0.1084883
[5,] 0.1084883
[6,] 0.1084883
[7,] 0.1084883
[8,] 0.1084883
[9,] 0.1084883
[10,] 0.1084883