共分散(covariance)は、2つの物事が一緒に変化するかどうかを測る統計の道具です。
例えば、こんなことが分かります:
- 勉強時間が増えるとテストの点数も上がるか
- 気温が上がるとアイスクリームの売上も増えるか
この概念は投資、ビジネス、科学研究など幅広い分野で活用されています。 データから意味のある関係性を見つけ出すために不可欠なツールなのです。
共分散の基本的な定義:「一緒に変化する」を測る

共分散を理解する最も簡単な方法は、「2つのものが一緒に動くかどうか」を調べる道具として考えることです。
友達2人が似たような行動をとるかどうかを観察するようなものです。 一人が勉強時間を増やすとき、もう一人も増やす傾向があれば、これは正の共分散の関係といえます。
共分散の計算の仕組み
共分散は次のように計算されます:
- 2つの変数(測定する項目)がそれぞれの平均値からどれだけ離れているかを調べる
- それらを掛け合わせる
- その平均を取る
結果の意味:
- 両方が平均より高い、または両方が平均より低い → 正の値
- 片方が高くて片方が低い → 負の値
身近な例で理解する
クラスの生徒の身長と体重の関係を考えてみましょう。
背の高い生徒は体重も重い傾向があります。 これは身長が平均より高い生徒は、体重も平均より重いことが多いという意味です。 つまり、正の共分散を示すのです。
正・負・ゼロの共分散が意味すること
正の共分散:一緒に増減する関係
正の共分散は、2つの変数が同じ方向に動く傾向があることを示します。
勉強時間とテストの点数
勉強時間が増えるほどテストの点数も上がる傾向があります:
- 1日1時間勉強 → 平均70点
- 1日2時間勉強 → 平均80点
- 1日3時間勉強 → 平均85点
気温とアイスクリーム売上
夏の暑い日と涼しい日の違い:
- 30℃以上の日 → 1日1000個売れる
- 20℃の日 → 300個しか売れない
ゲームでの例
League of Legendsのデータでは、1日の練習時間とランク上昇に+0.79という強い正の共分散があります。
つまり、練習すればするほど、ランクも上がりやすいということです。
負の共分散:反対に動く関係
負の共分散は、一方が増えると他方が減る関係を表します。
睡眠時間と昼間の疲労感
典型的な負の共分散の例です:
- 8時間睡眠 → 疲労度2(10段階)
- 4時間睡眠 → 疲労度8
車の速度と移動時間
速度を上げると時間が短くなります:
- 時速40km → 30分かかる
- 時速80km → 15分で着く
投資での例
石油会社の株価と航空会社の株価は負の共分散(-0.00066)を示すことがあります。
理由:
- 石油価格が上がる → 石油会社は儲かる
- 同時に → 航空会社は燃料費が増えて利益が減る
ゼロの共分散:関係がない
共分散がゼロということは、2つの変数の間に直線的な関係がないことを意味します。
関係がない例
コーヒーの消費量と知能指数(IQ)
- コーヒーを1日5杯飲む人も、全く飲まない人も、IQは様々
靴のサイズと睡眠時間
- 足が大きい人が特別よく眠るわけではない
注意点
ゼロの共分散は「全く関係がない」という意味ではありません。
曲線的な関係や複雑な関係は存在するかもしれません。 共分散では検出できないだけなのです。
分散との違い:1つの変数 vs 2つの変数
分散と共分散の違いを理解することは重要です。
分散:1つの変数のばらつき
分散は「1つの変数のばらつき」を測ります。
例:クラスの数学のテスト
- 平均70点
- ある生徒は90点、別の生徒は50点
- どれくらい点数がばらついているかを表す
分散の大きさ:
- 小さい:全員が68点から72点の間
- 大きい:30点から100点までばらついている
共分散:2つの変数の関係
共分散は「2つの変数が一緒に変化するか」を測ります。
例:数学と理科の点数
- 数学が得意な生徒は理科も得意か?
- この関係を数値で表す
簡単な例え
- 分散:クラスの生徒の家から学校までの距離のばらつき
- 共分散:家が遠い生徒ほど遅刻しやすいかという関係
相関係数との関係:共分散を使いやすくしたもの
相関係数は共分散を標準化したもので、より解釈しやすい指標です。
共分散の問題点
測定単位によって値が変わってしまいます。
身長をセンチメートルで測るかインチで測るかで、体重との共分散の値が全く変わります。
相関係数の利点
共分散を両方の変数の標準偏差で割ることで計算されます。
特徴:
- 必ず**-1から+1の間の値**になる
- 異なるデータセット間での比較が可能
値の解釈
身長と体重の共分散が120という値だけでは、関係が強いのか弱いのか判断できません。
しかし、相関係数なら:
- 0.85:1に近いので強い正の関係
- 0.3程度:弱い関係
- 0.7以上:強い関係
実際のデータ分析での活用例
ビジネスでの活用
マーケティング分野
広告費と売上の共分散を分析します。
コカ・コーラの研究:
- 広告費を100万円増やす
- 売上が予測可能な量だけ増加
Amazonの推薦システム
「この商品を買った人はこんな商品も買っています」機能も共分散分析に基づいています。
例:ポテトチップスとコーラ
- 共分散が+0.72という高い値
- だから一緒に推薦される
投資での活用
ポートフォリオの分散投資は共分散の概念が中心です。
組み合わせる株式:
- テスラ株(ハイテク)
- コカ・コーラ株(安定した消費財)
- ゴールドETF(安全資産)
効果:
- それぞれの共分散が負または小さい
- 個別のリスクが平均3.7%
- 組み合わせると2.9%まで下げられる
研究での活用
医学研究
運動時間と体格指数(BMI)
- 共分散:-0.89(強い負の値)
- 運動が肥満予防に効果的であることを数値で証明
環境科学
NASAの研究:
- 気温が1℃上昇
- トウモロコシの収穫量が7.4%減少
- 共分散:-0.83
スポーツとゲームでの活用
eスポーツの分析
Twitchの視聴者数とゲームのアクティブプレイヤー数
Final Fantasy XIVの場合:
- 共分散:+0.91(非常に強い正の関係)
Counter-Strikeの場合:
- 練習時間とヘッドショット率
- 共分散:+0.84
- 練習の重要性を数値で示す
エクセルとPythonでの計算方法

エクセルでの計算
エクセルには2つの共分散関数があります。
COVARIANCE.S(標本共分散)
データが全体の一部(サンプル)の場合に使用:
=COVARIANCE.S(A2:A10, B2:B10)
COVARIANCE.P(母集団共分散)
データが全体を表す場合に使用:
=COVARIANCE.P(A2:A10, B2:B10)
実際の手順
- データを2列に入力
- A列:数学の点数
- B列:理科の点数
- 空いているセルを選択
- =COVARIANCE.S(A2:A10,B2:B10) と入力
- Enterキーを押すと共分散が計算される
Pythonでの計算
NumPyを使った基本的な計算
import numpy as np
# データの準備
math_scores = [84, 82, 81, 89, 73]
science_scores = [85, 82, 72, 77, 75]
# 共分散行列の計算
cov_matrix = np.cov(math_scores, science_scores)
# 共分散の値を取得
covariance = cov_matrix[0, 1]
print(f"共分散: {covariance}")
Pandasを使った方法
import pandas as pd
# データフレームの作成
data = {
'Math': [84, 82, 81, 89, 73],
'Science': [85, 82, 72, 77, 75]
}
df = pd.DataFrame(data)
# 共分散の計算
covariance = df['Math'].cov(df['Science'])
print(f"数学と理科の共分散: {covariance}")
共分散の限界と注意すべき点
単位依存性の問題
共分散の最大の弱点は、測定単位に依存することです。
身長の測定単位による違い:
- センチメートルで測る
- メートルで測る
- 共分散の値が100倍も変わってしまう
結果として:
- 異なるデータセット間での比較が困難
- 値の大きさだけでは関係の強さを判断できない
線形関係のみを捉える
共分散は直線的な関係しか検出できません。
例:運動量と健康の関係
- 適度な運動 → 健康に良い
- 過度な運動 → 逆に健康を害する
- 山型の関係
このような曲線的な関係は、共分散では検出できません。 ゼロに近い値が出る可能性があります。
サンプルサイズの重要性
信頼できる共分散を得るには、少なくとも200以上のデータポイントが必要とされています。
少ないデータの問題:
- 偶然の影響を受けやすい
- 実際には存在しない関係を示してしまう可能性
シンプソンのパラドックス
全体で見ると正の関係があるように見えても、グループごとに分けると逆の関係が現れることがあります。
有名な例:1973年のカリフォルニア大学バークレー校の入学データ
- 全体では男性の方が合格率が高く見えた
- 学部ごとに見ると女性の方が合格率が高い学部が多かった
共分散行列とその応用
共分散行列は、複数の変数間の全ての共分散を一つの表にまとめたものです。
3つ以上の変数を同時に分析する際に使用されます。
具体例:3科目の成績
生徒の「数学」「理科」「英語」の点数の関係を調べる場合:
- 3×3の共分散行列ができる
- 対角線上:各科目の分散
- それ以外:科目間の共分散
特徴:必ず対称になる (数学と理科の共分散 = 理科と数学の共分散)
主成分分析(PCA)での活用
共分散行列を使ってデータの最も重要な特徴を見つけ出します。
顔認識システム
- 何千もの顔の特徴から
- 最も個人を識別しやすい特徴の組み合わせ
- 共分散行列から導き出す
画像圧縮
- 元の画像の95%の情報を保つ
- ファイルサイズを大幅に削減
- 共分散行列を活用
よくある誤解と間違い
共分散は因果関係を示さない
最も危険な誤解は、共分散があることを因果関係と混同することです。
例:アイスクリームの売上と犯罪率
- 正の共分散がある
- でも、アイスクリームが犯罪を引き起こすわけではない
- 両方とも気温という第3の要因の影響を受けているだけ
ゼロの共分散は独立を意味しない
共分散がゼロでも、変数が完全に独立とは限りません。
例:X と Y=X² の関係
- Xが正規分布に従う場合、共分散はゼロ
- でも、Xが決まればYは完全に決まる
- 実際には強い依存関係がある
円形やX字型にデータが分布している場合も:
- 明確な関係があるのに
- 共分散はゼロになる
負の共分散を「悪い」と解釈する誤り
負の共分散は単に逆の関係を示すだけです。
それ自体が良いか悪いかは文脈によります:
投資での例
- 負の共分散を持つ資産を組み合わせる
- リスクを減らせる
- むしろ望ましいこと
医療での例
- 薬の投与量と症状の重さが負の共分散
- 薬が効いている証拠
- 良いこと
データの可視化を怠る危険性
数値だけを見て判断することは危険です。
アンスコムの四重奏という有名な例:
- 4つの全く異なるデータセット
- 同じ共分散と相関係数を示す
4つの内容:
- 完璧な直線関係
- 曲線関係
- 外れ値を含む直線
- 1点の外れ値だけが関係を作っている
必ず散布図を描いて、実際のデータのパターンを確認することが重要です。
まとめ:共分散を正しく理解し活用するために
共分散は「2つのものが一緒に変化するか」を測る重要な統計ツールです。
基本的な意味
- 正の値:同じ方向に動く傾向
- 負の値:逆方向に動く傾向
理解しておくべき限界
- 単位に依存する
- 線形関係しか捉えられない
- 因果関係を示さない
実際の活用での注意点
正しく活用するために:
- 相関係数と併用する
- 必ずデータを可視化する
- 文脈を考慮する
様々な分野での活用
- ビジネス
- 投資
- 研究
- スポーツ
これらの分野で共分散を正しく理解することで、データから意味のある洞察を得ることができます。
最も重要なこと
共分散はあくまでも関係性を示す一つの指標に過ぎません。
それだけで全てを判断してはいけません。
複数の視点からデータを分析し、常に「なぜそのような関係があるのか」を考えることが大切です。
これが統計を正しく活用する鍵となります。
コメント