2016-06-13 47 views
-1

我正在搞乱R的某些预测功能,并且想要合并一些预测。使用预测软件包,我做了一些单变量预测,现在想用加权方案来合成它​​们。我喜欢的ForecastCombinations组合包所采取的做法,但似乎无法复制任何东西的例子以外的?Forecast_comb将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 

example0[[i]] <- Forecast_comb(obs = y1 , 
           fhat = as.matrix(forc_all), Averaging_scheme = "best") 

感谢

回答

1

你训练的预测,而不是验证组(10出样本观测值),但在原始观测使用创建预测:

 
dim(y1) 
dim(forc_all) 

您需要的10个观测值这么的R知道用了样本观测值的比较forc_all列。这个想法是,在两栏中,他会告诉你要使用哪一个,前进。 Here 你可以找到一个更广泛的手册。

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 
相关问题