55
Rで学ぶ回帰分析 と単位根検定 @teramonagi #Tokyo.R12 2011/03/05

Rで学ぶ回帰分析と単位根検定

Embed Size (px)

DESCRIPTION

単回帰分析を復習した後、単純に回帰分析を適用してはいけない『やってはいけないケース』を紹介。 そしてそれがなぜ起こるのかを実例を通して紹介した後、この問題を検出するための方法の1つという観点から単位根検定の紹介をします。

Citation preview

Page 1: Rで学ぶ回帰分析と単位根検定

Rで学ぶ回帰分析と単位根検定

@teramonagi

#Tokyo.R122011/03/05

Page 2: Rで学ぶ回帰分析と単位根検定

本日の内容

•自己紹介

•Rで学ぶ回帰分析

•Rで学ぶ単位根検定

2

Page 3: Rで学ぶ回帰分析と単位根検定

自己紹介

3

Page 4: Rで学ぶ回帰分析と単位根検定

自己紹介

• ID:teramonagi

•職業:クオンツ

•英語を頑張る

4

Page 5: Rで学ぶ回帰分析と単位根検定

Rで学ぶ回帰分析(単回帰・線形)

5

Page 6: Rで学ぶ回帰分析と単位根検定

回帰分析って何?

•変数間の関係を定量的に分析すること

•ここでは2つの変数の関係を一次関数で表現

6

Page 8: Rで学ぶ回帰分析と単位根検定

実際にやってみる

•Rではlm関数を使って単回帰分析することができる

8

Page 9: Rで学ぶ回帰分析と単位根検定

Carsデータ•1920 年代の車の速度speed と停止に要する距離dist

9

Page 10: Rで学ぶ回帰分析と単位根検定

Rで実行

10

Page 11: Rで学ぶ回帰分析と単位根検定

回帰式•speed =

α+β×dist+誤差

–α:切片(intercept)

–β:回帰係数(cars$dist)

11

Page 12: Rで学ぶ回帰分析と単位根検定

図示してみると…

plot(cars$dist,cars$speed)

abline(lm(cars$speed~cars$dist)) 12

Page 13: Rで学ぶ回帰分析と単位根検定

t Value?

t値=回帰係数/標準誤差

⇒大きいほどよい!目安は絶対値が2以上

意味:回帰係数は0じゃないっぽい

13

Page 14: Rで学ぶ回帰分析と単位根検定

株価でも当ててみるか

•日経平均(のようなもの)に対して回帰分析を適用

•うまくいけば…

14

Page 15: Rで学ぶ回帰分析と単位根検定

株価の取得•RFinanceYJをちょこちょこいじった

•結果をdropboxにUP済nikkei225 <-

read.csv("http://dl.dropbox.com/u/9923352/stockprice_sample.csv")

15

Page 16: Rで学ぶ回帰分析と単位根検定

株価を予測できる

魔法の変数X導入

16

Page 17: Rで学ぶ回帰分析と単位根検定

この場合の回帰式•日経平均(のようなもの) =

α+β×X+誤差

–α:切片(intercept)–β:回帰係数(x)

17

Page 18: Rで学ぶ回帰分析と単位根検定

謎の変数Xによる回帰結果

18

Page 19: Rで学ぶ回帰分析と単位根検定

キタ━ (゚∀゚) ━!!!

19

Page 20: Rで学ぶ回帰分析と単位根検定

魔法の変数Xの

作り方を教えよう20

Page 21: Rで学ぶ回帰分析と単位根検定

変数Xの作り方

•cumsum:累積和計算

• rnorm:正規分布に従う乱数

•nrow:行数取得

x <- cumsum(rnorm(nrow(nikkei225)))

…ということは21

Page 22: Rで学ぶ回帰分析と単位根検定

どう見てもランダムウォークです。

本当に(ry22

Page 23: Rで学ぶ回帰分析と単位根検定

別の例

N <- 10^4x <- cumsum(rnorm(N))y <- cumsum(rnorm(N))matplot(matrix(c(x,y),ncol=2),type=“l”,ylab=“Value”,xlab=“Time“)

plot(x,y)abline(lm(y~x)) summary(lm(y~x))

以下のようにデータを作る

23

Page 24: Rで学ぶ回帰分析と単位根検定

Matplotの結果

24

Page 25: Rで学ぶ回帰分析と単位根検定

Plotの結果

25

Page 26: Rで学ぶ回帰分析と単位根検定

回帰の結果

26

Page 27: Rで学ぶ回帰分析と単位根検定

あ、あれ?

27

Page 28: Rで学ぶ回帰分析と単位根検定

元々、関係ないもの同士を回帰し

たのに28

Page 29: Rで学ぶ回帰分析と単位根検定

あたかも“関係がある“という結果になってしまった

29

Page 30: Rで学ぶ回帰分析と単位根検定

何でこんなことに?

•ざっくりでいうとランダムウォーク(=単位根過程)同士を回帰するとまずい

30

Page 31: Rで学ぶ回帰分析と単位根検定

見せかけの回帰

•関係のない単位根過程同士を回帰させた時に、回帰の説明力が高く見える現象

31

Page 32: Rで学ぶ回帰分析と単位根検定

見せかけの回帰• Granger and Newbold(1974)

–シミュレーションで発見

•Phillips(1986)–解析的に振舞いを証明

32

Page 33: Rで学ぶ回帰分析と単位根検定

やってはいけない• トレンドのあるものをそのまま回帰分析に使ってはいけないことが多い

• 株価、地価、GDP等のデータをそのまま使うのは結構丌味いケースが多い

• そんなケースを見極めたい(=単位根過程を検出したい)

33

Page 34: Rで学ぶ回帰分析と単位根検定

そこで単位根検定!

…Let’s go to the next lesson 34

Page 35: Rで学ぶ回帰分析と単位根検定

(補足)こういう時の処方箋

•VARモデルを使って回帰

•変数の差分を使って回帰

この処方箋も“万能ではない“

35

Page 36: Rで学ぶ回帰分析と単位根検定

Rで学ぶ単位根検定

36

Page 37: Rで学ぶ回帰分析と単位根検定

単位根検定とは• 単位根検定とは変数がランダムウォーク(単位根過程)であるか否かを検定する方法

• ランダムウォーク(単位根過程)

37

Page 38: Rで学ぶ回帰分析と単位根検定

単位根検定とは• 具体的には

としてβ=1の帰無仮説検定を行う(※Dickey-Fuller検定の場合、定数・トレンド項は非考慮)

38

Page 39: Rで学ぶ回帰分析と単位根検定

単位根検定とは•やり方いろいろ–Dickey-Fuller検定

–拡張Dickey-Fuller検定

–Phillips-Perron検定

(使うモデルが違う)

39

Page 40: Rで学ぶ回帰分析と単位根検定

単位根検定とは•やり方いろいろ–Dickey-Fuller検定

–拡張Dickey-Fuller検定

–Phillips-Perron検定

(使うモデルが違う)

40

Page 41: Rで学ぶ回帰分析と単位根検定

単位根検定してみる

•Phillips-Perron検定> #単位根ない

> PP.test(rnorm(1000))

Phillips-Perron Unit Root Test

data: rnorm(1000)

Dickey-Fuller = -30.8597, Truncation lag parameter = 7, p-value =0.01

41

Page 42: Rで学ぶ回帰分析と単位根検定

単位根検定してみる

•Phillips-Perron検定> #単位根あるやつ

> PP.test(cumsum(rnorm(1000)))

Phillips-Perron Unit Root Test

data: cumsum(rnorm(1000))

Dickey-Fuller = -1.8941, Truncation lag parameter = 7, p-value = 0.6232

42

Page 43: Rで学ぶ回帰分析と単位根検定

株価に単位根検定> PP.test(nikkei225$close)

Phillips-Perron Unit Root Test

data: nikkei225$close

Dickey-Fuller = -2.0921, Truncation lag parameter = 6, p-value = 0.5393

単位根過程っぽい43

Page 44: Rで学ぶ回帰分析と単位根検定

変数Xに単位根検定

> PP.test(x)

Phillips-Perron Unit Root Test

data: x

Dickey-Fuller = -0.6462, Truncation lag parameter = 6, p-value =0.9752

単位根過程っぽい44

Page 45: Rで学ぶ回帰分析と単位根検定

やってはいけないケースに該当する

疑いが強い(※)誤差項にEngle-Granger共和分検定を実施し、共和分の関係があるかもチェック。

最後に少しだけ解説載せました

45

Page 46: Rで学ぶ回帰分析と単位根検定

差分系列だと?•株価・変数Xの差分系列に単位根検定

•差分系列:「今日のデータ ー昨日のデータ」のように差分化した系列

•どうせなら他の検定方法をやってみる

46

Page 47: Rで学ぶ回帰分析と単位根検定

拡張Dickey-Fuller検定

• tseriesパッケージ導入

install.packages("tseries")

library(tseries)

47

Page 48: Rで学ぶ回帰分析と単位根検定

株価の差分に単位根検定> adf.test(diff(nikkei225$close))

Augmented Dickey-Fuller Test

data: diff(nikkei225$close)

Dickey-Fuller = -7.8962, Lag order = 8, p-value = 0.01

alternative hypothesis: stationary

単位根過程じゃないっぽい48

Page 49: Rで学ぶ回帰分析と単位根検定

変数Xの差分に単位根検定> adf.test(diff(x))

Augmented Dickey-Fuller Test

data: diff(x)

Dickey-Fuller = -7.7904, Lag order = 8, p-value = 0.01

alternative hypothesis: stationary

単位根過程じゃないっぽい49

Page 50: Rで学ぶ回帰分析と単位根検定

両方共単位根過程ではないので見せかけの回帰には該当しない

50

Page 51: Rで学ぶ回帰分析と単位根検定

最後にこの差分系列で回帰分析

してみよう!51

Page 52: Rで学ぶ回帰分析と単位根検定

差分系列の回帰

52

Page 53: Rで学ぶ回帰分析と単位根検定

全然意味ない

53

Page 54: Rで学ぶ回帰分析と単位根検定

まとめ•時系列データを回帰分析する前には注意が必要

•単位根過程同士で回帰をすると見せかけの回帰になる

•それを避けるためにもとりあえず単位根検定しとけ

54

Page 55: Rで学ぶ回帰分析と単位根検定

(おまけ)共和分関係• 単位根を持つ系列同士に長期的な関係が

あるケース• 単位根過程単独では予想できない動きもこ

の組み合わせならば予測可能になる• Engle-Granger共和分検定で検出• Grangerはこの業績で2003年ノーベル経

済学賞• 購買力平価説の検定に使われたりする

55