8-1-3 関係性を測る 相関係数・共分散・疑似相関・コサイン類似度

「アイスクリームの売上が増えると、溺死者数も増える」——これは実際に観察されるデータの傾向です。では、アイスクリームが溺死を引き起こしているのでしょうか。もちろん、そんなことはありません。暑い夏には、アイスクリームもよく売れ、水遊びをする人も増える——「気温」という第三の要因が、両方に影響しているだけです。

二つのものの間に「つながり」があるように見えても、それが本当の関係なのかどうかは、慎重に見極める必要があります。
この章では、データの「関係性」を測るための道具と、その落とし穴を見ていきましょう。

共分散とは何か

共分散(covariance)は、二つの変数が「一緒にどう動くか」を測る指標です。
一方が増えるとき、もう一方も増える傾向があれば、共分散はプラスになります。一方が増えるとき、もう一方が減る傾向があれば、共分散はマイナスになります。二つの変数に関係がなければ、共分散はゼロに近くなります。

たとえば「気温」と「アイスクリームの売上」は、気温が上がると売上も上がる傾向があるので、共分散はプラスになります。「気温」と「コートの売上」は、気温が上がるとコートが売れなくなるので、共分散はマイナスになります。

ただし共分散には一つ弱点があります。
数値の大きさが、データの単位に依存してしまうため、「どのくらい強い関係か」を直感的に比べにくいのです。そこで登場するのが相関係数です。

相関係数とは何か

相関係数(correlation coefficient)は、共分散を標準化して、-1から+1の間の値に収めた指標です。
単位に依存しないため、異なるデータ同士の関係の強さを比べやすくなっています。

+1に近いほど、強い正の相関(一方が増えると、もう一方も増える)
-1に近いほど、強い負の相関(一方が増えると、もう一方が減る)
0に近いほど、相関が弱い(二つの変数に関係がない)

「気温」と「アイスクリームの売上」の相関係数が0.9であれば、強い正の相関がある。「勉強時間」と「テストの点数」の相関係数が0.7であれば、ある程度の正の相関がある——このように、-1から+1という共通のスケールで関係の強さを表現できます。

疑似相関とは何か

冒頭の「アイスクリームと溺死者数」の話に戻りましょう。この二つの間には相関係数で測ると、実際に高い正の相関が見られます。しかしこれは本当の因果関係ではありません。

このような「相関はあるが、因果関係がない」状況疑似相関(spurious correlation)と呼びます。見かけ上は強いつながりがあるように見えても、実は別の隠れた要因(この場合は「気温」)が両方に影響しているだけ——という落とし穴です。

AIがデータから相関を学ぶとき、疑似相関を「本当の関係」として学んでしまうリスクがあります。「アイスクリームの売上データから溺死者数を予測するAI」を作っても、現実には何の役にも立ちません。
データの背後にある構造を理解しないまま相関だけを追いかけることの危うさを、疑似相関は教えてくれます。
相関関係は因果関係を意味しない」——これは統計の世界で最も重要な戒めの一つです。

偏相関係数とは何か

疑似相関の問題に対処するための道具が、偏相関係数(partial correlation coefficient)です。
偏相関係数とは、第三の変数の影響を取り除いた上で、二つの変数の間の純粋な相関を測る指標です。
「気温」の影響を取り除いた上で、「アイスクリームの売上」と「溺死者数」の間に本当に相関があるかを調べる——それが偏相関係数の役割です。

隠れた要因を「コントロールする」ことで、本当の関係だけを浮かび上がらせる。
疑似相関を見抜くための、より精密な道具です。

コサイン類似度とは何か

コサイン類似度(cosine similarity)は、二つのベクトル(方向を持つ量)の「向きがどのくらい似ているか」を測る指標です。
値は-1から+1の間をとり、1に近いほど似ている、0に近いほど無関係、-1に近いほど反対の向きを示します。

自然言語処理の分野で特によく使われます。
「猫」という単語と「ネコ」という単語は、ベクトル空間の中で似た方向を向いている——コサイン類似度が高い。「猫」と「自動車」は、ベクトル空間の中で全然違う方向を向いている——コサイン類似度が低い。

検索エンジンで「かわいい動物」と検索したとき、「猫の写真集」の記事がヒットするのも同じ仕組みです。
検索ワードと文書をそれぞれ数字の列で表して、数字の並びが似ているものを探し出す——それがコサイン類似度を使った検索の本質です。

コサイン類似度は、マルチモーダルの章で登場したCLIPにも使われています。
テキストと画像をそれぞれ数字の列で表して、コサイン類似度で「どのくらい似ているか」を測ることで、言葉と画像を結びつけていくのです。
章をまたいで、同じ道具が登場してくるのがAIの面白いところです。

ユークリッド距離・マハラノビス距離とは何か

最後に、「距離」で関係性を測る二つの指標を整理しておきましょう。
ユークリッド距離(Euclidean distance)は、最もシンプルな「距離」の概念です。
二点間の直線距離——小学校で習った「二点間の距離」がまさにユークリッド距離です。データの類似度を「近いか遠いか」で測る場面でよく使われます。

しかしユークリッド距離には弱点があります。
データのばらつき(スケール)の違いを考慮しないことです。身長(cm単位)と体重(kg単位)を同時に扱うとき、単位の違いが距離の計算に影響してしまいます。

マハラノビス距離(Mahalanobis distance)は、その弱点を補った距離の指標です。
データのばらつきや変数間の相関を考慮した上で距離を測るため、異なるスケールのデータが混在する場面でも正確に「近さ」を評価できます。異常検知の分野で特によく使われます。

まとめ

共分散 → 二つの変数が一緒にどう動くかを測る指標。プラスなら同じ方向、マイナスなら逆方向に動く傾向を示す
相関係数 → 共分散を標準化して-1から+1の間に収めた指標。関係の強さを単位に依存せず比べられる
疑似相関 → 相関はあるが因果関係がない状況。隠れた第三の要因が両方に影響しているだけで、本当のつながりではない
偏相関係数 → 第三の変数の影響を取り除いた上で、二つの変数の純粋な相関を測る指標。疑似相関を見抜くための道具
コサイン類似度 → 二つのベクトルの向きがどのくらい似ているかを測る指標。自然言語処理での単語の類似度測定などに広く使われる
ユークリッド距離 → 二点間の直線距離。最もシンプルな距離の概念
マハラノビス距離 → データのばらつきや変数間の相関を考慮した距離の指標。異なるスケールのデータが混在する場面や異常検知で有効

next ▶ 推測と検定 帰無仮説・最尤法・条件付き確率・期待値