Python

代表的な分析手法の確認(相関分析)

前回は「カイ二乗検定」と「t検定」をそれぞれ試してみました。

今回は「相関分析」を試してみたいと思います。

代表的な分析手法の確認(カイ二乗検定、t検定)「一般社団法人日本野球機構」の公式サイトより、「 2021年度 セントラル・リーグ セントラル・リーグ 個人打撃成績(規定打席以上)」のデータをスクレイピングします。...

今回の環境

今回利用するデータ

今回は「一般社団法人日本野球機構」の公式サイトより、2005年度から2021年度までの両リーグ個人打撃成績(規定打席以上)のデータをスクレイピングして取得したデータを使います。

今回試す分析手法

「相関分析」を行っていきます。

データの確保

データの取得方法は以前の記事をご参照ください。

代表的な分析手法の確認(カイ二乗検定、t検定)(追記)「一般社団法人日本野球機構」の公式サイトに格納されている2005年以降のセ・パ両リーグのデータを取得しました。...

データ分析

相関分析

相関分析とは

散布図や相関係数をもとにして、2変数の関係を調べる統計解析の手法である。相関係数とは、 簡単にいうと2つの変数がどのような関係にあるのかを数値で表したものであり、相関係数は-1から+1の間の値をとる。一般的に相関係数はrで表記され、得られた相関係数は次のように解釈する。

・r=0のとき、2つの変数には関連性がない
・rが1 に近いときは2つの確率変数には正の相関がある
・rが-1 に近いときは2つの確率変数には負の相関がある

出典:ニッセイ基礎研究所

比例、反比例の関係の強さを示す関数と言えそうです。

使用するライブラリ

  • Pandas

データ分析用のライブラリです。

  • matplotlib

グラフ描画用のライブラリです。

  • seaborn

matplotlibよりお手軽にグラフを描画できるライブラリです。

仮説・コードの実装

今回の仮説

犠打が多い選手は小兵。

完全にイメージですが、「犠打が多い選手は本塁打が少なく、盗塁が多い」という仮説を立てます。

コードの実装
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# データの読み込み
df = pd.read_csv("2005-2021_batter_all.csv")

# インデックス、年度毎の順位、選手名、所属を削除
df_droped = df.drop(columns=df.columns[[0,1,2,3]])

# 相関分析を実施
df_corr = df_droped.corr()

# 相関係数の表示
print(df_corr)

# ***以下、グラフ関係***
# matplotlibを日本語表示する設定
plt.rc('font', family='BIZ UDGothic')

# matplotlibの描画領域を整理する
plt.figure(figsize=(10,10),dpi=200)

# ヒートマップを描画
sns.heatmap(df_corr)

実行結果・考察

実行結果
相関係数そのものの出力結果の掲載は割愛します
コードの実行結果
考察
  • 犠打が多い選手は本塁打が少ない

上記のヒートマップを見ると、犠打と本塁打が交わるセルはかなり濃い色をしています。相関係数は「-0.5167017333」と犠打と本塁打はそこそこ強い反比例の関係にあるようです。

  • 犠打が多い選手は盗塁が多い

上記のヒートマップを見ると、犠打と盗塁が交わるセルは正の値を示す色となっています。しかし、相関係数は「0.3264242692」であり、そこまで強い相関関係にはないようです。

まとめ

相関分析の結果をヒートマップで確認するのは視認性の観点からは素晴らしいです。

一方で、色の濃さは相対的なものであり、相関係数「-1」が「黒」という訳ではないので落ち着いて確認する必要がありそうです。

次回は「因子分析」を行ってみたいと思います。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA