相関分析は最強の「データスカウト」!機械学習の精度を上げる”相棒”の正体とは
こんにちは。ゆうせいです。
機械学習モデルを作ろう!と意気込んで、データを集めてきた新人エンジニアのあなた。
そのデータを、いきなりモデルに「えいっ」と投入していませんか?
ちょっと待ってください!
そのデータ、ちゃんと「中身」を見ましたか?
優秀な料理人が、素材(データ)の味見や下ごしらえを念入りにするように、私たちエンジニアも、データを調理する前に「データの味見」をする必要があります。
その「最強の味見道具」こそが、今回お話しする「相関分析(そうかんぶんせき)」なんです。
「統計学のやつでしょ?」「機械学習とどう関係するの?」
そう思ったあなたにこそ、読んでほしい!
相関分析が、いかに機械学習の「良き相棒」であるかを、分かりやすく解説していきますね。
そもそも「相関分析」って何?
相関分析とは、ものすごくシンプルに言うと、「2つの物事(変数)が、どれくらい一緒に動くか」を調べる方法です。
「片方が増えたら、もう片方も増えるのか?」「それとも減るのか?」「あるいは、全然関係ないのか?」
この「関係性の強さ」を、数値でズバリと示してくれます。
相関係数(
)という名の「関係性スコア」
その数値のことを「相関係数(そうかんけいすう)」と呼びます。
よく という記号で表されますね。
このスコアは、必ず -1 から +1 の間に入ります。
- +1 に近い(正の相関が強い)
- 片方が増えれば、もう片方も増える関係。
- 例:「気温が上がる」と「アイスクリームの売上が上がる」
- -1 に近い(負の相関が強い)
- 片方が増えれば、もう片方は減る関係。
- 例:「勉強時間が増える」と「ゲームのプレイ時間が減る」
- 0 に近い(相関が(ほとんど)ない)
- 2つの物事に関連性が見られない。
- 例:「あなたの靴のサイズ」と「明日の株価」
どうです? この「関係性スコア」、なんだか機械学習の役に立ちそうだと思いませんか?
機械学習における相関分析の「2大ミッション」
相関分析は、特に機械学習の「前処理(データをモデルに入れられる形に整えること)」や「特徴量エンジニアリング(モデルが学習しやすいデータを作ること)」において、2つの重要なミッションを担っています。
ミッション1:予測に「役立つ特徴量」のスカウト
機械学習モデルの目的が「何かを予測すること」だとしましょう。
例えば、「家の価格」を予測するモデルを作るとします。
データとして「部屋の広さ」「駅からの距離」「築年数」などがありますよね。
このとき、相関分析を使って、「予測したいもの(家の価格)」と「各データ(特徴量)」の関係性スコアを計算します。
- 「部屋の広さ」と「家の価格」:+0.7(強い正の相関)
- 「駅からの距離」と「家の価格」:-0.6(やや強い負の相関)
- 「近所の公園の名前」と「家の価格」:+0.01(ほぼゼロ)
この結果を見れば、一目瞭然!
「部屋の広さ」や「駅からの距離」は、価格予測にすごく役立ちそうだ、と分かります。
一方で、「近所の公園の名前」は、予測に全然関係なさそうですよね?
このように、相関分析は、予測に役立つ「有望な選手(特徴量)」を見つけ出す、優秀なスカウトマンの役割を果たしてくれるんです。
ミッション2:モデルを混乱させる「似た者同士」の発見
もう一つのミッションは、スカウトした選手(特徴量)同士の関係を見ることです。
ここで注意したいのが、特徴量同士の相関が強すぎる場合です。
これを専門用語で「多重共線性(たじゅうきょうせんせい、マルチコとも言います)」と呼んだりします。
例:「家の広さ(平方メートル)」と「家の広さ(坪)」
この2つのデータ、当たり前ですが、言っていることはほぼ同じですよね?
相関係数を計算したら、ほぼ +1 になるはずです。
このような「似た者同士」のデータを両方モデルに入れてしまうと、モデルが混乱してしまうんです。
「えっ、どっちの『広さ』を見ればいいの!?」「広さの影響が2倍になっちゃう!」
特に、線形回帰のようなシンプルなモデルは、この問題にとても弱いんです。
相関分析を使えば、「あ、この2つの特徴量、相関が 0.95 もある!似すぎているから、片方は削除しておこう」という判断ができます。
モデルが混乱しないよう、事前に交通整理をしてあげるわけですね。
最大の注意点!「相関関係は、因果関係ではない」
さて、相関分析はとても便利ですが、一つだけ、絶対に覚えておかなければならない落とし穴があります。
それは、「相関があるからといって、片方がもう片方の『原因』であるとは限らない」ということです。
有名な例:「アイスの売上」と「水難事故の件数」
この2つ、実は「強い正の相関」があります。
データだけ見ると、「アイスが売れるほど、水難事故が増える」ように見えます。
では、質問です。
「水難事故を減らすために、アイスの販売を禁止すべき」でしょうか?
...違いますよね!
この2つには、「共通の原因」が隠れています。
それは「気温(夏であること)」です。
- 気温が上がる → アイスが売れる
- 気温が上がる → 海や川で泳ぐ人が増え、事故も増える
アイスが事故の原因なのではなく、「気温」という隠れたボス(潜伏変数)が、両方を引き起こしていただけなんです。
機械学習モデルは、この「見せかけの相関」に騙されてしまうことがあります。
モデルが「アイスの売上」を水難事故の予測に使い始めたら、おかしなことになりますよね。
相関分析で高い数値が出ても、「なぜ、この2つに関係があるんだろう?」と、必ず自分の頭で「因果関係」を考えるクセをつけてください!
まとめと次のステップ
相関分析は、機械学習モデルという「エンジン」を組み立てる前の、「データという素材」を吟味するためのシンプルかつ強力なツールです。
- メリット:計算が速く、-1から+1の数値で関係性が直感的にわかる。
- デメリット:あくまで「直線的な関係」しか見られない。「原因と結果」は教えてくれない。
この「データのスカウトマン」をうまく使いこなせるかどうかで、あなたの作るモデルの精度や安定性が大きく変わってきますよ。
次のステップ
- 実際に計算してみよう!PythonのPandasライブラリを使えば、df.corr() というたった一行のコードで、データ全体の相関行列(相関係数の一覧表)を計算できます。まずは触ってみましょう!
- ヒートマップで可視化しよう!計算した相関行列を、「ヒートマップ」というグラフにすると、どの特徴量同士の相関が強いか(色が濃いか)が一目でわかります。Seabornというライブラリですぐに作れますよ。
- 「スピアマンの順位相関」を調べてみよう今回紹介した(ピアソンの)相関係数は、直線的な関係しか測れません。世の中には「増えれば増えるほど、伸び方が緩やかになる」ような関係もあります。そういうものも捉えたい場合は、「スピアマンの順位相関」という別の方法があることも知っておくと、武器が増えます。
データの「声」を聞く第一歩として、ぜひ相関分析と仲良くなってくださいね!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
山崎講師2025年10月27日重回帰分析はディープラーニングの「細胞」だった?"ご先祖様"と"最強の進化系"のつながりを徹底解剖
山崎講師2025年10月27日機械学習の"ご先祖様"?重回帰分析が今も最強の「基礎」である理由
山崎講師2025年10月27日ディープラーニングの「常識」を疑え!相関分析が“無力”に見える理由と、それでも使うべき本当の価値
山崎講師2025年10月27日相関分析は最強の「データスカウト」!機械学習の精度を上げる”相棒”の正体とは