【データ分析】相関と相関係数とは? Pandasで相関係数を求めてみよう!

相関と相関係数とは


相関分析の「相関」とは2つ以上の変数があるときに、それらが「どれぐらい類似しているか」という「類似度」を意味します。2つの変量の強弱を数値化したものを「相関係数」と呼びます。

「類似度」の強さを「−1から1」までの範囲を取る数字として表現され、相関係数が1に近づくほど、強い正の相関関係になり、-1に近づくほど強い負の相関関係になり、0に近づくほど相関関係が弱くなります

Pythonで相関係数を算出するには、pandascorrを使いることで、簡単に相関係数を算出できます。

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を効率よく学ぶには?

Pythonを効率よく学ぶには、普段からPythonを利用している現役のデータサイエンティストや機械学習エンジニアに質問できる環境で学ぶことです。
質問し放題かつ、体系的に学べる動画コンテンツでデータ分析技術を学びたい方は、オンラインで好きな時間に勉強できるAI Academy Bootcampがオススメです。受講料も業界最安値の35,000円(6ヶ月間質問し放題+オリジナルの動画コンテンツ、テキストコンテンツの利用可能)なので、是非ご活用ください。