PR

相関係数とデータの相関を詳しく

統計学
記事内に広告が含まれています。

相関係数の定義とデータの相関について,その定義からイメージ,よくある誤りや実際の求め方の例までを順番に詳しく解説しましょう。

相関係数とは

負の相関・無相関・正の相関の定義

定義(相関係数)

データ (x1,y1),(x2,y2),,(xn,yn) (x_1,y_1),(x_2,y_2),\dots, (x_n,y_n) に対して,x,y \overline{x},\overline{y} をそれぞれの平均

σx=1nk=1n(xkx)2,σy=1nk=1n(yky)2,σxy=1nk=1n(xkx)(yky)\begin{aligned} \sigma_x &= \sqrt{\frac{1}{n} \sum_{k=1}^n (x_k-\overline{x})^2}, \\ \sigma_y &= \sqrt{\frac{1}{n} \sum_{k=1}^n (y_k-\overline{y})^2}, \\ \sigma_{xy} &= \frac{1}{n} \sum_{k=1}^n (x_k-\overline{x}) (y_k-\overline{y}) \end{aligned}


をそれぞれ x,y x,y標準偏差(x,y)(x,y)共分散とする。このとき,

r=σxyσxσy \color{red}\large r = \frac{\sigma_{xy}}{\sigma_x\sigma_y}


(x,y) (x,y)相関係数 (correlation coefficient) またはピアソンの積率相関係数 (Pearson’s product-moment correlation coefficient) という。

定義を書き下すと

r=σxyσxσy=1nk=1n(xkx)(yky)1nk=1n(xkx)21nk=1n(yky)2=k=1n(xkx)(yky)k=1n(xkx)2k=1n(yky)2 \begin{aligned}r &=\frac{\sigma_{xy}}{\sigma_x\sigma_y}\\ &= \frac{\frac{1}{n}\sum_{k=1}^n (x_k-\overline{x}) (y_k-\overline{y}) }{\sqrt{ \frac{1}{n} \sum_{k=1}^n (x_k-\overline{x})^2 }\sqrt{ \frac{1}{n} \sum_{k=1}^n (y_k-\overline{y})^2 }}\\ &= \frac{\sum_{k=1}^n (x_k-\overline{x}) (y_k-\overline{y}) }{\sqrt{ \sum_{k=1}^n (x_k-\overline{x})^2 }\sqrt{ \sum_{k=1}^n (y_k-\overline{y})^2 }} \end{aligned}


ですね。最後のイコールは分母分子から 1/n 1/n を取りました。

相関係数は常に 1r1 \color{red} -1\le r\le 1 をみたします。これは,

x=(x1x,,xnx),y=(y1y,,yny) \begin{aligned}\boldsymbol{x}&=(x_1-\overline{x}, \dots, x_n-\overline{x}), \\ \boldsymbol{y} &=(y_1-\overline{y}, \dots, y_n-\overline{y} )\end{aligned}


と,数ベクトルを用いて表記したときに,r=x,yxx r = \dfrac{\langle \boldsymbol{x},\boldsymbol{y}\rangle}{\lVert \boldsymbol{x} \rVert \lVert \boldsymbol{x} \rVert } (分母はノルム,分子は内積) とかけるため,コーシーシュワルツの不等式から従います。

なお,相関係数は σx=0 \sigma_x = 0 または σy=0 \sigma_y=0 のときは定義できません。σx=0    x1=x2==xn\sigma_x =0\iff x_1=x_2=\dots =x_n ですから,あまり気にする必要はないでしょう。

相関係数とデータの相関

相関係数を用いることで,データが右上がりに分布しているか,右下がりに分布しているが大まかにわかります。このように,x x が変化すれば y y も変化する,yy が変化すれば x x も変化する関係を相関関係といいます。

r>0 r>0 のとき正の相関r<0 r<0 のときは負の相関があるといい,r=0 r=0 のときは無相関と呼ばれます。

散布図と相関係数の大まかな対応と目安

散布図と相関係数 r r の大まかな対応を確認しておきましょう。

散布図と相関係数の大まかな対応

Wikipediaにある図も記しておきましょう。

相関係数とデータの相関の対応(Wikipediaより)
Wikipediaより

このように,相関係数は散布図における直線的な関係性を表現可能です。

相関係数と概ねの相関の解釈は以下の通りです。

相関係数データの相関
1r0.7 -1\le r\le -0.7強い負の相関がある
0.7r0.4 -0.7\le r\le -0.4負の相関がある
0.4r0.2 -0.4\le r\le -0.2弱い負の相関がある
0.2r0.2 -0.2\le r\le 0.2ほとんど相関がない
0.2r0.4 0.2\le r\le 0.4弱い正の相関がある
0.4r0.7 0.4\le r\le 0.7正の相関がある
0.7r1 0.7\le r\le 1強い正の相関がある

実際はデータ数によって相関があるといえるかどうかが変わってきます(無相関検定)。

なお,r=1     |r|=1 \iff データがちょうど一直線上です。このとき,直線の傾きの強さや,切片の値は関係ありません。相関係数は直線の傾き具合を表すわけではないことに注意しましょう。

r=1,-1になるのは傾きや切片の値は関係ない

相関係数は外れ値に大きく影響されることがある

相関係数は一つの外れ値に大きく影響されてしまうことがあります。以下の2つの図を見てください。

相関係数の対応

右の図は右上に赤の点があることが分かると思います。この点をデータに含めるかどうかで,相関係数は 0.3 0.3 から 0.6 0.6 に増えることが分かりますね。

このように,外れ値が一つあると相関係数が大きく変わってしまうことがあるため,実データを扱うときには注意が必要です。

相関関係があるからといって因果関係があるとは言えない

相関関係とは,あくまで「片方の値が変化すればもう片方の値も変化する」という関係であり,「原因と結果が明確」な因果関係ではありません。要するに,たとえば x x の値が増えることが「原因」で y y の値が増えるといった解釈はできません。

たとえば,一般にアイスの売り上げと日傘の売り上げは正の相関がありますが,アイスの売り上げが多いことが「原因」で日傘の売り上げが多くなるわけではありません。この場合,本当の原因は気温ですね。

このように,相関関係はあるが,直接的な因果関係がないと思えるものを擬似相関 (spurious relationship) といいます(相関関係はあることに注意)。

相関関係などから因果関係を探る理論は因果推論 (causal inference) とよばれます。

無相関だからといって独立とは言えない

先ほど,相関関係があるが因果関係があるとは言えないと述べました。では逆に無相関,すなわち r=0 r=0 であれば x,y x,y は全く関係がないと言い切れるのでしょうか。

答えはNoです。以下の図を見てください。

無相関だが独立でないものの例(Wikipediaより)
Wikipediaより

無相関(r=0 r=0)とは,あくまでデータに直線的な関係がないことを意味します。一方で,上の図は x x が決まれば y y の値が制限されていますから,x,y x,y が「全くの無関係」とは言えません。全くの無関係とは,確率の言葉でいうと「独立」ということです。

別の例も見てみましょう。The Datasaurus Dozen と呼ばれる有名な図です。

The Datasaurus Dozen (autodesk.comより)
autodesk.comより

上図は,x,y x,y の平均 (mean),標準偏差 (SD),相関係数 (Corr) が小数第二位まで一致しているにもかかわらず,全然違う散布図になっています。このようなことが可能とは驚きですね。

教訓としては,各平均や分散・相関係数が一致していたとしても,一度はきちんと散布図で可視化すべしということですね。

相関係数の求め方の具体例

最後に,相関係数の求め方を例題を通して紹介しておきましょう。

例題.

5人の数学・国語の点数は以下のとおりである。2つの点数の相関係数を求めよ。

12345
数学2040708090
国語1050406090
例題の散布図

相関係数の定義から,

r=σxyσxσy=k=1n(xkx)(yky)k=1n(xkx)2k=1n(yky)2 r =\frac{\sigma_{xy}}{\sigma_x\sigma_y}=\frac{\sum_{k=1}^n (x_k-\overline{x}) (y_k-\overline{y}) }{\sqrt{ \sum_{k=1}^n (x_k-\overline{x})^2 }\sqrt{ \sum_{k=1}^n (y_k-\overline{y})^2 }}


でしたから,右辺を計算しましょう。そのためには,順番に求めていくしかありません。表にするとわかりやすいでしょう。

k k12345平均または和
xk x_k2040708090x= \overline{x}= 60
yk y_k1050406090 y= \overline{y}= 50
xkx x_k-\overline{x}-40-20102030
yky y_k-\overline{y}-400-101040
(xkx)2 (x_k-\overline{x})^21600400100400900k=15= \sum_{k=1}^5= 3400
(yky)2 (y_k-\overline{y})^2160001001001600 k=15= \sum_{k=1}^5 = 3400
(xkx)(yky) (x_k-\overline{x})(y_k-\overline{y})16000-1002001200k=15= \sum_{k=1}^5= 2900

よって,求める値は

r=290034003400=2934=0.8529 r =\frac{2900}{\sqrt{3400}\sqrt{3400}} = \frac{29}{34} = 0.8529\cdots


となります。なお,今回は定義を用いて計算しましたが,σx=(x2)(x)2 \sigma_x = \overline{(x^2)}-(\overline{x})^2σxy=xyxy \sigma_{xy} = \overline{xy} - \overline{x}\,\overline{y} を用いても構いません。

関連する記事

画像の利用

  1. Same Stats, Different Graphs: Generating Datasets with Varied Appearance and Identical Statistics through Simulated Annealing
  2. 相関係数 - Wikipedia