#多重共線性とは
多重共線性 multicollinearity (Weblio辞書)
説明変数間に非常に強い相関があったり,一次従属な変数関係がある場合には,解析が不可能(「逆行列が求まりません」というエラーメッセージが出力される)であったり,たとえ結果が求まったとしてもその信頼性は低い。このような場合に多重共線性があると言われる。
簡単にまとめると、行列は1次独立でない状態(1次従属)なら、多重共線性を持つ。
#1次独立と1次従属
ベクトル$$x_1,x_2,\cdots$$
式①$$\sum_{k=1}^n a_k x_k=0$$
$a_1=0,a_2=0,\cdots,a_n=0$ がこの式の唯一の解であれば、1次独立となる。
$a_1=0,a_2=0,\cdots,a_n=0$ 以外に他の解が存在すれば、1次従属となる。
#1次従属の性質と判断基準
$X=[x_1,x_2,\cdots,x_n]$ の情報行列 $t(X)*X$ の行列式は0である。
##多重共線性①
式①の解が $A=[1,−\alpha,0,\cdots,0]$ となるとき、
$$x_1={\alpha}x_2$$
このパターンはよく知られている。以下の性質を持つ。
Ⅰ.$X$の情報行列 $t(X)*X$ の行列式は0である。
Ⅱ.説明ベクトル $x_1,x_2$ の相関係数の絶対値は1となる。
$$\left|cor(x_1,x_2)\right|=1$$
Ⅲ.$x_1,x_2$ が他の説明ベクトル $x_k,k\neq1,2$ との相関係数の比の絶対値は1となる。($x_1,x_2$ と $x_k$ 独立でない場合)
$$\frac{\left|cor(x_1,x_k)\right|}{\left|cor(x_2,x_k)\right|}=1$$
または、その相関係数は0である。($x_1,x_2$ と $x_k$ が独立である場合)
$$cor(x_1,x_k)=cor(x_2,x_k)=0$$
##多重共線性②
式①の解が $A=[1,-\alpha_1,-\alpha_2,0,\cdots,0]$ となるとき、
$$x_1={\alpha_1}x_2+{\alpha_2}x_3$$
説明ベクトル $x_1$ が他の2つ以上の説明ベクトルで説明できる場合、性質Ⅰだけが満たされる。性質ⅡとⅢは満たされない。
Ⅰ.$X$の情報行列 $t(X)*X$ の行列式は0である。
Ⅱ.説明ベクトル $x_1,x_2$ の相関係数の絶対値は常に1ではない。
$$\left|cor(x_1,x_2)\right| = \left|\frac{cov(x_1,x_2)}{ \sqrt{var(x_1)var(x_2)} }\right| = \frac{1}{\left|\sqrt{1+\frac{{\alpha_2}^2var(x_3)}{{\alpha_1}^2 var(x_2)}}\right|} <{1}$$
明らかに、性質Ⅱが満たされない。ただし、${\alpha_2}^2var(x_3)$ が ${\alpha_1}^2var(x_2)$ に対し、無視できるなら、
$$\frac{{\alpha_2}^2var(x_3)}{{\alpha_1}^2var(x_2)}\simeq0$$
説明ベクトル $x_1,x_2$ の相関係数の絶対値はほぼ1となる。
$$\left|cor(x_1,x_2)\right|\simeq1$$
Ⅲ.性質Ⅱと同じ条件で成り立つ。
#シミュレーション
完全に独立な2列ベクトル $x_2,x_3$ を作る。多重共線性①と②の性質Ⅰ〜Ⅲをチェックする。
ケース1:
多重共線性① $x_1=0.5x_2$ で $x_1$ を作る
ケース2:
多重共線性② $x_1=0.5x_2+0.5x_3$ で $x_1$ を作る($x_3$の分散が無視できない)
ケース3:
多重共線性② $x_1=0.5x_2+0.5x_4$ で $x_1$ を作る($x_4$の分散が無視できる)
ケース4:
多重共線性を持たない $x_1=0.5x_2+0.5*x_3$ で $x_1$ を作る ($x_3$を行列から外す)
ケース1 | ケース2 | ケース3 | ケース4 | |
---|---|---|---|---|
行列式 | 0 | 8.6805e-06 | -7.2958e-06 | 4664419 |
$x_2$との相関 | 1 | 0.6331 | 0.999988 | 0.6331 |
$x_3$との相関 | 0.0094 | 0.7799 | 0.0095 | - |
$x_4$との相関 | 0.0047 | 0.0283 | -0.0203 | -0.0195 |
$x_1,x_2$と$x_3$との相関比 | 1 | - | 1.0207 | - |
$x_1,x_2$と$x_4$との相関比 | 1 | 1.2669 | - | 0.3522 |
#結論
性質Ⅰ
ケース1,2,3の行列式はほぼ0であるので、多重共線性を持つ。ケース4が多重共線性を持たない。
性質Ⅱ
ケース1とケース3は、$x_2$との相関係数が1に近い。
ケース2は多重共線性を持っているが、$x_2$との相関係数は1ではない。しかも、$x_3$との相関係数も1ではない。
ケース4は多重共線性を持たないが、$x_2$との相関係数はケース2と同じだ。
性質Ⅲ
ケース1とケース3は、他の説明変数列との相関係数比が1に近い。
結論は、
1.性質Ⅰが満たされる場合、多重共線性を必ず持つ。
2.多重共線性を持つ場合、性質Ⅱと性質Ⅲが必ずしも満たされない。
#コード
n <- 4 # 説明変数の数
t <- 1000 # データの数
X <- matrix(0, t, n )
X[,2] <- rep(c(1,3,6,7,1,2,3,4,5),length=t)
X[,3] <- rep(c(3,4,6,9,2),length=t)
X[,4] <- rnorm(t,0,0.01)
X[,1] <- 0.5*X[,2]+0.5*X[,4] # ケース1~4の条件による。
In <- t(X) %*% X # 情報行列
det(In) # 行列式
cor(X) # 相関係数
cor(X)[,1]/cor(X)[,2] # 相関係数の比