我有一個包含12個變量的矩陣,每個變量有1343個觀測值。我希望爲這些變量中的每一個計算自動關聯,並使用全部數據來完成這些操作,即lag.max = 1343
。R中多元時間序列的自動關聯
使用acf()
函數我可以計算單個變量的自動關聯,但我希望在單個矩陣圖(3 x 4)中繪製全部12個。
使用acf(linear[,1],lag.max = (length(linear)))
生產:
我的數據如下所示:
> class(linear)
[1] "matrix"
> str(linear)
num [1:1343, 1:12] -102 -101 -101 -101 -101 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:1343] "2017-01-20 16:30:00" "2017-01-20 16:45:00" "2017-01-20 17:00:00" "2017-01-20 17:15:00" ...
..$ : chr [1:12] "DO0182U09A3" "DO0182U09B3" "DO0182U09C3" "DO0182U21A1" ...
我已經嘗試通過列的範圍中線性矩陣
acf(linear[,1:12], lag.max = 1343)
但它似乎產生了一種acf陰謀每個圖中的標題似乎表示相關性圖,請參閱下圖。
從閱讀?acf
的詳細信息我看到你可以傳遞一個多變量時間序列,我相信我的linear
對象是,但是我得到了如下的相關圖。
難道我的問題是在創建linear
之前我有一個對象叫wideRawXTS
。
> str(wideRawXTS)
An ‘xts’ object on 2017-01-20 16:30:00/2017-02-03 16:00:00 containing:
Data: num [1:1343, 1:12] -102 -101 -101 -101 -101 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:12] "DO0182U09A3" "DO0182U09B3" "DO0182U09C3" "DO0182U21A1" ...
Indexed by objects of class: [POSIXlt,POSIXt] TZ:
xts Attributes:
NULL
因爲有一些變量的缺失值我進行了一個線性插值如下:
linear <- apply(wideRawXTS, 2, na.interpolation, option = "linear")
我需要的linear
第一列再轉換成一個XTS對象?
任何人都可以提供一些指導,說明在產生自相關矩陣圖時我可能會出錯嗎?
> head(linear)
DO0182U09A3 DO0182U09B3 DO0182U09C3 DO0182U21A1 DO0182U21A2 DO0182U21A3 DO0182U21B1 DO0182U21B2 DO0182U21B3
2017-01-20 16:30:00 -101.50 -103.37 -103.86 -104.78 -104.95 -105.33 -102.50 -99.43 -104.05
2017-01-20 16:45:00 -101.32 -102.75 -104.22 -104.51 -103.94 -105.29 -102.82 -101.99 -103.94
2017-01-20 17:00:00 -101.45 -103.30 -103.93 -104.70 -104.82 -105.13 -103.72 -103.95 -104.25
2017-01-20 17:15:00 -100.91 -95.92 -99.22 -103.83 -104.72 -105.19 -103.57 -101.36 -104.09
2017-01-20 17:30:00 -100.91 -103.04 -104.09 -102.15 -104.91 -105.18 -103.88 -104.09 -103.96
2017-01-20 17:45:00 -100.97 -103.67 -104.12 -105.07 -104.23 -97.48 -103.92 -103.89 -104.01
DO0182U21C1 DO0182U21C2 DO0182U21C3
2017-01-20 16:30:00 -104.51 -104.42 -105.17
2017-01-20 16:45:00 -104.74 -104.65 -105.25
2017-01-20 17:00:00 -105.02 -105.04 -105.32
2017-01-20 17:15:00 -103.90 -102.95 -105.16
2017-01-20 17:30:00 -104.75 -105.07 -105.23
2017-01-20 17:45:00 -105.08 -105.14 -104.89
根據來自@ eipi10這裏的反饋是他們的建議輸出。我的筆記本花了大約20分鐘來計算,但我不知道它代表什麼!所有的情節看起來都完全一樣。
這是否你在尋找什麼:'面值(mfrow = C(3,4)); sapply(線性,acf,lag.max = nrow(線性))' – eipi10
@ eipi10感謝您的回覆,您的評論確實產生了矩陣圖,但我不知道它代表什麼!水平尺度似乎搞砸了。我不知道如何添加圖片到評論,但我會修改原來的帖子與輸出。 – TheGoat