2008-06-07
握手会
2008-06-05
偏相関係数(その2)
以前、偏粗関係数をもとに条件付き独立性を評価することにより、相関係数では検出されてしまう偽相関を取り除くことができることをしめしました。偏相関係数をみることで直接的な強い相関構造を得る事ができます。しかし、偏相関係数による直接相関の検出は必要条件ではあるが十分条件ではありません。

図のような因果関係をもとにデータを発生させてみます。
g<-function(n){
A<-rnorm(n,0,0.5)
B<-rnorm(n,0,0.5)
C<-0.5*A+0.5*B+rnorm(n,0,0.1)
m<-matrix(c(A,B,C),ncol=3,byrow=F)
m
}
d<-g(100)
cor(d)
[,1] [,2] [,3]
[1,] 1.0000000 0.0419679 0.6797696
[2,] 0.0419679 1.0000000 0.7144819
[3,] 0.6797696 0.7144819 1.0000000
相関係数行列により変数1と2は独立ということがわかります。では、変数3を条件付けた変数1と2の偏相関係数を計算してみます。
r1<-lm(d[,1] ~ d[,3])
r2<-lm(d[,2] ~ d[,3])
cor(r1$residuals,r2$residuals)
[1] -0.8646989
相関係数0.0419679であった変数1と2の間の偏相関係数は -0.8646989と強い負の関係性が生じてしまっています。これを”選択の偏り”と呼び、図のような合流構造で合流点を固定すると起こる現象です。例え、多次元正規分布しているデータでも偏相関係数だけみていれば直接相関構造が担保されるわけではないので注意です。

図のような因果関係をもとにデータを発生させてみます。
g<-function(n){
A<-rnorm(n,0,0.5)
B<-rnorm(n,0,0.5)
C<-0.5*A+0.5*B+rnorm(n,0,0.1)
m<-matrix(c(A,B,C),ncol=3,byrow=F)
m
}
d<-g(100)
cor(d)
[,1] [,2] [,3]
[1,] 1.0000000 0.0419679 0.6797696
[2,] 0.0419679 1.0000000 0.7144819
[3,] 0.6797696 0.7144819 1.0000000
相関係数行列により変数1と2は独立ということがわかります。では、変数3を条件付けた変数1と2の偏相関係数を計算してみます。
r1<-lm(d[,1] ~ d[,3])
r2<-lm(d[,2] ~ d[,3])
cor(r1$residuals,r2$residuals)
[1] -0.8646989
相関係数0.0419679であった変数1と2の間の偏相関係数は -0.8646989と強い負の関係性が生じてしまっています。これを”選択の偏り”と呼び、図のような合流構造で合流点を固定すると起こる現象です。例え、多次元正規分布しているデータでも偏相関係数だけみていれば直接相関構造が担保されるわけではないので注意です。



