MLBとコンカフェに通うヲタクで理解する相関係数

 相関係数とは2つの値の関連の大きさを測る尺度です。一般的には大きい正の値になるほど正の相関を持ち、大きい負の値に成る程負の相関を持ちます。比例と反比例みたいな感じ。実は何種類かあるんです。

 Pearsonの相関係数

 なんといってもこいつです。誰もが幼い頃に習ったこいつは鉄板の相関係数でしょう。

       f:id:nashuto:20190322163109p:plain

f:id:nashuto:20190322164345p:plain

 rが0に近いと相関関係は無い

 rが+1に近い程正の相関があり

 rが⁻1に近い程負の相関が有る

 正の相関~解釈添え~

f:id:nashuto:20190327171209j:plain

 2018年のMLBにおいて20本以上のヒットを打った打者のうちx軸にヒット数、y軸に打数をplotしました。当然ヒットを打つには多くの打数が必要なので正比例します。これを正の相関と言います。Pearsonの相関係数を計算すると 0.9730145を示します。

 

 計算する式の分母は2乗の値であるので必ず正であり尺度の大きさを調整するものです。分子に注目すると(xi-x)(yi-y)となっています。つまり、平均からの差の大きさと符号が考慮されています。

 上の例の図からわかるように正の相関を示すという事はplot点が第1象限と第3象限に集積している事を裏返しで意味しています。この象限にいる点は分子の値が正となるので相関係数rも正を示します。

 負の相関

 負の相関とは第2象限と第4象限に点が集積している状態で、この場合各点で与えられる分子は負を示すので相関係数はrを示します。

 

f:id:nashuto:20190328145637p:plain

 本当はMLBデータでやりたかったのですがいい負の相関が得られそうになかったので適当にpythonで作りました。

 相関無し

f:id:nashuto:20190327181035j:plain

 2018年に規定打席に到達したMLBの選手の年齢と安打数のplotをするとこんな感じ。

異論はあるかもしれませんが年齢と安打数はあまり関係がなさそうです。打つ奴は何歳でも打つし打たない奴は何歳でも打たない。この相関係数は-0.1478702でした。

 

MLB correlation coefficient ~positive for H and AB ...

Spearmanの順位相関係数

 ノンパラメトリックです。n個のベクトル値(x,y)があるとします。i個目のベクトル

(xi,yi)のx,yの順位をそれぞれsi,tiとします。

f:id:nashuto:20190326211024p:plain

  分母は定数ですよね。分子は各点の平均とのズレを表しています。考え方はPearsonの相関係数と同じで、平均からの差の正負と値の大きさを包含しています。2変数が共に平均より大きいor小さいなら順位に正の相関が有りρは1に近づきそうです。逆に2変数の平均からのずれが各々正と負である点が多い場合(順位に負の相関)はρは-1に近づきそうです。無関係ならρは0になりそう。

 

 これを式変形すると(これを章末問題としよう)(章末問題にはページ数のみ)(解答は省略)

f:id:nashuto:20190326214543p:plain

 となります。実際はプログラミングで計算してもらうと思うのでこの値の意味が分かる変形前の方が僕は好きなんですけれども、変形後の方がよく見かけます。 

 

 ぴんと来てないと思うので実際のデータで考えましょう。ヲタクがコンカフェの店舗に行って使ったコンカフェ代とチェキ代で考えます(コンカフェ代とは全額からチェキ代を引いた額とします)。

ヲタク コンカフェ代 チェキ代
1 1800 2000
2 2600 3000
3 1000 8000
4 11800 1000
 

 ヲタク1は学生でしょうか。推しに使えるお金は少なくて他の強ヲタに引け目を感じている、といったところでしょうか。僕はこの類です。ヲタク2はちゃんとバイトして推し事をする学生か普通の社会人の方でしょう。偉い。ヲタク3はチェキが大好きなヲタクです。コンカフェの食事には目もくれず推しとのチェキを撮りまくるタイプ。帰りに仲間と鳥貴族でビールにチェキを浸しがち。4はコンカフェの特別メニューをめっちゃ頼むヲタクです。

 これを順位にすると

ヲタク コンカフェ代 チェキ代
1 3 3
2 2 2
3 4 1
4 1 4

  となります。n=4なのでn^3-nは60. Σ(si-ti)^2は18. よってρ=1-108/60=-0.8.よって負の順位の相関があると考えられます。つまり、コンカフェ代を払う人ほどチェキ代は払わない傾向にあるという事です。

 

Kendallの順位相関係数

  n個のベクトル(x,y)が与えられた時、取り出した2つの(x,y)のベクトル値の大小関係が一致している個数をK,不一致の個数をLとした時の相関係数は以下のように与えられます。よって正の相関を示すほどτは1に近づき、負の相関を示すほど-1に近づきます。

f:id:nashuto:20190326214925p:plain

 これもヲタクのコンカフェ代とチェキ代で考えます。

 n=4のベクトル値があるので取り出す選び方は4C2で6通り。それぞれヲタクの番号で考えると

 (1,2),(1,3),(1,4),(2,3),(2,4),(3,4)です。

 例えば(1,2)のヲタクの各値は

(コンカフェ代,チェキ代)=(1800,2000),(2600,3000)で、コンカフェ代とチェキ代の大小関係は一致しています。従ってKに+1をします。

(1,3)ではどうでしょう。(1800,2000),(1000,8000)でコンカフェ代とチェキ代の大小関係は一致していません。従ってLに+1を加えます。この操作を6回分行うと

 K=1,L=5となります。代入すると

τ=-4/6=-0.66666 となります。よって負の順位の相関関係があることが読み取れます。