時系列データは大きく「定常過程」と「非定常過程」の2つに分けることできます。そして、分析するデータが「定常過程」であるか「非定常過程」であるかを検定するのが、「単位根検定」というやつです。
Rで単位根検定を行うには、元からRにインストールされているts(Timeseries)パッケージの中にあるadf.test()という関数を使用します。
この検定の帰無仮説H₀は「単位根が存在する」そして、対立仮説H₁は「単位根は存在しない」です。つまり、p値(p-value)の解釈方法としては、「帰無仮説が棄却できなかった=非定常過程」ということになります。
p値???という方は↓記事参照
というわけで実際に単位根検定を行っていきます。使うデータは2005年から2016年までのTOPIX(日経平均株価)です。
※Rを使った株価データの取得方法は↓を参照
【R言語】 Yahoo!ファイナンスから株価データを取得する方法 その2 – 株初心者が本気で儲けるブログ
> head(TOPIX)
Open High Low Close
2005-01-04 11458.27 11547.02 11431.57 11517.75
2005-01-05 11458.92 11461.10 11416.97 11437.52
2005-01-06 11372.35 11492.26 11372.21 11492.26
2005-01-07 11528.69 11528.69 11432.19 11433.24
2005-01-11 11495.46 11580.69 11495.46 11539.99
2005-01-12 11537.60 11548.89 11449.49 11453.39
> library(tseries) ## tsパッケージのインストール
‘tseries’ version: 0.10-37
‘tseries’ is a package for time series analysis and
computational finance.See ‘library(help=”tseries”)’ for details.
> adf.test(TOPIX[,4])
Augmented Dickey-Fuller Test
data: TOPIX[, 4]
Dickey-Fuller = -1.2466, Lag order = 14, p-value = 0.8973
alternative hypothesis: stationary
結果はP値が0.8973とめちゃくちゃ大きいので、有意水準も糞もなく「帰無仮説H0は棄却できない=対立仮説を採用する」となるので、この時系列データは単位根がある=非定常性ということになります。
このように単位根検定の結果、分析しようと思っていたTOPIXのデータは非定常性だということになってしまったのですが、No probremです。
そもそもリアルのデータでそのまま定常性があるやつなんてほとんど存在しません。なので、基本的にデータを加工することで定常性を持たせることが一般的です。
そして、その方法は大きく5つあります
①データの差分を取る
②データを対数変換する
③データを対数変換して差分を取る
④データを指標(変化率など)に変換する
⑤データを指標に変換して差分を取る
↓続き
非定常過程のデータ同士で回帰分析をすると「見せかけの回帰」が起こってしまったりするので、時系列データ分析において単位根検定は大切です。
コメント
[…] 関連記事:【R言語】Rでの単位根検定 その1 […]