2017-10-18 64 views
-2

我有一個數據幀如下:如何以日/小時格式創建時間序列對象並預測下一天的值?

Date   Price1 Price2 Price3 Price4 .... Price 24 

2017-10-15 60.43 49.40 48.72 48.32 
2017-10-16 38.09 30.00 24.47 24.88 
2017-10-17 48.80 46.76 46.73 45.82 

的目標是把數據幀對象轉換成時間序列,預測以及日期2017年10月18日,所有的對應的24價/值。

其實,我得到的TS對象,但在時間出現以下錯誤計算在ETS的錯誤(stock_prize):Y應該是一個單變量時間序列

有什麼建議?

+0

您可以重新整形,結合日期和時間創建日期時間列,以時間序列形式存儲,然後預測ts對象 – useR

回答

0

我認爲你的數據結構不正確。我建議你應該將這些日期作爲一個因素,並只爲這些值設定一列。例如,你有這樣的事情:

mydates <- as.Date(c("2007-06-22", "2004-02-13")) 
mydates2 <-as.Date(c("2008-06-22", "2005-02-13")) 
mydates3 <-as.Date(c("2009-06-22", "2006-02-13")) 
hours <- c(8,9) 
values <- c(1,2) 
a=data.frame(mydates,mydates2,mydates3,hours,values) 
a 

這是您的數據的外觀:

mydates mydates2 mydates3  hours values 
1 2007-06-22 2008-06-22 2009-06-22  8  1 
2 2004-02-13 2005-02-13 2006-02-13  9  2 

但是,你應該變換他們是這個樣子:

dates=c(mydates,mydates2,mydates3) 
hours_factor=rep(hours,3) 
ordered_values=rep(values,3) 
b=data.frame(dates,hours_factor,ordered_values) 
b 

這是怎麼了你的數據應該是這樣的:

dates    hours_factor ordered_values 
1 2007-06-22   8    1 
2 2004-02-13   9    2 
3 2008-06-22   8    1 
4 2005-02-13   9    2 
5 2009-06-22   8    1 
6 2006-02-13   9    2 

之後,您可以使變量成爲一個ts類。你可以使用ts函數。如果你想預測下一個日期值,你可以做一個自動迴歸。它在互聯網上有很好的文檔記錄,但請您知道您的數據必須首先符合某些要求。

相關問題