バナナでもわかる話

開設当初は計量経済学・統計学が専門の大学院生でした。今はデータを扱うお仕事をしています。統計学・経済学・投資理論・マーケティング等々に関する勉強・解説ブログ。ときどき趣味も。極力数式は使わずイメージで説明出来るよう心掛けていますが、時々暴走します。

相関係数の目安と解釈と注意点~舐めてかかると痛い目を見る話~

株式分析、回帰分析等々様々な場面で話題になる相関係数

なんなら最近は高校でも習います。


「あー、知ってる知ってる。1か-1に近いほど直線になるんでしょう。」


でもちょっと待ってほしいんです。相関係数って意外と奥が深くて難しい代物だったりするんです。

今回から2,3回の記事で、相関係数についてまとめていこうと思います。今日は概要。

スポンサーリンク


相関係数とは


まず、相関係数について定義しておきます。

確率変数 X,Yを考えます。

ここで、これらの標準偏差を \sigma_x,\sigma_yと書くことにします。
更に、共分散を Cov[X,Y]と書くことにすると、相関係数 \rhoは次のようになります。


 \rho=\frac{Cov[X,Y]}{\sigma_x\sigma_y}


「んんん、俺の知っている相関係数と違うぞ!」という方はもう少しお待ちください。
とりあえず基本的に以後相関係数と呼ぶのはこの \rhoです。


標本相関係数

ただ、よくよく考えてほしいんですけど、共分散とか標準偏差とかって分かるんでしたっけ??
分布のパラメータに関する真の値は普通神様でもない限りはわかりません!

このあたりの話がよく分からない方はこちらの記事をどうぞ
【初心者向け】推定値と推定量、真の値の区別は統計を勉強する上で重要です - バナナでもわかる話


そこで、私たちは分散を使いたい時は分散の推定量を、共分散を使いたい場合は共分散の推定量を使うのでした。

当然、相関係数を知りたい時は、相関係数の推定量を利用します。


で、それがこれです。

 \hat{\rho}=\frac{\sum_{i=1}^{n}(X_i-\bar{X})(Y_i-\bar{Y})}{\sqrt{\sum_{i=1}^{n}(X_i-\bar{X})^2}\sqrt{\sum_{i=1}^{n}(Y_i-\bar{Y})^2}}

なんだこれはと思う方は、分子と分母に \frac{1}{(n-1)}を掛けてみてください。別に \frac{1}{n}でも構いません。


要は、共分散の推定量と分散の推定量を元の相関係数の式にブチ込んだだけです。


これを使って、データがどの程度相関しているかをチェックするわけですね。


よくある誤解

で、相関係数の何がそんなに難しいのかという話に移るわけですが、まとめると次のような誤解(間違い)があります。


×相関係数が大きい(例えば、0.7以上とか)ならば、必ず線形関係がある

×相関係数0.2と相関係数0.4なら、後者の方が相関が二倍である

×相関係数は背後にどんな分布があろうと使える

×相関係数はデータが正規分布していないと使えない



この手の記述は全て間違いだと私は思っています。以後何回かの記事を通して少しずつ説明していこうかと思っています。



間違って使わないために

とりあえず、これらの誤解について詳しくは今日以降の記事で随時説明していくわけですが、直感的な理解をしておくと


まず、相関係数についてですが、これを因果関係の文脈で扱う際には次のような手順で物を考えています。


①データの関係に一次関数のような線形関係を仮定する
②確率変数であるため、確率的な誤差が伴い、完全な線形関係は生じないが、①で仮定した線形関係に、二変数それぞれについて最も誤差が少なくなるよう当てはめる
③当てはめたものの平均を取る(幾何平均)ことで、どの程度線形関係がうまく出来ているか見る



よく分からない方のためにもう少し説明すると、例えば

 Y=\frac{1}{2}X

という関係があったとします。この時、式変形をしてやると

 X=2Y

になりますね。それぞれの係数 \frac{1}{2},2を掛けて平方根を取ってやるとその絶対値は 1になります。

これが完全な相関(線形関係)です。

この、掛けて平方根を取るという操作が③で言う幾何平均を取るという操作になります。



ただ、実際のデータは確率的な変動をしているので、例えば Y=~~という形で見た時には

 Y=\frac{1}{3}X

を当てはめるのが最も誤差が小さいけれども

 X=~~と言う形で見た時には

 X=2Y

を当てはめるのが最も誤差が小さくなるという状況が生じます。これが②の手順にあたります。

この時先ほどと同じように幾何平均を取ってやると

 \sqrt{\frac{1}{3}×2}=0.816

となるわけですが、要はこれが相関係数です!



この手順を

最小二乗法に基づく相関係数の導出と呼んだりします。




ここで注意してほしいことはたった一つ。


一番初めに線形関係を仮定してスタートしている


ということです。

線形関係を仮定して、誤差を小さくするようセッティングするという手順を踏む以上、例えば変な形の二次関数が二つくっついた形みたいなものは想定していないので、場合によっては線形関係がないのに、相関係数が高くなることが起こり得ます。

例えば下のようなデータは相関係数が-0.7です。
f:id:bananarian:20181031134835p:plain



また、強引に線形関係を当てはめているので、外れ値に引っ張られる恐れもあります。
よくよく考えていただきたいのですが、相関係数の式って、分散の存在を仮定してますよね。つまり、難しい言葉を使うと二次のモーメントの存在を仮定しているわけです。よって、外れ値が出やすいような分布に対して相関係数はうまく機能しません。

モーメントが存在しないような分布についての直感的な理解はこちら
期待値の無いコーシー分布の平均を取ると何が起こるか - バナナでもわかる話


下のデータも相関係数が-0.7ですが、実は左側の外れ値を3つ取り除くだけで相関係数が0.7にひっくり返ります。
f:id:bananarian:20181031135101p:plain




よく相関係数を使おうとすると、お節介な人が次のようなことを言ってきたりもします。

「データが正規分布かどうか確認したかい?相関係数は正規分布じゃないと使えないよ」


まあ気持ちはわかるんですが、これはです。

先ほどの最小二乗法の手順を思い出してみてください。どっかで正規分布を使いましたか?

この誤解は、次のような事実から発生しているものと思われます。


「二変量正規分布のパラメータ \rhoの最尤推定量が標本相関係数である」

「元々、相関係数が生まれたのは、二変量正規分布のパラメータの推定を考えたことによる」


だから、経緯としては正しいわけですが、別に正規分布を仮定しなくとも相関係数は考えることが出来ます。詳しくはこちら
https://www.jstage.jst.go.jp/article/sjpr/59/4/59_415/_pdf



相関係数を因果の文脈で使う場合の注意

詳しくは以降の記事で説明するわけですが、とりあえず使う際の注意点はこんな感じ!

よって、相関係数を使う場合には、必ずプロットしたり、背後の構造を考えてみたりして、線形の仮定が妥当かどうかを考える必要がある

また、もし正規分布オジサンが現れた場合に、適切に反論出来るように最小二乗法による導出を理解しておく必要がある。


ということです。


次回はこの辺の話をもう少しスポットを狭めて詳しくやっていきます。