時間序列平穩性檢驗—R語言KPSS檢驗

1.R語言函數ur.kpss()

對於一個時間序列,例如用R自帶的google股價變化數據goog(可以通過導入fpp2包之後直接使用goog這個數組變量,這裏僅爲示例,代指要檢驗的時間序列或者數組)。

1.1 對goog進行KPSS檢驗

R代碼爲

library(urca)
summary(ur.kpss(goog))

輸出結果如下:
在這裏插入圖片描述這個結果怎麼解釋?沒找到官方的太嚴格的資料。我根據一些參考資料中做了一些推斷,僅供參考。

(1)比較顯然地,檢驗的結果是用 Value of test-statistic:10.7223,來和下面最下面的4個顯著性水平(significance level,10pct表示10%,5pct表示5%)和對應的臨界值(critical values)來比較。

(2)KPSS原假設H0是——序列是平穩的,KPSS檢驗是單邊檢驗。
假設檢驗的顯著性水平的含義是
          P(拒絕H0 | H0爲真)=α
而拒絕H0是指發生 Value of test-statistic>Critical value【這個地方是我猜的或者推斷的】。顯著性水平的含義亦即

P( Value of test-statistic> Critical value | H0爲真)=Critical value for a sigificance level

(3)本次檢驗中Value of test-statistic=10.7223>0.739,也就是在“序列爲平穩序列這個假設前提下,概率0.01的小概率事件發生了”。所以原假設爲假。於是得出結論:原序列是非平穩序列。

1.2 對diff(goog)進行KPSS檢驗

我們都知道,差分是把非平穩序列轉化爲平穩序列的一種方法。對goog數據做一階差分操作,重新進行檢驗,

summary(ur.kpss(diff(goog)))

運行結果如下:
在這裏插入圖片描述顯然地,Value of test-statistic 越小越好,小於最左邊的 critical values。檢驗結果沒有得出拒絕原假設的檢驗結果,所以不能拒絕原假設。

1.3 其他情況

如果 Value of test-statistic落在不同的臨界點之間,可以根據假設檢驗的原理來得出結論。其他的檢驗方法一般都用5%的臨界點作爲判斷標準。

圖片輸出中的 Test is of type:mu with 7 lags的計算方法可能是trunc(3·sqrt(n)/13),其中n是數組或者時間序列的長度,本例中length(goog)=1000。所以trunc(3·sqrt(1000)/13)=7。

2.參考資料

一本教材中平穩性檢驗的一小節

關於KPSS的一個資料

關於KPSS中lags計算方法的一個資料

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章