重回帰分析の多重共線性がわかる
「多重共線性がわからない」と困っていませんか?
こういう疑問に答えます。
本記事のテーマ
おさえておきたいポイント
- ①多重共線性がわかる
- ➁説明変数が2つの場合の多重共線性
- ➂説明変数が3つの場合の多重共線性
- ➃多重共線性より重回帰分析の結果の妥当性を考えるべき
①多重共線性がわかる
多重共線性とは
多重共線性を簡単に説明すると、
重回帰モデルを作ると係数が負(または正)と逆の符号がついてしまうこと
例として(あとで事例紹介しますが、)
説明変数\(x_1,x_2\)と目的変数\(y\)があります。
説明変数と目的変数には、
●\(ρ_{x1y}\)=0.772 (正の相関)
●\(ρ_{x1y}\)=0.801 (正の相関)
とあるのに、回帰式を解くと、
\(y\)=\(3.1\)-0.1\(x_1+0.4x_2\)
と負の係数がついてしまう現象のことです。
説明変数\(x_1,x_2\)も目的変数\(y\)は正の相関があるわけですから、
●\(x_1\)が増加すれば\(y\)も増加するはず
●\(x_2\)が増加すれば\(y\)も増加するはず
ですが、
回帰式は
●\(x_1\)が増加すれば\(y\)は減少する式になっています。
重回帰分析しないと多重共線性はわからない
厄介なことに
重回帰分析の結果オーライ的なところがある
なので、解析するしかありません。
ただし、よく言われるのが、
この性質を活用して、多重共線性が起こる場合と起きない場合の事例をこれから解説します。
➁説明変数が2つの場合の多重共線性
回帰直線と係数の求め方
説明変数が2つの場合においては、関連記事に説明していますので、ご確認ください。
重回帰分析の回帰式が導出できる 重回帰分析の回帰式は自力で導出できますか?本記事では公式暗記になりがちな重回帰分析の回帰式を途中経過を一切端折らず丁寧に解説します。ちゃんと自力で導出できて、重回帰分析や多変量解析ができるようになりましょう。重回帰分析や多変量解析を勉強する人は必読です。 |
計算結果だけ書くと
\(β_0\)=\(a\)=\(\bar{y}\)-(\(b \bar{x_1}+c \bar{x_2})\)
から計算し、
●傾き\(β_1\)、\(β_2\)の導出
\(S_{11}b+S_{12}c\)=\(S_{1y}\)
\(S_{12}b+S_{22}c\)=\(S_{2y}\)
を満たす連立方程式から、\(β_1\)、\(β_2\)が導出できます!
つまり、
\(β_1\)=\(\frac{1}{S_{11} S_{22} -S_{12}^2}(S_{22} S_{1y}- S_{12} S_{2y})\)
\(β_2\)=\(\frac{1}{S_{11} S_{22} -S_{12}^2}(-S_{12} S_{1y}+ S_{11} S_{2y})\)
なお、
\( S_{11} S_{22} -S_{12}^2\) ≥0 なので、
傾き\(β_1\)、\(β_2\)の正負は、分子の
●\(β_1\)⇒\((S_{22} S_{1y}- S_{12} S_{2y})\)
●\(β_2\)⇒\(-S_{12} S_{1y}+ S_{11} S_{2y}\)
の正負で決まりますね。
多重共線性が無い事例
下表のデータを用意します。
x1 | x2 | y |
1 | 3 | 3 |
4 | 2 | 4 |
2 | 4 | 4 |
5 | 4 | 7 |
4 | 5 | 7 |
2 | 6 | 5 |
さて、ここで問題です。
上表において、回帰直線
\(y\)=\(a+bx_1 +cx_2\)の
定数\(a,b,c\)を求めよ。
良問なので是非解いてみてください。
結果は
\(y\)=\(-0.429 +0.891x_1 +0.689x_2\)
回帰平方和\(S_R\)=13.04
残差平方和\(S_e\)=0.960
総平方和\(S_T\)=14
です。
●説明変数\(x_1\)と目的変数\(y\)との相関関係
●説明変数\(x_2\)と目的変数\(y\)との相関関係
●説明変数\(x_1\)と説明変数\(x_2\)との相関関係
をそれぞれ見ると下図のようになります。
たしかに、
●説明変数\(x_1\)と目的変数\(y\)とは、正の相関関係
●説明変数\(x_2\)と目的変数\(y\)とは、正相関関係
●説明変数\(x_1\)と説明変数\(x_2\)は相関性なし
がわかりますね。
回帰式の傾きの値も相関関係と同じ正になりました。この場合は多重共線性にならないとなります。
多重共線性が起きる事例
では、先の表の\(x2\)を下表のように値をあえて変えてみましょう。
x1 | x2 | y |
1 | 2 | 3 |
4 | 8 | 4 |
2 | 5 | 4 |
5 | 10 | 7 |
4 | 7 | 7 |
2 | 4 | 5 |
値の違いを図で確認しましょう。
つまり、
さて、ここでも問題です。
上表において、回帰直線
\(y\)=\(a+bx_1 +cx_2\)の
定数\(a,b,c\)を求めよ。
良問なので是非解いてみてください。
結果は
\(y\)=\(2.9 +2.3x_1 \)-0.8\(x_2\)
回帰平方和\(S_R\)=8.33
残差平方和\(S_e\)=5.67
総平方和\(S_T\)=14
です。
たしかに、
●説明変数\(x_1\)と目的変数\(y\)とは、正の相関関係
●説明変数\(x_2\)と目的変数\(y\)とは、正相関関係
●説明変数\(x_1\)と説明変数\(x_2\)とは、正相関関係
がわかりますね。
ところが、回帰式の傾きの1つが逆符号の結果になりましたね。この場合は多重共線性になったとなります。
多重共線性が起こる理由
結局
傾き\(β_1\)、\(β_2\)の正負は、分子の
●\(β_1\)⇒\((S_{22} S_{1y}- S_{12} S_{2y})\)
●\(β_2\)⇒\(-S_{12} S_{1y}+ S_{11} S_{2y}\)
の正負で決まりますね。
2変数でも多重共線性が起こることがわかりましたし、手計算できるレベルなので、実際解くと実感がわくはずです。
次は、教科書によく出て来る、説明変数3つの場合について解説します。変数の種類が増えただけで考え方は同じです。
➂説明変数が3つの場合の多重共線性
多重共線性が無い事例
実は、本音で言うと
頑張って探しました!
– | x1 | x2 | x3 | y |
1 | 2 | 5 | 4 | 21 |
2 | 0 | 4 | 10 | 15 |
3 | 3 | 10 | 8 | 32 |
4 | 11 | 15 | 26 | 60 |
5 | 14 | 8 | 15 | 33 |
6 | 8 | 8 | 14 | 50 |
sum | 38 | 50 | 77 | 211 |
ave | 6.33 | 8.33 | 12.83 | 35.17 |
互いの相関係数を計算します。
相関係数ρ | x1 | x2 | x3 |
x1 | 1 | 0.591 | 0.724 |
x2 | 0.591 | 1 | 0.805 |
x3 | 0.724 | 0.805 | 1 |
y | 0.684 | 0.865 | 0.828 |
回帰直線と分散分析を求めます。Excelやpython使いましょう。手計算はキツイです。
ー | 平方和 | 自由度 | 平均平方 | F | ー | 係数 |
回帰 | 1183.448 | 3 | 394.483 | 2.865 | 切片 | 4.234 |
残差 | 275.385 | 2 | 137.692 | ー | X 値 1 | 0.524 |
合計 | 1458.833 | 5 | ー | ー | X 値 2 | 2.442 |
ー | ー | ー | ー | ー | X 値 3 | 0.566 |
たしかに、どの傾きの値も正で、相関係数の正と一致していますね。これは確かに多重共線性が起きていません。
多重共線性が起きる事例
では、\(x_2\)のデータを変えてみましょう。変えたことによって相関係数の変化と回帰直線の傾きの値に注目です。
– | x1 | x2 | x3 | y |
1 | 2 | 4 | 4 | 21 |
2 | 0 | 1 | 10 | 15 |
3 | 3 | 5 | 8 | 32 |
4 | 11 | 18 | 26 | 60 |
5 | 14 | 30 | 15 | 33 |
6 | 8 | 15 | 14 | 50 |
sum | 38 | 73 | 77 | 211 |
ave | 6.333 | 12.167 | 12.833 | 35.167 |
マーカー部が変化したところです。相関係数も解きましょう。
相関係数ρ | x1 | x2 | x3 |
x1 | 1 | 0.982 | 0.724 |
x2 | 0.982 | 1 | 0.616 |
x3 | 0.724 | 0.616 | 1 |
y | 0.684 | 0.546 | 0.828 |
確かに、マーカー部の相関係数は1に上がったのがわかりますね。
そうすると、分散分析と回帰直線の傾きを計算すると、下表になります。
ー | 平方和 | 自由度 | 平均平方 | F | ー | 係数 |
回帰 | 1351.303 | 3 | 450.434 | 8.378 | 切片 | 21.524 |
残差 | 107.53 | 2 | 53.765 | ー | X 値 1 | 13.577 |
合計 | 1458.833 | 5 | ー | X 値 2 | -5.831 | |
ー | ー | ー | ー | ー | X 値 3 | -0.109 |
確かに、正の相関係数であるが、回帰直線の傾きは負になる多重共線性が起こることがわかりますね。
多重共線性が起こる理由
計算して結果オーライなので、数学的に理由を説明するのは難しいですね。
➃多重共線性より重回帰分析の結果の妥当性を考えるべき
結果の妥当性やその結果になる原因や因果関係を
考察する方がはるかに重要です。
解析方法は手段にすぎません。目的を明確に結果を考えるようにしましょう。
まとめ
「重回帰分析の多重共線性がわかる」を解説しました。
- ①多重共線性がわかる
- ➁説明変数が2つの場合の多重共線性
- ➂説明変数が3つの場合の多重共線性
- ➃多重共線性より重回帰分析の結果の妥当性を考えるべき
Warning: count(): Parameter must be an array or an object that implements Countable in /home/qcplanets/qcplanets.com/public_html/wp-content/themes/m_theme/sns.php on line 119