ゴリラと学ぶ「相関係数」
ゴリたちはよくいろいろな数を測定して、その数ともう一つべつにはかった数がどういうかんけいにあるのかしらべたりするウホ。たとえば、バナナを栽培するときの木の伸びが、気温と関係があるのかしりたいときには、気温と木の伸びをプロットしてその点がつくる形をみてみたりするウホ。
でも、ただ形を見ただけではんだんするんじゃなくて、なにか目安となるような数をきめていきたい場合があるウホ。そんな時にべんりなのが相関係数ウホ。これをつかうと、二つのデータがどういう関係にあるのか、単純な目安として参考にすることが出来るウホ。
というわけで、こんかいは相関係数のけいさんれんしゅうをすることにしたウホ!
もんだい
あるゴリラ🦍たちの、体重とゴリラパワーをかんがえるウホ。体重はkgを単位としているけど、ゴリラパワーはとりあえず無単位としておくから、単位のことは無視しておくウホ。
いま、ゴリラたち(A~Fの6人)の体重とゴリラパワーは、次の表のようになっているウホ。
- | A | B | C | D | E | F |
---|---|---|---|---|---|---|
体重 | 150 | 152 | 140 | 170 | 135 | 155 |
ゴリラパワー | 100 | 140 | 90 | 210 | 100 | 120 |
このとき、体重とゴリラパワーの相関係数を計算してみてほしいウホ。
🦍🦍🦍🦍🦍🦍🦍🦍🦍🦍🦍🦍
こたえ
ニンゲンが高校数学でならう、相関係数のかんがえかたをつかうウホ!
相関係数($r$とするウホ)はつぎの方法で計算することができたウホ。
$r = \frac{\sum_{i=1}^n(x - \overline{x})(y - \overline{y})}{\sqrt{\sum_{i=1}^n(x - \overline{x})^2\sum_{i=1}^n(y - \overline{y})^2}}$
このなかで、$x, y$はそれぞれある二つのデータ(ここでは体重とゴリラパワー)で、$\overline{x}, \overline{y}$はそれぞれの平均ウホ。
げんみつにいえば「標本相関係数」かもしれないけど、とりあえずここでは相関係数というとこれを指すことにするウホ。
この相関係数は、$-1 \leqq r \leqq 1$の値をとりえて、1に近いほど正の、-1に近いほど負の相関がある、みたいにあらわすウホ。
ようは、1に近ければふたつの数がおなじように大きくなっていって、-1にちかければ一つの数が大きくなるともう一つの数は小さくなる、みたいな関係があることになるウホ。
で、計算するんだけど、ゴリにはめんどくさいウホ!というわけで、Pythonで計算させることにするウホ。
import pandas as pd
体重のリスト = [150, 152, 140, 170, 135, 155]
ゴリラパワーのリスト = [100, 140, 90, 210, 100, 120]
体重シリーズ = pd.Series(体重のリスト)
ゴリラパワーシリーズ = pd.Series(ゴリラパワーのリスト)
相関係数 = 体重シリーズ.corr(ゴリラパワーシリーズ)
print(相関係数)
体重のリストとゴリラパワーのリストに上の表の数値をぶちこむウホ。
で、出てきた出力はつぎのとおりだったウホ。
0.8870927455621983
相関係数はだいたい0.89になったウホ。いいかんじの正の相関ウホ!
こたえ: 約0.89
ゴリラの体重とゴリラパワーの相関がなんとなくわかったウホ。こんかいはゴリラパワーをあいまいなものとしてあつかったけど、これがニュートン(N)であらわす力だとしたら、運動方程式にしたがうとして強く相関(というか比例)することが考えられるうほ。まったくちがう定義をしてくると、相関係数の考え方がそのゴリラパワーが何者なのかしらべるときに便利そうウホ!
いろいろなゴリラパワーを想定して、ゴリなりにゴリラパワーとは何なのか考えていけたらうれしいウホ。