R - 几个非重叠时间序列的总和(预测)

时间:2015-02-12 11:29:50

标签: r sum time-series

我有24个时间序列预测,我想要累积的总和。这里只有两个,因为它们产生了我遇到的错误:

forecast(arima(P1, c(0,0,0)), h = 6)$mean
      Jan      Feb      Mar      Apr      May Jun Jul Aug Sep Oct Nov      Dec    
2012                                                                     12.81818                                                     
2013 12.81818 12.81818 12.81818 12.81818 12.81818 

从2012年12月到2013年5月。

forecast(arima(P2, c(0,0,0)), h = 6)$mean
      Jan      Feb      Mar      Apr      May      Jun
2014 12.94118 12.94118 12.94118 12.94118 12.94118 12.94118

从2014年1月至2014年6月。

我尝试使用全0的虚拟时间序列来添加它们以保存中间结果,但是当我将第一个添加到虚拟时间序列时,它会在结束时被截断(对于P1,即2013年5月) ,然后尝试添加第二个只返回时间序列不相交的错误消息。

有没有办法做到这一点?我想像这样的时间序列是我的结果:

          Jan      Feb      Mar      Apr      May      Jun      Jul      Aug          Sep      Oct      Nov      Dec
2011  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000      0.00000  0.00000  0.00000  0.00000
2012  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000      0.00000  0.00000  0.00000 12.94118
2013 12.81818 12.81818 12.81818 12.81818 12.81818  0.00000  0.00000  0.00000      0.00000  0.00000  0.00000  0.00000
2014 12.94118 12.94118 12.94118 12.94118 12.94118 12.94118 

要添加的部分时间序列有重叠,有些则没有。

我知道R有用于分层时间序列预测的hts包,但我需要使用arima(0,0,0)模型进行预测以用于说明目的......

干杯!

1 个答案:

答案 0 :(得分:0)

好的,这是答案。可能有更好的方法,但这有效:

#create dummy time series ts0
ts0 <- ts(rep(0,42), start = c(2011, 1), frequency = 12)

#merge alle forecasts with ts0 using ts.union
ts.union(ts0, forecast(arima(P1, c(0,0,0)), h = 6)$mean, forecast(arima(P2, c(0,0,0)), h = 6)$mean, ..., forecast(arima(P24, c(0,0,0)), h = 6)$mean)

#get row sums using rowSums
ts0sums <- rowSums(ts0)

#make into time series again
ts1 <- ts(ts0sums, start = c(2011, 1), frequency = 12)

#change 0's to NAs for plotting with "holes"
ts1[ts1 == 0] <- NA

#ts1
            Jan        Feb        Mar        Apr        May        Jun            Jul        Aug        Sep        Oct        Nov        Dec
2011         NA         NA         NA         NA         NA         NA             NA         NA         NA         NA         NA   9.000000
2012   9.000000   9.000000   9.000000   9.000000   9.000000         NA             NA         NA  13.428571  13.428571  13.428571  76.774109
2013  78.631252  78.631252  65.202681  65.202681  65.202681   1.857143             NA         NA         NA         NA         NA  18.411765
2014 430.440131 430.440131 430.440131 430.440131 430.440131 412.028367