RでGrangerの因果検定

RでGrangerの因果検定

Grangerの因果.
説明変数で条件付けすることで予測誤差が減ったらグレンジャー因果あり.

Grangerの因果検定.
VARモデルを使う.因果をしめす情報のすべての線形回帰係数=0なら
因果なし.グレンジャー因果なしを帰無仮説

p=1 グレンジャー因果なし.
p=0 グレンジャー因果あるかも.


VARのGrangerの因果検定(普通のやつ)では,

同時刻相関的なものは検出できない.
非線形な相関的なものは検出できない.

library("MSBVAR")
x<-cumsum(rnorm(10000))
y<-cumsum(rnorm(10000))
mat<-matrix(nrow=length(x),ncol=2)
granger.test(mat,1)

library("lmtest")

#None-correlation
x<-rnorm(10000)
y<-rnorm(10000)
grangertest(x,y)

#Linner synoptic correlation
y<-x+rnorm(10000,sd=0.01)
x<-x
grangertest(x,y)

#Linner Time deliation
x<-c(x,1)
y<-c(1,y)
grangertest(x,y)

#Random walk
x<-cumsum(rnorm(10000))
y<-cumsum(rnorm(10000))
grangertest(x,y)
cor(x,y)


#Nonliner synoptic correlation 
x<-(rnorm(10000))
y<-(rnorm(10000))
y<-x^2+rnorm(10000,sd=0.01)
x<-c(x)
y<-c(y)
grangertest(x,y)
grangertest(x^2,y)
cor(x,y)

#Nonliner Time dilation
x<-(rnorm(10000))
y<-(rnorm(10000))
y<-x^2+rnorm(10000,sd=0.01)
x<-c(x,1)
y<-c(1,y)
grangertest(x,y)
grangertest(x^2,y)
cor(x[1:(length(x)-1)],y[2:length(x)])