トップページ |
ひとつ上のページ |
目次ページ |
このサイトについて | ENGLISH
同じ変数について、 重回帰分析 と 単回帰分析 をした時で、係数の符号が反転することがあります。 単回帰分析の結果と同じ時と違う時 のページがありますが、符号反転は、その典型例です。 統計学が生む逆説 のひとつとして、数えられることもあります。
ネットなどで見かける解説では、符号反転の原因を、「多重共線性」や「説明変数間の相関」となっていることが一般的のようですが、「多重共線性」や「説明変数間の相関」がなくても、起きます。
以下、長い説明になるので、先にまとめを書きます。 まず、説明変数として、X1、X2の2つがあり、目的変数はYとします。 符号だけの話なので、データが標準化されているものとして考えます。
標準化されていると、X1とYの単回帰分析の係数(傾き)は、X1とYの相関係数と同じになります。
書き方は、以下です。
X1、X2が説明変数で重回帰分析をした時の、X1の係数は、以下になります。
実際のデータ分析では、相関係数の絶対値が1ちょうどになることはなく、1未満になるので、上の式の分母は、必ずプラスになります。
そこで、以下が成り立つ時に、単回帰分析の係数の符号と逆になります。
これが符号反転が成り立つ式です。
符号反転は、X1、X2、Yの3つの変数で作られる、3つの相関係数の数値的な関係で決まります。
「3つの相関係数の数値的な関係で決まります」だと漠然としていますが、もう少し踏み込むと、以下の条件も成り立っています。

この条件の時に必ず符号反転が起きる訳ではないですが、逆に、符号反転が起きている時は、この条件が成り立っています。
下記の10のパターンでも、この条件が成り立っています。
X1とX2の相関が強いと、符号反転が起きる条件が成り立ちやすくなります。
しかし、X1とX2の相関が弱くても、X2とYの相関の方が、X1とYの相関よりも強ければ、X1の符号反転が起きやすくなります。
上記の結論は、数式で説明していますが、最初からスマートに数式で導いたのではなく、「相関が強い時に、符号反転が起きる」といった説明に疑問を持ったところから、始まっています。 まず、何度もシミュレーションをして、「相関が弱くても、符号反転が起きる」という事例を見つけました。 次に、「符号反転が起きる時は、相関係数の大小関係が決まっている」ということに気付きました。 最後に、相関係数の大小関係だけでは、必ず符号反転が起きる訳ではないことから、数式で導くことを考え、標準偏回帰係数の計算式は、3つの相関係数でできていることと結び付いたことで、納得できる理由に行き着くことができました。
以下では、符号反転が起きる事例です。
筆者は、どのようなデータの場合に符号反転が起きるのかを、できるだけ網羅的に調べてみました。 MECEな分析 です。
調べたものを体系的に整理したら、10パターンありました。
10パターンは、そのパターンになれば、必ず符号反転が起きるのではなく、データの取り方によって符号反転が起きることがあります。
特に、データが少ない時(スモールデータの統計学)に起きやすいです。
これだけ多くのパターンで起きているのなら、符号反転が起きる理由は、「多重共線性があるから」といった、パターン特有の理由ではなく、共通した理由があることが考えられます。
発見的な話になるのですが、符号反転が起きたケースについて、X1とYの相関係数の絶対値と、X2とYの相関係数の絶対値の大小関係を見ると、どのケースでも、X2とYの相関係数の絶対値の方が大きいことがわかりました。
世の中の解説では、説明変数間に相関がある場合を、符号反転が起きる例として説明することが多いですが、 説明変数間に相関がなくても、符号反転は起きます。
以下の、@からFでは、まず、説明変数間の相関が強い場合を細かく分けています。 GからHでは、説明変数間の相関が弱くても、符号反転が起きるケースを調べています。
このデータは、以下の式を使って、作っています。 X2は0と1しかなく、二値になっています。
この例は、シンプソンのパラドックスの一種です。
X1とYのグラフを見ると、6個のサンプル全体では、負の相関になっているのですが、X2の値でグループ分けすると、グループの中では、正の相関になっています。
「Y予測値」は、X1とX2の両方を説明変数にした重回帰分析で推定した値です。
YとY予測値が直線的に並ぶと、精度が高いことを意味しています。
重回帰分析の係数は、データの生成式とほぼ同じ値が求まっています。
このデータは、以下の式を使って、作っています。
X1とX2に相関がある中で、X1とX2の差を取ると、X1、X2に共通した特徴以外が抽出されます。
それと、Yが相関しているパターンです。
このデータは、以下の式を使って、作っています。
X1が、YとX2の両方の説明変数になっています。
X1は、統計的因果推論で、「交絡因子」と呼ばれます。
このデータは、以下の式を使って、作っています。
X1とX2は、Zという変数から作られている点が共通していて、疑似相関の関係です。
Yは、X1から作られていて、X2とは無関係です。
YはX1から作られたデータだとしても、X2の方がYと相関が強いのなら、重回帰分析の係数に符号反転が起きます。
普通は、YがX1から作られているのなら、Yと相関が強いのは、X1です。 しかし、X1とX2の相関が強い場合は、X1とX2が似ているので、X2の方が、Yとの相関が強くなっていることがあります。 符号反転が起きたのは、そのような時です。
このデータは、以下の式を使って、作っています。
X1とX2は、Zという変数から作られている点が共通していて、疑似相関の関係です。
Yは、X2から作られていて、X1とは無関係です。
YがX2から作られたデータなこともあり、X2の方がYと相関が高いです。X1に符号反転が起きます。
このデータは、以下の式を使って、作っています。
Y、X1、X2には、直線的な関係はないのですが、Zが共通になっているので疑似相関の関係があります。
このデータは、以下の式を使って、作っています。 Z1、Z2という変数があります。 Yは、Z2の一次関数で、X1はZ1の関数なので、YとX1には直接的な関係はないです。
YとX2で単回帰分析をすると、X2に含まれているZ1がノイズになります。
そこで、Z1を持っているX1も加えた重回帰分析にすると、精度が上がります。
このようなX1は、「抑制変数(Suppressor Variable)」と呼ばれます。
なお、Iのパターンのように、説明変数間の相関が弱く、Yは、X2の一次関数の場合でも、符号の反転は起きます。
「X2単独の単回帰分析よりも、X1を加えた重回帰分析の方が相関係数の絶対値が大きい」や、「符号が反転する」ということでは、抑制変数かどうかはわからないです。 X1とX2の相関の強さから推測する必要があります。
このデータは、以下の式を使って、作っています。
説明変数間に相関がなく、YはX1とX2の線形和でできているパターンです。
Yは、X1とX2の線形和なのに、片方だけで回帰分析をしている時は、抜け落ちた方が「脱落変数」と呼ばれます。 抜け落ちたことによって起こる誤解は、「脱落変数バイアス」と呼ばれます。
このデータに対して、X1とYによる単回帰分析すると、X2が抜けたことになります。
この場合は、本来はプラスになるはずの符号が、マイナスになっています。
このデータは、以下の式を使って、作っています。
Yは、X1から作られていて、X2とは無関係です。
YはX1から作られたデータだとしても、X2の方がYと相関が強いのなら、重回帰分析の係数に符号反転が起きます。
普通は、YがX1から作られているのなら、Yと相関が強いのは、X1です。 しかし、「YがX1から作られている」となっていても、YとX1の相関が強くない場合は、無関係なX2の方が、Yとの相関が強くなっていることがあります。 符号反転が起きたのは、そのような時です。
説明変数間に相関がなく、YはX2の一次関数でできているパターンです。
このデータは、以下の式を使って、作っています。
このパターンの場合、重回帰分析のモデルは不正解で、YとX2の単回帰分析のモデルが正解になるのですが、
Y予測値とYの相関係数の方が、X2とYの相関係数よりも大きいため、「重回帰分析の方が良い」という間違った判断をしがちです。
これは、過学習の例です。 まったく関係のない変数だとしても、モデルに加わると、Y予測値とYの相関係数は上がるので、相関係数が高くなったことだけでは、モデルの妥当性を判断してはいけないです。
因果関係を検証するために重回帰分析を使い、 符号反転が起きると、「因果の向きが逆になった」となって、結果の考察で混乱します。
まず、符号を根拠にして、現象を考察するのは、良くないです。 また、データの背景について、何も調べずに、単回帰分析と重回帰分析の結果だけから、因果関係を検証しようとする進め方も良くないです。
以下の点を確認して、総合的に考察するしかないと、筆者は考えています。
順路
次は
多重共線性
