2012-01-26 23 views
1

我在R中使用一系列基本時間序列預測中的一系列業務指標。訪問時間系列中的時間元素

我通常根據過去幾年的數據設定季度目標。

在本季度的過程中,我得到實際數據並重新預測,看看是否有重大轉變可以讓我修改預期目標。如果平均值在統計上不同或者趨勢發生了變化,我只想修改目標 - 就像控制圖一樣。

理想情況下,我想在我運行的腳本中自動執行此操作。

例如可以說我有去年的月度數據,我預測了一年

library(forecast) 
StartingData <- (1:12)+rnorm(1:12) 
forecast(ts(StartingData,start=c(2011,1), frequency =12),h=12) 

然後我得到的未來三個月的數據,這恰好是「10」,而不是繼續線性趨勢。

StartingData[13:15] <- 10 
forecast(ts(StartingData,start=c(2011,1), frequency =12),h=12) 

我希望做的是訪問的預測數據,使由輸出到我的新的預測比我的老上市預測的時間價值這種比較。但是我無法找到與該行的時間值關聯的對象。

有沒有辦法訪問這些時間值來幫助我將舊的預測與新的預測相匹配?或者是否需要編寫代碼來確定我的新數據集中的數據量比舊數據集多少?

謝謝,

+0

簡單地說你的問題,你想訪問兩組數據進行進一步比較,對吧? – Maiasaura

+0

是的 - 我試圖找到在兩組之間自動計算的最佳方法。事實上,它提供了與預測相關的日期,這讓我認爲我應該能夠在日期之前將兩個數據集合在一起。但是我無法找到實現這一目標的對象。 –

回答

1

這是一種方法。如果你想要新舊並存,那麼你可以重寫數據。

library(forecast) 
StartingData <- (1:12)+rnorm(1:12) 
d1=data.frame(forecast(ts(StartingData,start=c(2011,1), frequency =12),h=12)) 
d1$times=row.names(d1) 
d1$fcast='old' 

StartingData[13:15] <- 10 
d2=data.frame(forecast(ts(StartingData,start=c(2011,1), frequency =12),h=12)) 
d2$times=row.names(d2) 
d2$fcast='new' 

combined=rbind(d1,d2) 
row.names(combined)=NULL 

combined 

> combined 
    Point.Forecast  Lo.80 Hi.80  Lo.95 Hi.95 times fcast 
1  12.58567 11.652976 13.51837 11.159237 14.01211 Jan 2012 old 
2  13.53736 12.604661 14.47005 12.110921 14.96379 Feb 2012 old 
3  14.48904 13.556345 15.42174 13.062605 15.91548 Mar 2012 old 
4  15.44073 14.508029 16.37342 14.014289 16.86716 Apr 2012 old 
5  16.39241 15.459713 17.32511 14.965973 17.81885 May 2012 old 
6  17.34409 16.411397 18.27679 15.917657 18.77053 Jun 2012 old 
7  18.29578 17.363081 19.22848 16.869341 19.72222 Jul 2012 old 
8  19.24746 18.314765 20.18016 17.821024 20.67390 Aug 2012 old 
9  20.19915 19.266449 21.13185 18.772708 21.62559 Sep 2012 old 
10  21.15083 20.218133 22.08353 19.724391 22.57727 Oct 2012 old 
11  22.10252 21.169816 23.03522 20.676075 23.52896 Nov 2012 old 
12  23.05420 22.121500 23.98690 21.627758 24.48064 Dec 2012 old 
13  11.06443 8.716179 13.41269 7.473087 14.65578 Apr 2012 new 
14  11.33021 8.925497 13.73491 7.652521 15.00789 May 2012 new 
15  11.56613 9.111298 14.02095 7.811791 15.32046 Jun 2012 new 
16  11.77555 9.276224 14.27488 7.953161 15.59794 Jul 2012 new 
17  11.96145 9.422619 14.50028 8.078643 15.84426 Aug 2012 new 
18  12.12647 9.552565 14.70038 8.190020 16.06293 Sep 2012 new 
19  12.27296 9.667908 14.87802 8.288876 16.25705 Oct 2012 new 
20  12.40300 9.770290 15.03571 8.376618 16.42938 Nov 2012 new 
21  12.51843 9.861164 15.17569 8.454494 16.58236 Dec 2012 new 
22  12.62089 9.941825 15.29996 8.523612 16.71817 Jan 2013 new 
23  12.71185 10.013418 15.41028 8.584955 16.83874 Feb 2013 new 
24  12.79259 10.076963 15.50822 8.639396 16.94579 Mar 2013 new 
> 
+1

當然,我的意思是補充說,你可以將日期轉換爲日期字段,但現在我沒有打擾。 – Maiasaura