【2023年】プロ野球のパリーグの戦績でデータ分析 ver1　〜打撃編〜

# はじめに
2023年のレギュラーシーズンが終了し、クライマックスシリーズの真っただ中です。この機会に、セイバーメトリクスを使ってチームのデータを比較してみたくなり、この連載を始めました。セリーグ編もアップしていますので、興味のある方は以下のリンクからご覧ください。CS1stでは広島カープが勝利し、Finalは阪神と広島の対決となりました。

セリーグ編の記事はコチラ

https://qiita.com/wooooo/items/96982736e67e99a36254

https://qiita.com/wooooo/items/27792fc182940ee3caa4

https://qiita.com/wooooo/items/8352a0f77c36f8c8728b

# 引用したサイト
https://npb.jp/bis/2023/stats/std_c.html

得点圏打率はこちらから引用させていただきます

https://nf3.sakura.ne.jp/Stats/team_etc.htm

# 得点との相関係数のランキング
![スクリーンショット 2023-10-16 15.06.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/ec8b1e0c-b017-8dc8-2377-3808bd99f55e.png)

|順位|項目|相関係数|
|--|--|--|
|1位|出塁率|0.93|
|2位|安打|0.85|
|3位|打率|0.85|
|4位|長打率|0.84|
|5位|塁打|0.83|
|6位|本塁打|0.82|
|7位|四球|0.63|

※相関係数は小数点第3位で四捨五入しています。
相関係数の絶対数が大きい順に並べています。
打点、打席、打数、勝利、敗北は除外しています。

上記の表は、各指標と得点との相関係数をランキング形式で示しています。
セリーグとの違いや、その原因を分析すると、セリーグの試合の特性やDH制の有無、投手の打席への出場などが影響していることが考えられます。
また、セリーグは四球との相関係数が0.78でしたが、パリーグでは0.63となっています。

# 各項目と得点数とのグラフ
・出塁率
![Figure_得点-出塁率.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/4d31e42d-bd50-39aa-8dd6-9111a6d5531b.png)

・安打
![Figure_得点-安打.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/28545ae9-c72c-fa44-022c-b93fe0fb5b77.png)

・打率
![Figure_得点-打率.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/b278fa33-f9b3-db05-8596-02ef23f1f17e.png)

・長打率
![Figure_長打率-得点.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/e919493b-7afc-6c51-9705-bfb6d33aa409.png)

・塁打
![Figure_得点-塁打.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/b7c5051d-3573-291e-98d9-6f9402910ad4.png)

・本塁打
![Figure_得点-本塁打.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/5e5ac2c7-744d-d5f7-d800-7b492960a0e9.png)

・四球
![Figure_得点-四球.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/4266cc11-42f8-51f1-d138-3f40f745f171.png)

・打率と得点圏打率
オリックスは両方の指標でリーグトップの成績を記録しています。
楽天や西武などは打率や得点圏打率に明らかな差があり、この差がチームの得点能力や勝敗に影響していることが読み取れます。
![Figure_打率-得点圏打率.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/8c17aaa0-f220-cf28-aa2a-107f86d699be.png)

# 環境構築
```
pip install pandas numpy seaborn matplotlib japanize-matplotlib
```

# コード
データ分析に必要なライブラリをインポートします。
```python
import pandas as pd
import numpy as np
import seaborn as sns
from matplotlib import pyplot as plt
import japanize_matplotlib

pd.set_option('display.max_columns', None)

# パリーグのチーム打率のCSVを読み込む
df = pd.read_csv('baseball/data/npb_2023_pacific_batter.csv')

# グラフの凡例のチームカラー
team_colors = {
    'オリックス': 'navy',
    'ソフトバンク': 'yellow',
    '楽天': 'red',
    'ロッテ': 'black',
    '西武': 'blue',
    '日本ハム': 'cyan'
}

# チーム順位を追加
df['順位'] = ['1', '2', '4', '3', '5', '6']
df = df.sort_values(by='順位')
# 得点圏打率を追加
df['得点圏'] = [0.266, 0.250, 0.254, 0.239, 0.220, 0.252]
```

出塁率と得点の分析のコードです。
```python
column = '出塁率'
plt.figure(figsize=(10, 5))
sns.scatterplot(data=df, x=column, y='得点', hue='チーム', palette=team_colors, s=100)
plt.title(f'{column}と得点の関係')
plt.xlabel(column)
plt.ylabel('得点')
plt.grid(True)
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left')
plt.tight_layout()
for i, row in df.iterrows():
    plt.text(
        row[column], row['得点'], str(row['順位']), color='black',
        fontsize=10, ha='right', va='bottom'
    )
# 出塁率と得点の平均値を示す線を追加
plt.axvline(df[column].mean(), color='red', linestyle='--', label=f'{column}の平均')
plt.axhline(df['得点'].mean(), color='blue', linestyle='--', label='得点の平均')
#  相関係数
correlation_coefficient = np.corrcoef(df[column], df['得点'])[0, 1]
plt.text(0.1, 0.9, f'r: {correlation_coefficient:.2f}', transform=plt.gca().transAxes)
# 回帰直線
slope, intercept = np.polyfit(df[column], df['得点'], 1)
x = np.linspace(min(df[column]), max(df[column]), 100)
y = slope * x + intercept
plt.plot(x, y, color='black', label=f'回帰直線: y = {slope:.2f}x + {intercept:.2f}', alpha=0.2)
plt.show()
```

### セイバーメトリクスの指標を用いて、より詳しく分析していきます。
・OPS
チームの得点に貢献する指標(出塁率+長打率)

オリックス、ソフトバンク、楽天が上位で、3位のロッテがリーグ平均近くの値を記録しました。
相関係数が0.94で強い相関を示しているので、今季のパリーグではOPSが得点に直結する傾向があります。
![Figure_得点-OPS.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/dd6f0935-afee-68c5-a0f1-b079c44d4db1.png)

・ISO(IsoP)
安打数から単打を引いた打者の長打力を測る指数(長打率-打率)

優勝したオリックスはOPSに続きISOもリーグ上位。このことから、オリックスの長打力がパリーグ1位であることが確認できます。
OPSで高い値を示していたソフトバンクと楽天はリーグ平均程度の数値でした。
最下位の日本ハムはOPSとISO、両方でリーグ平均近くの値を持っています。
5位の西武はOPSとともにISOでもリーグ最下位。来季の挑戦としては選球眼の向上や、長打力の強化が期待されます。
相関係数は0.60であり、長打が増えると得点も増える傾向があることが分かります。
![Figure_得点-ISO.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/a8349bae-0eb5-928b-9d1a-0e660a46f13e.png)

・BABIP
打者の運や守備の影響を除いた打撃能力を示す指標(安打-本塁打)/(打数-三振-本塁打+犠飛)

ホークスがリーグ1位、続いて優勝したオリックスが2位となっています。これは両チームの打者の打球の質が高い可能性があります。
その他のチームは打球の質が平均以下であるか、守備シフト等の対策を受けている可能性が考えられます。
相関係数は0.74で、質の高い打球が得点に大きく影響していることが示されています。
![Figure_得点-BABIP.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/ea5bff17-f42d-f7a9-81d9-37f76c47974f.png)

・RC
打者がどれだけ得点を生み出したかの指標(安打+四球)x塁打/打席

パリーグ1位と2位のオリックスとソフトバンクがリーグ上位のRCを持っています。
相関係数は0.95で、RCが高ければ高いほど得点が増加する強い関係が確認できます。
![Figure_得点-RC.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/04114b93-817f-c0d7-4535-53bd54fc95ce.png)

・BB/K
打者の選球眼の指標(四球/三振)

楽天がリーグ1位のBB/Kを持っており、特に浅村選手の選球眼が際立っています。
優勝したオリックスはリーグ平均をやや下回るBB/Kで、この点では5位の西武と近い数値です。しかし、他の指標での高いパフォーマンスでその差を補っていると考えられます。
相関係数は0.64であり、選球眼が得点にも影響していることが分かります。
![Figure_得点-BB:K.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/f6b354fe-d3e1-bcac-9d22-2a56cd8281c3.png)

# おまけ
盗塁数とその成功率を示すグラフです。
「走魂」の西武はリーグ平均以上の盗塁数を持ちながら、成功率は平均を下回っています。
効果が思ったより無さそうなので来年のスローガンは「激走魂」「爆走魂」なのでしょうか？（X旧Twitterで「爆走死魂」とか書き込まれそうです）
![Figure_盗塁-盗塁成功率.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/d073bcf6-1be7-21b1-8655-83e30fb02cb1.png)
また、盗塁規画数と成功率でグラフを作成しました。
優勝したオリックスは盗塁規画が少なく、成功率も低くなっています。

横軸に盗塁を試みた数で、縦軸に盗塁の成功率です。
楽天はリーグ平均よりも多くの盗塁を試みており、成功率も高くなっています。

ロッテは少ない盗塁規画数ですが、成功率はリーグ1位となっており、選手の盗塁の上手さなのか、ベンチワークの良さなのか。
![Figure_盗塁成功率-盗塁規画.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603047/94e6b20f-b554-5713-f8a1-921f6c057505.png)
ただ、盗塁と得点の関係は-0.07で弱い相関を示しており、今季のパリーグで見ると盗塁が増加しても得点が増えにくいというデータになっています。
気になった人は様々なデータを見て盗塁の有効性を調べると面白いと思います。Data⚪︎tadium🔥さん🙇

関連するデータを可視化する時は
Seabornで見やすいグラフを作った方が良さそうです。とほほ

Dear 野球をしている人達
フライボール革命、バレルゾーン、打ち方など気になったら👇

https://spaia.jp/column/baseball/mlb/8042