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つの量に直接の因果関係がないのに、別の要因などによって相関があるように見えることです。
例:
- 障害報告件数
- サーバー台数
が同時に増えていたとしても、サーバー台数そのものが障害の原因とは限りません。
サービス規模の拡大によって、
- サーバー台数も増えた
- 利用者数も増えた
- 結果として障害報告の絶対数も増えた
という可能性があります。
相関を見るときの順番
相関を調べるときは、次の順で考えると整理しやすくなります。
- 2つの量を散布図などで確認する
- 正・負・無相関のどの傾向かを見る
- 相関係数で直線的な関係の向きと強さを確認する
- 外れ値やデータ数を確認する
- 第三の要因がないか考える
- 相関だけで因果関係を断定しない
外れ値に注意する
少数の極端な値があると、相関係数が大きく変わることがあります。
そのため、相関係数だけを見るのではなく、散布図や元データも確認します。
これは、代表値で平均値だけを見ず、分布も確認したのと同じ考え方です。
どこで使う?
ITでは、2つの指標の関係を確認したい場面が多くあります。
例:
- リクエスト数とCPU使用率
- メモリ使用率と応答時間
- キャッシュヒット率とDB問い合わせ数
- データ量と処理時間
- パケット損失率と再送回数
相関を使うと、関係しそうな指標を見つける手掛かりになります。
ただし、原因を特定するには追加の調査や実験が必要です。
よくある勘違い
相関係数が-0.9なら相関は弱い?
違います。
絶対値は0.9なので、強い負の相関を表します。
相関係数が0なら完全に無関係?
そうとは限りません。
直線的な関係が弱いことを表しますが、曲線的な関係などが存在する可能性があります。
相関が強ければ原因も分かる?
分かりません。
相関は一緒に変化する傾向を示すもので、因果関係の証明ではありません。
散布図を見ずに相関係数だけ見ればよい?
おすすめできません。
外れ値や特殊な分布によって、相関係数だけでは関係を誤解することがあります。
このKnowledgeで扱わないこと
ここでは、相関の方向・相関係数の読み方・相関と因果の違いを扱います。
次は後続Knowledgeへ分けます。
- 共分散の詳細計算
- 相関係数の導出
- 回帰直線
- 重回帰分析
- ロジスティック回帰
- 推定
- 仮説検定
ここまで分かればOK
- 正の相関・負の相関・無相関を説明できる
- 相関係数の符号と絶対値の意味を説明できる
- 相関係数が0に近くても完全な無関係とは限らないと理解できる
- 相関と因果関係を区別できる
- 擬似相関の可能性を考えられる
- 相関係数だけでなく散布図や外れ値も確認する理由を説明できる
資格との関係
基本情報技術者試験
- シラバス
- Ver.9.2
- 必要な理解
- 問題で応用できる
- 重要度
- 高
- 分野
- テクノロジ
関連するIT用語
次に読む
理解できたか確認しよう
答えを選んで、なぜそうなるのかまで確認できます。
確認問題 1
相関と因果関係を区別する
あるサービスでは、CPU使用率と平均応答時間に強い正の相関が見つかりました。同じ時間帯にはリクエスト数も増えていました。
この結果から直接いえることとして最も適切なものはどれですか?
確認問題 2
相関係数から関係の向きを読む
2つの指標について相関係数を計算したところ、r = -0.9 でした。
この結果の説明として最も適切なものはどれですか?