中学社会670081 views
MathPython501700 views
小学算数1203731 views
数学講師2913151 views
中学理科1633649 views
高校化学2933198 views
高校倫理1444503 views
ヒストリア294981 views
教育150077 views
雑学1474218 views
Help
Tools

English

変数を 1 つ足しただけで傾きの符号が反対になる重回帰分析

を だけで説明すると、傾きは です。ここへ を加えて同時に当てはめると、 の係数は になります。

同じデータ、同じ最小二乗法。それでも符号が反対になる。

単回帰の傾きと重回帰の係数は、測っているものが違うためです。

モデル

説明変数が 個ある場合、次の形で書きます[2]。

最小にするのは、単回帰と同じく縦方向のずれの 2 乗和です[1]。変数が増えても、当てはめる面が直線から平面や超平面に変わるだけ。

行列で書く

観測が 個、説明変数が 個なら、次の行列を作ります。

左端の 1 の列は切片のためのものです。これでモデルが 1 行に収まります。

2 乗和を で微分して と置くと、正規方程式 が出ます。

が逆行列を持つことが条件です。持たないのは、説明変数のあいだに完全な 1 次関係があるとき。

偏回帰係数の意味

は「 が 1 増えたときの の増分」ではありません。「ほかの変数を止めたまま が 1 増えたときの増分」です。

単回帰の傾きは、ほかの変数を止めていません。 が動くと も一緒に動き、その効果もまとめて拾ってしまう。

単回帰の傾き

が動くと連れて動くものの効果まで含んだ、合計の傾き

重回帰の偏回帰係数

ほかの変数を止めたときに残る、 だけの傾き

止めるかどうかで値が変わるのは当然で、変わらないほうがめずらしい。

例:符号が反転する

12 個の観測で、 と の相関が 0.9926 という強い関係にある場合です。

当てはめ の係数
を だけで0.9597
を だけで( は )0.9930
を と で0.9990

を入れると の係数が から へ動きました。 の係数は です。

が増えるとき もほぼ同じだけ増え、 の効果が大きいので、合計では が増えて見えます。 を止めれば、 単独の効果は負だった。

どちらが正しい、という問いは立ちません。答えたい問いが「 を増やしたら はどうなるか」なら、 も一緒に動くのかどうかを先に決める必要があります。

追加変数プロット

偏回帰係数を絵で見る方法があります。 と の両方から の効果を先にとりのぞき、残ったものどうしを並べる。

この散布図に単回帰を当てた傾きが、重回帰の にちょうど一致します。

左は右上がり、右は右下がりです。 をとりのぞくと、 と の関係は反対を向いていました。

面の切り口として見る

2 変数のモデルは、-- の空間に平面を当てているのと同じです。

を 1 つの値に止めると、その平面の切り口が - 平面の直線になります。この直線の傾きが です。

を上げていくと、切り口の直線が上へ平行移動します。データ点は が大きいところほど も大きいので、高い位置の直線の上に乗る。

各点を結んで見ると右上がりに見えますが、それは直線をまたいで移動しているためです。同じ直線の上を動いているわけではありません。

多重共線性

説明変数どうしが強く相関していると、 が逆行列を持ちにくくなります。完全に一致すれば逆行列が存在しません。

一致しない場合でも、近いだけで係数の推定が不安定になります。どちらの変数に効果を割りふるかを、データが決めきれないためです。

目安になるのが分散拡大係数です。 をほかの説明変数で回帰したときの決定係数を として、次で定義されます[3]。

この例では と の相関が 0.9926 なので、。標準誤差が 倍に膨らんでいることを意味します。

10 を超えたら注意する、という目安がよく使われます。ただし標本の大きさや誤差の分散でも値が動くので、これだけで判断は決まりません[3]。

多重共線性があっても、予測そのものは悪くならない。困るのは個々の係数の解釈です。

と の合計の効果は安定していて、内訳だけが決まらない。

決定係数は必ず上がる

まったく無関係な変数を足しても、 は下がりません。当てはめの自由度が増えるだけなので、2 乗和は減るか同じかのどちらかです。

先の例に無関係な を足してみます。

モデル自由度調整済み
と 0.9990420.998829
、、0.9990710.998722

は上がりましたが、調整済みのほうは下がりました。 の 値は 0.500、p 値は 0.6303 で、効いている証拠はありません。

調整済み決定係数は、変数の数で罰を与えた形です。

変数を足したときの の上がり方が、失う自由度に見合わなければ値が下がります。モデルを比べるときは、こちらを見る。

係数の検定

各係数について、 を自由度 の t 分布と比べます。

例では の係数が 、標準誤差が 0.293 なので 。自由度 9 で p 値は です。

95% 信頼区間は で、全体が負の側にあります。符号が負であること自体は、偶然では説明しにくい。

各係数の検定は、ほかの変数がモデルに入っている状態での話です。入れる変数を変えれば、同じ でも t 値が変わります。

説明変数を 1 つ足したところ、 が 0.812 から 0.815 に上がり、自由度調整済み決定係数が 0.795 から 0.790 に下がりました。どう読みますか。

  • 当てはまりがよくなったので、足した変数を残す
  • 上がり幅が失う自由度に見合わないので、足した意味は薄い
  • が上がって調整済みが下がるのは計算まちがい
__RESULT__

は変数を足せば必ず上がるので、上がったこと自体は情報になりません。調整済みの値が下がったのは、その上がり幅が自由度 1 ぶんの代償に届いていないという意味です。2 つが逆に動くのはふつうに起きます。

単回帰の傾きは合計の効果、重回帰の係数はほかを止めたときの効果。どちらの問いに答えたいかを決めてから、モデルを組みます。

参考

Linear Least Squares Regression. NIST/SEMATECH e-Handbook of Statistical Methods.
Linear regression. Encyclopedia of Mathematics.
*Overcoming the inconsistences of the variance inflation factor: a redefined VIF and a test to detect statistical troubling multicollinearity*.
$y$ を $x_1$ だけで説明すると傾きは $+3.385$。$x_2$ を加えて同時に当てはめると $x_1$ の係数は $-2.209$ になります。単回帰の傾きは連れて動くものの効果まで含んだ合計で、偏回帰係数はほかを止めたときに残るぶん。測っているものが違います。$\hat{\boldsymbol{\beta}} = (X^{\top}X)^{-1}X^{\top}\boldsymbol{y}$ の導出、$y$ と $x_1$ から $x_2$ の効果を先に落とした散布図の傾きが偏回帰係数に一致すること、相関 0.9926 の 2 変数では分散拡大係数が 67.6 で標準誤差が 8.2 倍に膨らむことまで。無関係な変数を足しても $R^2$ は 0.999042 から 0.999071 へ上がり、自由度調整済みは 0.998829 から 0.998722 へ下がる例も。