相関分析とは
相関分析とは、2変数間の関係を数値で表現する分析方法です。
相関分析はマーケティング領域における、データ分析においてよく用いられる分析手法の1つになります。
相関と相関係数とは
相関分析の「相関」とは2つ以上の変数があるときに、それらが「どれぐらい類似しているか」という「類似度」を意味します。2つの変量の強弱を数値化したものを「相関係数」と呼びます。
「類似度」の強さを「−1から1」までの範囲を取る数字として表現され、相関係数が1に近づくほど、強い正の相関関係になり、-1に近づくほど強い負の相関関係になり、0に近づくほど相関関係が弱くなります。
Pythonで相関係数を算出するには、pandasのcorr
を使いることで、簡単に相関係数を算出できます。
Pythonで相関係数を算出してみよう
それでは、数学の点数と英語の点数のサンプルデータを用いて相関係数を求めてみます。以下のようなデータを作成します。
import numpy as np
import pandas as pd
math_score = [30, 30, 20, 90, 10]
english_score = [70, 60, 70, 100, 80]
df_math = pd.DataFrame(math_score, columns=["math_score"])
df_english = pd.DataFrame(english_score, columns=["english_score"])
df = pd.concat([df_math, df_english], axis=1)
corr = df.corr()
corr
それぞれの相関係数は0.747741となり、1に近いため、正の相関があることがわかります。
corr()
を用いることで、広告宣伝費と売上の相関分析などに適用できます。
相関分析をする上での注意点
この記事では詳細は触れませんが、相関分析の結果から因果関係があるわけではない点注意ください。
例えば、ビールの売上とアイスの売上に高い正の相関関係があったため、アイスの販売を拡大する戦略をとれば、ビールも売れるだろう!という結論にはなりませんよね。これらには因果関係はなく、「暑い日」という共通の要因が隠れているわけです。(疑似相関)
相関分析は算出された数値を読み取れば良いため、分析しやすい手法ですが、このように相関があるから因果があるわけではないため、誤った解釈をしないように注意しましょう。
Pythonやデータ分析を効率よく学ぶには?
データ分析の基礎を学んで、実際のデータセットを元に、実践的なデータ分析をしたい方は、データ分析実践編(https://aiacademy.jp/texts/#data_practice)がオススメです。その中の1つに、今回解説した「相関分析」の実践的な内容が学べる「Python 広告データを用いて相関分析してみよう」では、広告データを用いて相関分析する内容を学べますので興味がある方は是非トライしてみてください。
https://aiacademy.jp/texts/show/?id=272
また、データサイエンティストや機械学習エンジニアに質問し放題かつ、データ分析の基礎から実践まで、体系的に学べる動画コンテンツでデータ分析技術を学びたい方は、オンラインで好きな時間に勉強できるAI Academy Bootcampがオススメです。