7.8 相関、因果関係と予測

相関は因果関係ではない

相関と因果関係や、因果関係と予測、を混同しないことが大切です。変数\(x\)は変数\(y\)を予測するのに役立つかもしれませんが、だからといって、\(x\)\(y\)の原因というわけではありません。\(x\)\(y\)の原因ということもあり得ますが、\(y\)\(x\)の原因かもしれませんし、単純な因果関係よりも複雑な関係かもしれません。

例えば、毎月のビーチリゾートでの溺死者数は、同時期のアイスクリーム販売数でモデル化できます。モデルが妥当な予測をできるのは、アイスクリームが溺死の原因だからではなく、人々は泳ぎに行きたくなるような暑い日に、より多くアイスクリームを食べるからです。ですから、2つの変数(アイスクリーム販売数と溺死者数)間に相関はありますが、一方が他方の原因ではありません。これは「交絡」の例です。その場合、応答変数と少なくとも1個の予測変数、両方の変化を引き起こしている隠れた変数があるのです。

予測モデルに含まれない変数が、応答変数と少なくとも1個の予測変数の両方に影響を与えている場合、それを「交絡変数」と呼びます。交絡があると、原因となる変数を決めるのは困難になりますが、予測がより困難になるわけでは必ずしもありません。

同様に、路上の自転車乗りの数を朝に観測することで、午後雨が降るか予測できます。いつもより自転車乗りの数が少なければ、後で雨が降りそうです。モデルが妥当な予測をできるのは、自転車乗りが雨を防いでいるわけではなく、天気予報が雨が降らないと言っているときに自転車に乗る人が多いからです。このケースでは、因果関係はありますが、因果の方向は予測モデルと逆です。天気予報が雨だから、自転車乗りの数が減るのです。つまり、\(y\)(雨降り)が\(x\)(自転車乗りの数)に影響しているわけです。

相関は予測に役立つという理解は大切です。2つの変数間に因果関係がなくても、因果の方向がモデルとは逆でも、交絡があっても、です。

ただし、因果関係が決まれば、より良いモデルが可能になることも多いです。溺死者数のより良いモデルは、おそらく気温や訪問者数を含み、アイスクリーム販売数は含まないでしょう。降雨のより良い予測モデルは、ここ2、3日の大気観測値を含み、自転車乗りの数は含まないでしょう。

予測変数同士に相関がある場合の予測

2つ以上の予測変数同士で強い相関がある場合、予測変数それぞれの影響を正確に区別することは困難になります。ある会社の2012年の月次売上高を、2000–2011年のデータを使って予測しているとしましょう。2008年に市場に新規参入者が現れ、いくらか市場シェアを奪い始めました。同時に、経済は不況に入りました。予測モデルに、競合他社の活動(ローカルのテレビ局への広告時間を使って測ります)と経済状況(GDPを使って測ります)を含めたとします。これら2つの予測変数間には強い相関があるので、それぞれの影響は区別できないでしょう。

予測変数同士に相関があることは、実は予測には問題ではありません。各予測変数の影響を区別しなくても、予測は計算できるのですから。ただし、シナリオ予測では、シナリオは予測変数間の関係を考慮すべきなので、問題になります。また、各予測変数の過去の影響を分析するよう求められた場合は、問題になります。

多重共線性と予測

密接に関連した問題は、重回帰において2つ以上の予測変数が似た情報を提供する場合に起こる多重共線性です。

2つの予測変数間に強い相関がある(つまり、相関係数が+1か-1に近い)場合に起こります。その場合、一方の変数の値を知ることで、他方の変数の値もほぼ知れます。ですから、両者は似た情報を提供しているのです。例えば、足のサイズは身長を予測するのに使えますが、左足のサイズと右足のサイズの両方をモデルに入れても予測は良くなりません。悪くもならないでしょうが。

多重共線性は、複数の予測変数を線形に組み合わせた場合に、ある組み合わせと他の組み合わせの間に強い相関があると起こり得ます。その場合、第1のグループの予測変数の値を知れば、第2のグループの予測変数の値もほぼ知れます。ですから、両者は似た情報を提供しているのです。

この問題の例として、7.4節で議論したダミー変数の罠があります。四半期データに4つのダミー変数\(d_1\)\(d_2\)\(d_3\)\(d_4\)を使ったとします。すると、\(d_4=1-d_1-d_2-d_3\)なので、\(d_4\)\(d_1+d_2+d_3\)の間には完全な相関があることになります。

完全な相関(つまり、ダミー変数の罠でそうであるように、相関係数が+1か-1)の場合、回帰モデルは推計できません。

強い相関がある(相関係数が+1か-1ではないものの、+1か-1に近い)場合は、回帰係数の計算が困難になります。実際、係数を実に不正確に推計するソフトウェア(顕著なのが、マイクロソフト・エクセルです)もあります。ほとんどの評判の高い統計ソフトは、多重共線性の係数推計への影響を抑えるアルゴリズムを使っていますが、それでも注意は必要です。R、SPSS、SAS、Stataといった主要なソフト・パッケージは皆、この問題をできるだけ回避する推計アルゴリズムを使っています。

多重共線性がある場合、個々の回帰係数に付随する不確実性は大きくなります。推計するのが困難だからです。結果として、回帰係数への統計検定(例えば、t検定)は信頼できなくなります。(予測の際は、そうした検定に興味があることはまれですが。)また、各予測変数が予測にどれだけ貢献したか正確に述べることはできなくなります。

予測変数の将来値が過去の値の範囲を越えると、予測は信頼できなくなります。例えば、お互いの間に強い相関のある予測変数\(x_1\)\(x_2\)で回帰モデルを当てはめたとして、かつ、訓練データの\(x_1\)の値は0から100の範囲にあったとします。すると、\(x_1>100\)、あるいは \(x_1<0\)に基づく予測は信頼できなくなります。予測変数の将来値が過去の範囲からずっと外側にある際はいつもかなり危険ですが、多重共線性がある場合には特に問題です。

良い統計ソフトを使っていて、各予測変数からの貢献には興味がなく、予測変数の将来値が過去値の範囲内にあるのなら、心配しなくても、完全な相関がある場合を除いて、多重共線性は問題になりません。