共分散

2つの変数の関係の「向き」を数値にする

難易度 Lv 3 / 10想定時間:約15

できるようになること


「関係がありそう」を数値にしたい

散布図を見れば、2つの変数に「関係がありそうだ」とは分かります。

しかし、何かを判断しないといけない場面では「関係がありそうに見えます」では不十分です。「どれくらい関係があるの?」「AとBの関係と、CとDの関係と、どちらが強いの?」という問いに、散布図だけでは答えられません。

関係の向き(正・負)を数値で確認する方法が必要です。


分散のアイデアを2変数に拡張する

分散は「平均からのずれの二乗の平均」で、1つの変数のばらつきを測りました。

sx2=1ni=1n(xixˉ)2s_x^2 = \frac{1}{n}\sum_{i=1}^{n} (x_i - \bar{x})^2

(xixˉ)(x_i - \bar{x}) は各データの平均からのずれ、つまり偏差です。偏差を二乗して平均をとると、ばらつきの大きさが1つの数値になりました。

では、2つの変数 xxyy が「一緒にずれる度合い」はどう測れるでしょうか。

分散では xx の偏差を2回掛けていました((xixˉ)2=(xixˉ)(xixˉ)(x_i - \bar{x})^2 = (x_i - \bar{x})(x_i - \bar{x}))。ここで、片方を yy の偏差に置き換えたものを考えます。

sxy=1ni=1n(xixˉ)(yiyˉ)s_{xy} = \frac{1}{n}\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})

これが共分散(covariance)です。分散は共分散において2つの変数が同一である場合の特殊ケースであり、分散と共分散は共通の数理的構造を持つ指標です。

ポイント

ここでは手元のデータの特徴を記述するため、データ数 nn で割る定義を使用しています。実務では、標本から母集団を推定する目的で n1n-1 で割ることがあります(推測統計の単元で扱います)。


偏差の積はなぜ関係を測れるのか

共分散の中身は、xx の偏差と yy の偏差の積を平均したものです。なぜ偏差の積が「関係」を測れるのでしょうか。

各データ点について、xx が平均より大きいか小さいか、yy が平均より大きいか小さいかで、偏差の積の符号が決まります。

xxyy同じ方向にずれるデータが多ければ、正の積が多くなり、共分散はになります。逆の方向にずれるデータが多ければ、負の積が多くなり、共分散はになります。

共分散の符号意味
sxy>0s_{xy} > 0xx が大きいとき yy も大きい傾向(正の関係)
sxy<0s_{xy} < 0xx が大きいとき yy は小さい傾向(負の関係)
sxy0s_{xy} \approx 0xxyy に直線的な関係が見えない
ヒント

sxy0s_{xy} \approx 0 でも、曲線的な関係(例:U字型)が存在する場合があります。共分散が測るのはあくまで「直線的な関係」です。


計算例

5人の身長と体重のデータで共分散を計算してみましょう。

身長(cm)体重(kg)
A16055
B16558
C17064
D17568
E18072

平均:xˉ=160+165+170+175+1805=170\bar{x} = \frac{160+165+170+175+180}{5} = 170(cm)、yˉ=55+58+64+68+725=63.4\bar{y} = \frac{55+58+64+68+72}{5} = 63.4(kg)

各偏差の積を求めます:

xixˉx_i - \bar{x}yiyˉy_i - \bar{y}(xixˉ)(yiyˉ)(x_i-\bar{x})(y_i-\bar{y})
A10-108.4-8.484.084.0
B5-55.4-5.427.027.0
C000.60.60×0.6=00 \times 0.6 = 0
D554.64.623.023.0
E10108.68.686.086.0

すべての偏差の積が正(または0)です。身長が平均より高い人は体重も平均より重く、身長が平均より低い人は体重も平均より軽い。xxyy が同じ方向にずれています。

sxy=84.0+27.0+0+23.0+86.05=220.05=44.0s_{xy} = \frac{84.0 + 27.0 + 0 + 23.0 + 86.0}{5} = \frac{220.0}{5} = 44.0

共分散が正なので、身長と体重には正の関係があることが数値で確認できます。

ヒント

このデータは計算の仕組みを理解するために簡略化した数値です。実際の人間集団ではもっとばらつきが大きく、偏差の積が負になるデータ(身長は高いが体重は軽いなど)も混じります。


確率変数の共分散

ここまではデータ(観測値)の共分散を扱いました。確率変数にも共分散が定義されます。

確率変数(理論)データ(観測)
共分散Cov(X,Y)=E[(XμX)(YμY)]\text{Cov}(X,Y) = E[(X-\mu_X)(Y-\mu_Y)]sxy=1n(xixˉ)(yiyˉ)s_{xy} = \frac{1}{n}\sum(x_i - \bar{x})(y_i - \bar{y})

データの場合は「偏差の積の平均」、確率変数の場合は「偏差の積の期待値」で、アイデアは同じです。

確率変数の分散と標準偏差の単元で、「XXYY が独立なら V[X+Y]=V[X]+V[Y]V[X+Y] = V[X] + V[Y]」という性質がありました。XXYY が独立でない場合、和の分散には共分散が関わります:

V[X+Y]=V[X]+V[Y]+2Cov(X,Y)V[X+Y] = V[X] + V[Y] + 2\text{Cov}(X,Y)

XXYY が独立なら Cov(X,Y)=0\text{Cov}(X,Y) = 0 になるため、V[X+Y]=V[X]+V[Y]V[X+Y] = V[X] + V[Y] に戻ります。つまり、「独立なら和の分散はそれぞれの分散の和」という性質は、共分散がゼロの特殊ケースだったのです。

注意

XXYY が独立であれば共分散は必ず0になりますが、逆は成り立ちません。共分散が0であっても独立であるとは限らないのです。共分散はあくまで「直線的な関係」を測る指標であるため、非線形な依存関係があっても共分散はゼロになりえます。


共分散の限界

共分散の符号は関係の「向き」を教えてくれますが、関係の「強さ」は比較できません

なぜなら、共分散は変数のスケール(単位)に依存するからです。

例えば、身長の単位を cm から m に変えるだけで共分散の値は変わります。170170 cm → 1.701.70 m に変換すると、偏差も100分の1になるため、共分散も100分の1になります。

sxy=44.0(cm・kg)sxy=0.44(m・kg)s_{xy} = 44.0 \quad \text{(cm・kg)} \quad \rightarrow \quad s_{xy} = 0.44 \quad \text{(m・kg)}

同じデータ、同じ関係なのに、値が44.0と0.44では強さを比較できません。

また、異なる変数の組み合わせ同士の比較もできません。「身長と体重の共分散は44.0」「広告費と売上の共分散は500万」と言われても、どちらの関係が強いかは分かりません。単位も桁も全く異なるためです。

単位に依存しない指標が必要です。この問題を解決するのが、別の単元で学ぶ相関係数です。


まとめ

共分散は、2つの変数の偏差の積を平均したもので、関係の「向き」を数値で表します。

sxy=1ni=1n(xixˉ)(yiyˉ)s_{xy} = \frac{1}{n}\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})

分散は共分散において2つの変数が同一である場合の特殊ケースであり、分散の自然な拡張として理解できます。

共分散が正なら xxyy は同じ方向に動く傾向があり、負なら逆方向に動く傾向があります。ただし、スケール(単位)に依存するため、関係の「強さ」を比較するには使えません。この限界を克服する方法については、相関係数の単元で詳しく学びます。