SSブログ

多重共線性の話 ~その6 多重共線性を回避する方法 [データサイエンス、統計モデル]

多重共線性があると、逆行列が求められないのが問題。
特に、完全な多重共線性の場合(ランク落ちしている場合)は、計算ができない。

そこで、通常の逆行列を拡張した一般逆行列(ムーア・ペンローズ逆行列)を導入することで、この問題を回避することができます。

通常の行列式による、回帰係数は、以下のように計算できます。
beta <- solve((t(X) %*% X)) %*% t(X) %*% y

これを一般逆行列(ムーア・ペンローズ逆行列)で書くと
beta <- ginv((t(X) %*% X)) %*% t(X) %*% y
となります。

通常のデータやランク落ちしない多重共線性の場合は、答えは一致します。

では、ランク落ちしている場合はどうなるか?
y <- 1000 + 100*x1 + 80*x2 + 60*x3 + 100*e
という場合、
- lmの結果:多重共線性が起こっている片方の回帰係数がNAとなる
- 行列計算の場合:逆行列が計算できないので、「システムは正確に特異です」となる
- 一般逆行列の場合:x1=100, x2=80だが、x1, x2で二等分した値になる
 (x1 ≒ x2 ≒ 90)

nice!(0)  コメント(0) 
共通テーマ:学問

nice! 0

コメント 0