IT用語を超やさしく理解する

相関関係

別名: 相関 / 相関関係 / 相関係数 / 正の相関 / 負の相関 / 無相関 / 擬似相関 / correlation / correlation coefficient

30秒で思い出す

相関は、2つの量がどのように一緒に変化するかを見る考え方です。

  • 正の相関: 一方が増えると、もう一方も増える傾向
  • 負の相関: 一方が増えると、もう一方は減る傾向
  • 無相関: はっきりした直線的な関係が見られない
  • 相関係数: 関係の向きと強さを -1 から 1 の範囲で表す値

ただし、相関があるだけで「原因と結果」が証明されたことにはなりません。

超やさしく理解

暑い日には、アイスがたくさん売れることがあります。お店で毎日の気温とアイスの売れた数を記録して、並べてみましょう。

気温が高い日ほどアイスが多く売れる傾向が見つかったら、2つの数字は同じ向きに変わる傾向があります。これを「正の相関」と呼びます。

一方、気温が高い日ほど温かい飲み物があまり売れない傾向なら、2つの数字は反対向きに変わる傾向があります。これが「負の相関」です。

ここで大事なのは、「いつも必ずそうなる」という決まりではないことです。天気以外にも、商品の値段やお客さんの好みなどが関係します。

また、アイスがよく売れた日にプールへ来る人も多かったとしても、「アイスが売れたからプールに人が増えた」とは限りません。暑さが両方に影響したのかもしれません。

一緒に変わる傾向があること(相関)と、一方がもう一方の原因であること(因果)は別です。

散布図

2つの量の関係を見るときは、散布図がよく使われます。

横軸に一方の値、縦軸にもう一方の値を取り、1組のデータを1つの点として表します。

点が右上がりに並ぶなら正の相関、右下がりに並ぶなら負の相関が考えられます。

点がばらばらで一定の方向が見えない場合は、直線的な相関が弱いと考えます。

正の相関

一方が大きくなると、もう一方も大きくなる傾向です。

例:

  • アクセス数とCPU使用率
  • 転送データ量と通信時間
  • 処理件数と処理時間

ただし、実際のシステムでは他の条件も影響するため、常にきれいな直線になるわけではありません。

負の相関

一方が大きくなると、もう一方は小さくなる傾向です。

例:

  • キャッシュヒット率とバックエンド問い合わせ数
  • 圧縮率と保存後のファイルサイズ

「片方が増えれば必ずもう片方が減る」という決まりではなく、全体としてそのような傾向があるという意味です。

無相関

2つの量の間に、はっきりした直線的な関係が見られない状態です。

相関係数が0に近い場合も、直線的な関係が弱いと考えます。

ただし、0に近いから「まったく関係がない」とは限りません。

曲線的な関係など、相関係数では捉えにくい関係が存在することもあります。

相関係数

相関係数は、2つの量の直線的な関係の向きと強さを -1 から 1 の範囲で表す値です。

目安として、

  • 1に近い → 強い正の相関
  • -1に近い → 強い負の相関
  • 0に近い → 直線的な相関が弱い

と読みます。

たとえば、

r = 0.8

なら比較的強い正の相関、

r = -0.7

なら比較的強い負の相関、

r = 0.05

なら直線的な相関はかなり弱い、と考えます。

「0.7以上なら必ず強い」のような絶対的な境界があるわけではありません。分野やデータの性質も合わせて判断します。

相関係数の符号

相関係数の符号は関係の向きを表します。

  • プラス → 正の相関
  • マイナス → 負の相関

絶対値が大きいほど、直線的な関係が強い傾向を表します。

そのため、

r = -0.9

は「弱い関係」ではありません。

符号は方向、絶対値は強さを見ると理解しやすくなります。

相関と因果は違う

ここは特に重要です。

2つの量に相関が見つかっても、

AがBの原因である

とは限りません。

たとえば、

  • リクエスト数が増える
  • CPU使用率が上がる
  • 応答時間も長くなる

という状況では、CPU使用率と応答時間に相関が見えるかもしれません。

しかし、両方に影響しているのが「リクエスト数」という別の要因である可能性があります。

擬似相関

擬似相関は、2つの量に直接の因果関係がないのに、別の要因などによって相関があるように見えることです。

例:

  • 障害報告件数
  • サーバー台数

が同時に増えていたとしても、サーバー台数そのものが障害の原因とは限りません。

サービス規模の拡大によって、

  • サーバー台数も増えた
  • 利用者数も増えた
  • 結果として障害報告の絶対数も増えた

という可能性があります。

相関を見るときの順番

相関を調べるときは、次の順で考えると整理しやすくなります。

  1. 2つの量を散布図などで確認する
  2. 正・負・無相関のどの傾向かを見る
  3. 相関係数で直線的な関係の向きと強さを確認する
  4. 外れ値やデータ数を確認する
  5. 第三の要因がないか考える
  6. 相関だけで因果関係を断定しない

外れ値に注意する

少数の極端な値があると、相関係数が大きく変わることがあります。

そのため、相関係数だけを見るのではなく、散布図や元データも確認します。

これは、代表値で平均値だけを見ず、分布も確認したのと同じ考え方です。

どこで使う?

ITでは、2つの指標の関係を確認したい場面が多くあります。

例:

  • リクエスト数とCPU使用率
  • メモリ使用率と応答時間
  • キャッシュヒット率とDB問い合わせ数
  • データ量と処理時間
  • パケット損失率と再送回数

相関を使うと、関係しそうな指標を見つける手掛かりになります。

ただし、原因を特定するには追加の調査や実験が必要です。

よくある勘違い

相関係数が-0.9なら相関は弱い?

違います。

絶対値は0.9なので、強い負の相関を表します。

相関係数が0なら完全に無関係?

そうとは限りません。

直線的な関係が弱いことを表しますが、曲線的な関係などが存在する可能性があります。

相関が強ければ原因も分かる?

分かりません。

相関は一緒に変化する傾向を示すもので、因果関係の証明ではありません。

散布図を見ずに相関係数だけ見ればよい?

おすすめできません。

外れ値や特殊な分布によって、相関係数だけでは関係を誤解することがあります。

このKnowledgeで扱わないこと

ここでは、相関の方向・相関係数の読み方・相関と因果の違いを扱います。

次は後続Knowledgeへ分けます。

  • 共分散の詳細計算
  • 相関係数の導出
  • 回帰直線
  • 重回帰分析
  • ロジスティック回帰
  • 推定
  • 仮説検定

ここまで分かればOK

  • 正の相関・負の相関・無相関を説明できる
  • 相関係数の符号と絶対値の意味を説明できる
  • 相関係数が0に近くても完全な無関係とは限らないと理解できる
  • 相関と因果関係を区別できる
  • 擬似相関の可能性を考えられる
  • 相関係数だけでなく散布図や外れ値も確認する理由を説明できる

資格との関係

関連するIT用語

次に読む

理解できたか確認しよう

答えを選んで、なぜそうなるのかまで確認できます。

確認問題 1

相関と因果関係を区別する

あるサービスでは、CPU使用率と平均応答時間に強い正の相関が見つかりました。同じ時間帯にはリクエスト数も増えていました。

この結果から直接いえることとして最も適切なものはどれですか?

回答を1つ選んでください

確認問題 2

相関係数から関係の向きを読む

2つの指標について相関係数を計算したところ、r = -0.9 でした。

この結果の説明として最も適切なものはどれですか?

回答を1つ選んでください