相関係数を共分散と標準偏差から計算する式をわかりやすく解説|回帰との関係も

2024年3月7日

相関係数共分散標準偏差から計算することができます。

また回帰とも関係があります。

回帰分析の結果をベイズ的に確率分布として理解するためも、分散と共分散の理解は避けて通れません。

そこで、式の導出など数学的に難しいことは極力避けて、相関/回帰/分散/共分散/標準偏差の関係を直観的に理解できるようにまとめてみました。

 

当ページのリンクには広告やプロモーションが含まれています。

分散を理解する

今4つのデータx=1、2、3、4があるとします。

このばらつきを定量化することを考えます。

ばらつきを表すには基準が必要ですね。

平均を基準とするのが良いでしょう。

平均は2.5ですので、4つのデータの平均からの差を計算してみます。

1-2.5=-1.5

2-2.5=-0.5

3-2.5=0.5

4-2.5=1.5

ですね。

 

ばらつきは一つの数字で表したいので、全部足してみます。

するとゼロになってしまいます。

プラスマイナスで打ち消し合うためです。

従って、これではばらつきを表せません。

もう一工夫が必要です。

 

そこで、平均との差をすべてプラスにするために二乗した値を足してみます。

すると、

(1-2.5)2+(2-2.5)2+(3-2.5)2+(4-2.5)2=5

これでばらつきの大きさを表せそうです。

この値を偏差平方和と言います。

 

しかし、この値はデータ数が多くなるだけで大きくなります。

今回の場合はデータ数は4個ですが、データ数が40個あるとばらつきが小さくても偏差平方和が大きくなってしまうことは明らかです。

従って、偏差平方和の平均を取ってあげます。

今回の場合はデータ数が4ですので、5÷4=1.25です。

これを分散と言います。

 

標準偏差を理解する

ところが、この分散は平均との差の二乗を足し合わせていますので、直観的に理解しにくい値です。

10円と100円を比べるのに、それぞれ二乗した100と10,000で比べると、差が拡大されてしまって比較にならないのと同じことです。

従って、二乗したものは平方根を取って元に戻してあげます。

分散の平方根を標準偏差と言います。

通常、データのばらつきは、この標準偏差で表しますが、数学的な計算をする時には平方根がない方が楽なので、分散もよく使われます。

 

以上をまとめると、次のようになります。

クリックすると拡大します

 

共分散を理解する

先の例では変数がxの1つだけでしたが、xとyの2変数ある場合を考えます。

例えば、xをピッキング工程への投入人数、yを単位時間当たりの処理数としましょう。

人数が多ければ単位時間当たりの処理数も多くなりそうですね。

1人・・・2個

2人・・・4個

3人・・・6個

4人・・・8個

になったとします。

 

この場合、xつまり人数の偏差平方和分散標準偏差は先ほどと同じです。

yつまり処理数の偏差平方和、分散、標準偏差は、同様に計算すると次のようになります。

クリックすると拡大します

 

さて、ここまででxとyそれぞれのばらつきを求めましたが、これでデータの特性を表しているかというと、まだ片手落ちです。

xとyの関係性を考慮していないからです。

データを見ると、xとyが比例関係にあることは明らかですが、この関係が考慮されていないのです。

 

xとyの単独のばらつきは偏差平方和、つまりΣ(x-x̄)2Σ(y-ȳ)2で定量化しましたので、xとyを併せたばらつきはΣ(x-x̄)(y-ȳ) で表してみましょう。

これを積和と呼びます。

また積和をデータ数で割った値を共分散といいます。

具体的には次のようになります。

クリックすると拡大します

 

つまり、1つの変数についてのばらつきを計算する時は偏差を二乗して足し合わせましたが、2つの変数のばらつきを併せて計算する時は、2つの偏差を掛けるという違いだけです。

またこの時、xの分散の平方根yの分散の平方根を掛けたものが共分散になっていることに留意です。

xとyがぴったり比例関係にある時には、この式が常に成り立ちます。

 

相関係数は標準偏差と共分散で計算できる

次に、xとyがぴったり比例関係にない場合を考えます。

現実には人数を2倍に増やしても処理数もぴったり2倍になることは稀ですので、こちらが現実に近いでしょう。

次のようになります。

クリックすると拡大します

 

グラフを見ると、データは直線上にはぴったり乗っていません。

このような場合には、xの分散の平方根とyの分散の平方根を掛けたものが共分散になりません。

このデータでは、右辺に0.95を掛けると等式が成り立ちます。

この0.95がよく耳にする相関係数です。

ちなみに分散の平方根は標準偏差なので、

共分散=xの標準偏差×yの標準偏差×相関係数

と書けます。

この式は大変重要で、回帰直線の説明でも出てきます。

 

前の例のようにxとyが完全な比例関係にある時は、xが動くとyも同じ方向に同じ割合だけ動きますので、2つの変数を併せた動きは一番大きくなります。

なぜなら、もし比例関係ではなくxが動くとyが逆の方向に動くとすると、(x-x̄)(y-ȳ)がマイナスの項ができてしまって積和が小さくなってしまうからです。

xとyが同じ方向に動くとしても、比例関係にないということはyが小さく動いたり大きく動いたりバラバラということになり、yがいつも一定の割合で動く場合と比べると積和、つまり共分散は小さくなってしまうのです。

相関係数は、xの標準偏差×yの標準偏差に比べて共分散がどれだけ小さくなるかで、比例関係からのズレ具合を表していることになります。

1から小さくなるほど、比例関係から離れていることになります。

 

以上から、相関係数は次の式で計算できます。

相関係数=共分散/(xの標準偏差×yの標準偏差)

 

回帰との関係は?

2つの変数が完全に比例関係にある時は、中学校で習った一次関数になります。

一次関数は次のように書けました。

y=ax+b

aは傾き、bはy切片と呼びましたね。

 

しかし、現実の世界ではこうなることは稀で、ほとんどの場合は誤差が出ます。

そこで、この誤差をeとすると、

y=ax+b+e

と書けます。

 

eはプラスになったりマイナスになったりしますが、すべてのデータを式にあてはめて計算した時に、このeの合計が一番小さくなるような式が回帰直線です。

eの合計は、例によって平方和を使います。

プラスマイナスで打ち消し合わないようにするためです。

 

この回帰直線の傾き切片を求める公式は、次のようになります。

傾き=積和/xの偏差平方和=Σ(x-x̄)(y-ȳ)/Σ(x-x̄)2

切片=ȳ-傾き×x̄

 

切片は簡単ですね。

傾きを求める式がどうしてこうなるのかは、微分方程式を解く必要があるためここでは触れませんが、直観的には以下の通りです。

 

ここに(2,2)、(3,3)、(4,4)、(5,5)の4つのデータがあるとします。

xとyの平均はどちらとも3.5なので、その線を赤で引きます。

 

すると、それぞれのデータについてのx偏差とy偏差の積は緑の点線で囲った部分の面積になります。

従って積和Σ (x-x̄)(y-ȳ)は4つの緑の長方形の面積の和になります。

これをデータ数Nで割った値が共分散ですので、共分散は4つの長方形の面積の平均になります

 

それ、つまり共分散を描くと、下図のように1×1の黒の正方形になります。

 

xの偏差の平均、yの偏差の平均、共に1なので、(x-x̄)の平均×(y-ȳ)の平均は共分散に等しくなります。

これは相関係数が1であることを意味します

 

また、共分散を(x-x̄)の平均で割ると、(y-ȳ)の平均になります。

(y-ȳ)の平均は1ですので、回帰直線の傾きは1ということです。

 

以上は特別な場合ですので、別のケースを見てみましょう。

4つのデータが(2,2)、(3,2)、(4,5)、(5,5)であるとします。

xとyの平均はどちらとも3.5なので、その線を赤で引きます。

クリックすると拡大します

 

すると今度は高さの違う3つの長方形が現れます。

長方形の幅はすべて(x-x̄)の平均ですが、高さが3種類になります。

一番高いのは(y-ȳ)の平均です。

4つのデータの(y-ȳ)は、-1.5、-1.5、+1.5、+1.5ですので、絶対値の平均は1.5になります。

これが①の高さになります。

 

二番目に高いのはそれに相関係数(このケースでは0.8)を掛けたものです。

この高さの長方形の面積が共分散になります。

 

一番低いのは(x-x̄)の平均です。

そして②÷③が回帰直線の傾きになります。

このケースでいうと1.2です。

これがΣ(x-x̄)(y-ȳ)/Σ(x-x̄)2の意味です。

 

このようにxとyの偏差の長方形で捉えると、相関係数回帰直線は長方形の高さで表されます。

以上、相関係数、回帰直線、共分散の関係の直観的な解説でした。

回帰分析についてもっと知りたい方は、こちらもどうそ。

【エクセル回帰分析結果の見方】出力される4つの表をすべて検証してみた。

 

Udemyの関連講座

いちばん理解できる統計学ベーシック講座その2【相関分析・回帰分析】

統計学の基礎を学べるベーシック講座「その2」です。統計学を用いたデータ分析の基礎となる「相関分析・回帰分析」について豊富な図を用いて説明していきます。相関分析や回帰分析という一生モノのスキルをぜひこの機会に一緒に身につけましょう!

 

【データ分析入門(最初の3日)】文系の方や統計・データサイエンスにつまずいた方も実務で使える(考え方とExcel活用)

データ分析の流れ(課題を捉え、分析し、結果を伝える)を通して理解します。演習では架空の会社を想定したデータで、エクセルを利用してグラフ作成・記述統計・回帰分析を行い最終報告までのスキルを身につけます。社内データ分析者向けの入門講座です。

 

【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門

分析コンペティションに参加しながら回帰分析による売上予測、機械学習での顧客ターゲティングなど実践的なビジネス課題でデータ分析の一連の流れを身に着けよう。 プログラミング初心者にもおすすめ。