多重共線性(マルチコ)についてとその回避方法の概要

回帰分析においてモデルの推計を誤らせる多重共線性(マルチコ)の説明です。

概要

 多重共線性とは、説明変数間で相関があるときに生じる現象です。
 英語では、「マルチコリニアリティ(multicollinearity)」という呼び方から、略されて「マルチコ」と言われたりもします。

 そもそも、回帰分析にあっては、各説明変数はそれぞれ独立であることが想定されています。しかし、説明変数間で相関があると、しっかりとした推計ができません。

 例えば、次の式を推計しようとしたとしましょう。

 服のサイズ = a × 身長 + b × 体重 + c

 このとき、身長と体重の2つのデータを入れているため、推計の精度(決定係数など)は上がります。しかし、推計した係数であるaやbは本当に正しいでしょうか。

 普通に考えれば、身長が大きければ体重が大きかったり、体重が大きければ身長が大きいなど、身長と体重は相関しているでしょう。
 そうすると、本来は1つの説明変数で十分なのに、2つの変数で説明したことによって、推計したaとbは2つでその説明力を分け合うことになり、正しいaやbは導かれません。

 そこで、回帰分析にあっては、マルチコが生じているかどうかが重要になります。
 (なお、機械学習において、回帰系の過学習は、このマルチコが問題になっているともいえるでしょう)
 特に、決定係数を上げようと、多くの変数を入れると、その変数間で相関が生じており、マルチコが発生することがあります。

 一般的には、説明変数間で、相関行列を調べて、相関があるかどうかをチェックします。
 また、とりあえず回帰してみて、t値が低い、想定したt値の符号が異なるなどがあれば、マルチコの可能性を探ります。

マルチコの回避方法

 説明変数間で相関が合ったり、マルチコが生じているようであれば、次の2つの方法をとります。

①説明変数を削除
 簡単な方法は、相関があるので、相関がある変数をなくしてしまえばいいということです。
 そして、相関のある変数を削除し、最も当てはまりのいいモデルを採用すればいいというものです。

②入れ子モデル
 もう一つの方法は、説明変数間で相関があるので、まずはその相関で推計を行い、その推計値を利用して、元々の方程式を推計 するということです。

 例えば、次のような式があり、XとYが相関しているとしましょう。

  Z = aX + bY +c

 このとき、例えばまずは、次の式を推計します。

  X’ = dY + e

 そして、この推計したX’を利用して、元々の式を推計することになります。

  Z = fX’ + c

 なお、XとYに完全な比例関係があれば、このような方法を使わずとも、次式で推計が行えます。

  Z = (d + b)Y + c

タイトルとURLをコピーしました