2014-01-20 45 views
3

我有一系列的數據here。現在pd是區分不同元素(有2228個獨特元素)的標識符,Date是日期,而excess只是一列值。我想在fpp包內使用Box.test,adf.testkpss.test來測試excess的每個pd的平穩性。爲了說明我的意思,取pd = 1作爲一個例子:測試多個時間序列的平穩性

library(fpp) 

pd1 <- read.delim("E:/something/something/pd1.txt") # Here I just extracted only the corresponding values for pd = 1 from the data file # 

excessret <- matrix(0,dim(pd1),1) 

excessret[,1] <- pd1[,3] 

Box.test(excessret[,1], lag=20, type="Ljung-Box") 

adf.test(excessret[,1], alternative="stationary") 

kpss.test(excessret[,1]) 

每三個試驗的結果是,分別爲:

Box-Ljung test 

data: excessret[, 1] 
X-squared = 47.7202, df = 20, p-value = 0.0004656  


Augmented Dickey-Fuller Test 

data: excessret[, 1] 
Dickey-Fuller = -3.2127, Lag order = 4, p-value = 0.09056 
alternative hypothesis: stationary 


KPSS Test for Level Stationarity 

data: excessret[, 1] 
KPSS Level = 0.1942, Truncation lag parameter = 2, p-value = 0.1 

說我設定爲5%的顯着性水平。然後,規則是:

1)對於Box.test,如果p值< 0.05 =>靜止

2)對於adf.test,如果p值< 0.05 =>靜止

3)爲的kpss.test,如果p值> 0.05 =>靜止的(不等式的音符變化)

因此,在這種情況下,Box.testkpss.test建議PD = 1是靜止的,而adf.test表明PD = 1是非靜止的。

我的問題是,我希望爲每一個pd都做這個,然後統計有多少個pd是靜止的,對於所有三個測試。因此,例如,使用Box.test,我希望在每個pd上應用Box.test,然後查看2228個獨特元素中有多少人被歸類爲靜態。然後爲其他兩個測試重複此操作。

謝謝。

+0

?我誠實地問,因爲你不是第一個說這個的人,而且我想知道它是否屬實。 – Paul

+0

@Paul http://stats.stackexchange.com/questions/222765/can-we-use-box-ljung-as-a-stationarity-test-for-time-series –

+0

我實際上就這個問題提出了一個答案鏈接(儘管它一直沒有被提高)。我的觀點是,LB測試是一種更強烈的白噪聲條件,因此會錯過很多固定但不是白噪聲的時間序列。如強烈意味着在大時間限制下恢復時間序列(如許多OU過程或AR過程)。這些將失敗LB測試,但仍然是靜止的。 – Paul

回答

5

比如,你可以這樣做:

library(data.table) 
DT <- as.data.table(returns) 
DT[,Date := as.Date(Date,format='%d/%m/%Y')] 
library(fpp) 
library(xts) 
DT[,{ x = xts(excess,Date) 
     list(box= Box.test(x)$p.value <0.05 , 
      adf= adf.test(x)$p.value <0.05 , 
      kpss= kpss.test(x)$p.value >0.05) 
},pd] 

     pd box adf kpss 
    1:  1 TRUE TRUE FALSE 
    2: 21 TRUE TRUE FALSE 
    3: 26 TRUE TRUE FALSE 
    4: 29 TRUE TRUE FALSE 
    5: 31 FALSE TRUE FALSE 
    ---      
2224: 82840 TRUE TRUE FALSE 
2225: 82848 FALSE TRUE FALSE 
2226: 82850 TRUE TRUE FALSE 
2227: 83053 FALSE TRUE FALSE 
2228: 83273 TRUE TRUE FALSE 
自當是Ljung的芯盒測試的平穩性測試