相関係数から始める統計学再入門
相関係数とは
こんにちは、DATUM STUDIOの望月です。 相関係数とは 2 変量間の(線形な)関係性を定量的に計った指標です。 2 変量の片方ないしは両方が質的変数であった場合は順位相関係数と呼ばれるものを指すことがありますが、一般に相関係数と言われる時はピアソンの積率相関係数を指し、今回もこのピアソンの積率相関係数について書いています。 この相関係数という指標は -1 から 1 までの値をとり、 1 に近いほど正の相関があり、 -1 に近いほど負の相関がある、 0 付近では無相関と判断されます。 一方の変量が増加したとき、他方の変量も増加する傾向にあるとき、これら 2 変数の間に正の相関があるといいます。一方の変量が増加したとき、他方の変量が減少する傾向にあるとき、これら 2 変数の間に負の相関があるといいます。 2 変数の増減が関係なく起こるときを、無相関と言います。 昨今の統計ブーム?があったので、「こんな当たり前のこと知ってるよ!!」と言われてしまうかもしれませんが、本当にこれらのことは当たり前なのでしょうか? 相関係数とはどういった計算から算出しているのでしょうか? またその計算をすると上述したような関係性がわかる理由は? -1〜1 の間に収まる理由は? 考えてみると色々気になりませんか? この記事では、そういったことを統計学のバックグラウンドにある数式を理解することで、納得のいく理解へと変えていくことを目標に書いていきたいと思います。
定義と準備
何はともあれまずは定義式を確認してみましょう。
[latex] \displaystyle r = \frac{\frac{1}{n}\sum_{i=1}^{n}(x_{i}-\bar{x})(y_{i}-\bar{y})}{\sqrt{\frac{1}{n}\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}}\sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_{i}-\bar{y})^{2}}} = \frac{s_{xy}}{s_{x}s_{y}} [/latex]
なかなか強そうな式ですが、よくみてみると分子が 2 変量の共分散、分母が 2 変量それぞれの標準偏差を掛けたものになっています。 ここで少し復習をしておきましょう。
分散
まず分散からいきましょう。 [latex] \displaystyle \frac{1}{n}\sum_{i=1}^{n}(x_{i}-\bar{x})^{2} [/latex] 各々のデータから平均値を引いて二乗したもの(偏差と言います)の平均を取っています。 これを計算することで [latex]x_{i}[/latex] のブレ具合がわかります。 ちなみになんで 2 乗をしているのでしょうか?平均から どれだけブレたのか単純に計算して足し合わせて平均を取れば良いのでは?? 実際にやってみると、 [latex] \displaystyle \frac{1}{n}\sum_{i=1}^{n}(x_{i}-\bar{x}) = \frac{1}{n}\sum_{i=1}^{n}x_{i} – \frac{1}{n}\sum_{i=1}^{n}\bar{x} = \frac{1}{n}\sum_{i=1}^{n}x_{i} – \bar{x} = 0 [/latex] このように常に 0 になってしまいます。これでは使い物になりませんね。 なお、絶対値の平均をとるという方法もあるのですが、こちらは計算コストが高いのであまり使われません。
標準偏差
標準偏差は [latex] \displaystyle \sqrt{\frac{1}{n}\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} [/latex] で定義されます。 分散を求める時に勝手に 2 乗しちゃったので平方根をとっています。ここは元のデータと単位を揃えるくらいに思っておいてください。
共分散
最後に共分散です。 [latex] \displaystyle \frac{1}{n}\sum_{i=1}^{n}(x_{i}-\bar{x})(y_{i}-\bar{y}) [/latex]
ここで [latex]x_{i}[/latex] を [latex]y_{i}[/latex] に、 [latex]x[/latex] を [latex]y[/latex] に変えてみてください。分散の式になりますよね。共分散の特殊なケースが分散になると覚えても良いかもしれません。 さて、この式の解釈(意味)はどうなるでしょうか。まずは個別に考えてみましょう。 [latex] \displaystyle (x_{m}-\bar{x})(y_{m}-\bar{y}) [/latex] これは Σ 記号の中身から一つ(m 番目のもの)取り出してきたものです。 m 番目の点 [latex](x_{m}, y_{m})[/latex] と全ての点から算出した平均の点 [latex](\bar{x}, \bar{y})[/latex] とを見比べて、 [latex]x[/latex] 方向の差と [latex]y[/latex] 方向の差を掛け算しています。 ここでこの式の符号について考えてみましょう。 ちょっと考えると、[latex]x_{m}[/latex] と [latex]y_{m}[/latex] がどちらも [latex]\bar{x}[/latex] と [latex]\bar{y}[/latex] よりも大きい又は小さい場合は符号が正になることがわかります。そうでないときは当然負になります。これを少し視覚的にみてみましょう。 上の図で言うと、オレンジの部分が符号が正になる部分、ブルーの部分が負になる部分ですね。 真ん中の平均値と全ての点について、この x 方向と y 方向の差の積をとって足し合わせ、平均を取ったものが共分散になります。つまり正の相関がある場合(オレンジの部分に点が集中しているとき)は共分散は正の項が積み重なり、大きな値を取ることになり、負の相関がある場合(ブルーの部分に点が集中しているとき)は 負の項が積み重なり、小さな値(大きなマイナスの値)を取ることになります。無相関の場合(オレンジとブルーの部分に均等に存在する場合)は大雑把にいうと各々の項が正の値だったり負の値だったりするので打ち消しあって 0 に近い値になるということです。 相関係数の定義式を構成する共分散・標準偏差を確認できたので、いよいよ相関係数の定義式の仕組み? を探っていきます。
解釈
上記の共分散の考察と、相関係数の定義式の分子部分が共分散であることから、正の相関が強くあると相関係数の値が大きくなって、逆に負の相関が強くあると相関係数の値が小さくなるだろうということは想像がつくかなと思います。あとは最大値が 1 で最小値が-1 になることが示せれば、概ね前半に挙がった疑問は解決できたことになるのかなと思います。 では、その証明をして今回の記事の締めにしたいと思います。 まず準備として次の補題を示します。 「2 変量 x, y の相関係数を [latex]r_{xy}[/latex]、 x, y を標準化した変量 u, v の相関係数を [latex]r_{uv}[/latex] とすると、 [latex]r_{xy} = r_{uv}[/latex]」 これは次のように示せます。 [latex]u_{i} = \frac{x_{i}−\bar{x}}{\sigma_{x}}, v_{i} = \frac{y_{i}−\bar{y}}{\sigma_{y}}[/latex] とします。[latex]x_{i} = u_{i}\sigma_{x}+\bar{x}, y_{i} = v_{i}\sigma{y}+\bar{y}[/latex] と変形して相関係数の定義式に代入して整理すると、 [latex] \displaystyle r_{xy} = \frac{\frac{1}{n}\sum_{i=1}^{n}(x_{i}-\bar{x})(y_{i}-\bar{y})}{\sqrt{\frac{1}{n}\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}}\sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_{i}-\bar{y})^{2}}} = \frac{\frac{1}{n}\sum_{i=1}^{n}(u_{i}\sigma_{x})(v_{i}\sigma_{y})}{\sqrt{\frac{1}{n}\sum_{i=1}^{n}(u_{i}\sigma_{x})^{2}}\sqrt{\frac{1}{n}\sum_{i=1}^{n}(v_{i}\sigma_{y})^{2}}} = \frac{\frac{1}{n}\sum_{i=1}^{n}u_{i}v_{i}}{\sqrt{\frac{1}{n}\sum_{i=1}^{n}u_{i}^{2}}\sqrt{\frac{1}{n}\sum_{i=1}^{n}v_{i}^{2}}} = \frac{1}{n}\sum_{i}^{n}u_{i}v_{i} = r_{uv} [/latex] 標準化後は平均 0、分散 1 になります。 u, v が x, y を標準化したものなので、最後の変形で分母は 1 になります。 というわけで、標準化後の 2 変量 u, v で考えても一般性を失いません。最後に次のような式変形を考えます。 [latex] \displaystyle \frac{1}{n}\sum_{i}^{n}(u_{i}\pm v_{i})^{2} = \frac{1}{n}\sum_{i}^{n}(u_{i}^{2} \pm 2u_{i}v_{i} + v_{i}^{2}) = \frac{1}{n}\sum_{i}^{n}u_{i}^{2} \pm 2\times\frac{1}{n}\sum_{i}^{n}u_{i}v_{i} + \frac{1}{n}\sum_{i}^{n}v_{i}^{2} = 1 \pm 2r_{xy} + 1 = 2(1 \pm r_{xy}) [/latex] さて、肝心のこれから分かることですが、元の式([latex]\sum_{i=1}^{n}(u_{i} \pm v_{i})^{2}[/latex])に注目すると、 2 乗和なので、これは正の値をとります。ということは、最後の式([latex]2(1 \pm r_{xy})[/latex])も正になるので、 [latex]1 \pm r_{xy} \ge 0[/latex] から [latex]−1 \le r_{xy} \le 1[/latex] を得ます。やったね。
さいごに
今回は相関係数について、一歩踏み込んで仕組みを読み解いてみました。 つらつらと式を追っていきましたが、このように一つずつ考えていくと意外と数式も怖くないのではないでしょうか。どうせやるんなら単なる暗記よりも、仕組みを理解した知識の方がいいですよね。しかも中長期的に考えるとその方が楽だったりしませんか? また、この記事をきっかけに数学にチャレンジしてみようかなと思う人が増えてくれると僕は嬉しいです。 ではでは。
DATUM STUDIOでは様々なAI/機械学習のプロジェクトを行っております。
詳細につきましてはこちら
詳細/サービスについてのお問い合わせはこちら
DATUM STUDIOは、クライアントの事業成長と経営課題解決を最適な形でサポートする、データ・ビジネスパートナーです。
データ分析の分野でお客様に最適なソリューションをご提供します。まずはご相談ください。
Contact
Explore Jobs
関連記事