簡體   English   中英

將數據幀轉換為適合auto.arima的時間序列

[英]Convert data frame to time series suitable for auto.arima

我有以下數據框:

read.csv(file="CNY % returns.csv",head=TRUE,sep=",")
    DATE LOG...RETURNS
1   03/09/13    -6.9106715
2   04/09/13    -6.9106715
3   05/09/13    -4.5839582
4   06/09/13     1.7554592
5   07/09/13    -0.8808549
6   08/09/13     4.1842420 


DATE: obviosuly date; format dd/mm/yyyy.
LOG RETURNS: compounded returns from a bitcoin CNY exchange. 

我希望將auto.arima函數用作選擇合適模型的起點。

我已經嘗試過:

cnyX <- read.zoo(text="        DATE LOG...RETURNS
1   03/09/13    -6.9106715
2   04/09/13    -6.9106715
3   05/09/13    -4.5839582
4   06/09/13     1.7554592
5   07/09/13    -0.8808549
6   08/09/13     4.1842420")


index(cnyX) <- as.Date(as.character(index(cnyX)),format="%D%m%y") 

這將產生:

<NA>        <NA>        <NA>        <NA>        <NA>        <NA>
0.2144527  -9.2553228  -0.8519708  -4.2074340  14.0817672   1.2212485 ....                

我意識到as.character分隔符不正確,但不確定應如何解決或更正。 我已經閱讀了有關創建XTS和TS對象的信息,但也無法使它們起作用。 我還提到過: 將帶有日期列的數據框轉換為時間序列,但是發現這不合適。

我應該如何將數據幀轉換為適用於auto.arima格式? 我可能存在重復的值。

問題源於傳遞給as.Date format參數不正確。 實際上,如果您嘗試將charactercharacter轉換為Date並獲得所有NA的向量,則幾乎可以肯定沒有正確指定format

這是一個可比較的數據集:

Df <- data.frame(
  Date = format(Sys.Date() - (729:0), "%d/%m/%y"),
  LogReturns = log(rgamma(730, .25)),
  stringsAsFactors = FALSE
)

使用正確的format

ln_ret <- zoo::zoo(Df[,2], as.Date(Df[,1], format = "%d/%m/%y"))

ln_ret[1:4]
#2014-01-05 2014-01-06 2014-01-07 2014-01-08 
# -2.268443  -3.562711  -4.546391  -0.707788 

這將與auto.arima一起auto.arima

forecast::auto.arima(ln_ret)
#Series: ln_ret 
#ARIMA(0,0,0) with non-zero mean 
#
#Coefficients:
#    intercept
#      -4.0742
#s.e.   0.1454
#
#sigma^2 estimated as 15.43:  log likelihood=-2034.46
#AIC=4072.93   AICc=4072.94   BIC=4082.11 

如果您只想將ARIMA模型適合對數返回數據,則無需擔心正確的日期格式。 也就是說,您知道ts的開始和結束時間,並且如果最終需要這些日期,則跟蹤任何預測的日期很簡單。

這也將起作用。

tt <- read.csv(file="CNY % returns.csv",head=TRUE,sep=",")
# assuming default options for orders p, d, q, etc
forecast::auto.arima(x=tt[,2]) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM