🎯 はじめに
2025年、ドジャース打線が異次元すぎる。
そんな彼らと同地区のライバルたちはどれだけ差があるのか?
OPS・WAR などの指標を使って、NL西地区5チームをデータで比較・可視化・予測まで行いました。
💥 補強選手の加入によってチームはどれだけ強化されたのか?
🧠 チーム別に成績の“平均”を出すと?
🤖 Streamlitでどう可視化したの?
🔮 成績予測と開幕現実の比較など
本記事では、これらの観点を総合的に解説します⚾
📌 使用ライブラリ
- Streamlit:データ可視化アプリのUI構築
- pandas:CSV読み込み・データ整形
- matplotlib:棒グラフの描画
- seaborn:ヒートマップの描画
🧪 使用データ&手法
- 分析対象:NL西地区の5チーム(Dodgers / Padres / Giants / DBacks / Rockies)
- 指標:OPS / WAR / AVG / HR
- 選手:2025年スタメン想定(Fangraphsなどを参考に選出)
- 補強選手:
New=True
でフラグ付け - データソース:Fangraphs + Baseball Savant
- チームごとの傾向を視覚的に把握できるよう、平均線も描画しています
🖥 Streamlitで作ったアプリUI
選手別に指標を比較したり、補強選手だけを抽出することも可能です。
平均線・チーム別色分け・ヒートマップなども対応済み。
📊 棒グラフ画面
🔥 ヒートマップ画面
🔗 アプリはこちらから試せます!
https://dodgers-war-analysis-n2ayxkwwwkftewh7crwyv4.streamlit.app/
🧠 中身のコード紹介(棒グラフ)
fig, ax = plt.subplots(figsize=(10, 6))
bars = ax.bar(df_selected["Label"], df_selected[metric], color=colors)
# 平均線をチームごとに表示
for team in teams:
team_df = df_selected[df_selected["Team"] == team]
avg_value = team_df[metric].mean()
ax.axhline(
y=avg_value,
linestyle='--',
linewidth=1.2,
color=team_colors[team],
alpha=0.6,
label=f"{team} Mean"
)
🤖 成績予測と開幕現実の比較
簡易的なHR予測モデルを使って、補強選手や注目打者が「どれくらい活躍するのか?」を事前にスコア化してみました。
- 使用モデル:LightGBM
- 目的:2025年HR数を事前に回帰予測(前年度の打撃成績や傾向から)
🔮 予測 vs 現実:印象的だったケース(2025年4月22日時点)
以下は、開幕前の主な選手のHR予測と2025年4月22日現在の実際のHR数を比較した表です。
※予測はLightGBMによる回帰モデルを用いて算出
選手 | 予測HR | 実際(4/22時点) | コメント |
---|---|---|---|
大谷翔平(LAD) | 44.2 | 6本 | やや控えめな滑り出しだが、波に乗ると爆発の可能性あり。 |
フリーマン(LAD) | 28.5 | 4本 | 予測通りの安定感。 |
ベッツ(LAD) | 31.0 | 4本 | 小柄ながらHRも多く、勝負強さが光る。 |
コンフォート(LAD) | 16.0 | 2本 | 想定以上のスタート、復活の気配。 |
エドマン(LAD) | 8.7 | 7本 | 予測を大きく上回る活躍。 |
タティスJr.(SD) | 35.0 | 8本 | 攻撃の中核。すでに存在感が際立つ。 |
マチャド(SD) | 27.0 | 2本 | ややスロースタートだが、巻き返しに期待。 |
テオスカー(LAD) | 25.0 | 5本 | パワー全開。打線の中軸で活躍中。 |
予測と実際の成績を照合することで、モデルの想定と現実のギャップが可視化され、予測精度の課題を定量的に把握できました。
🔬 モデルと特徴量
今回のHR予測は、LightGBM という機械学習モデルを用いて、以下のような特徴量をもとに回帰予測を行いました:
- OPS、AVG(打率)、ISO(長打力)
- 打球速度(Exit Velocity)
- 打席数(PA)、フライ率(FB%)
- 過去3年のHR数 など
🧠 予測精度と今後の課題
トミー・エドマン選手のHR予測は「8.7本」でしたが、
2024年には20本近くのHRを記録し、2025年もすでに7本と絶好調。
モデルは「過去の平均傾向」に強く引っ張られ、
現在のフォームやスタイルの変化までは捉えきれなかったことがわかります。
大谷に関しても去年は打者に専念したことによって、2024年にはHR54本を記録しており、今季も50本近く打つポテンシャルがあると推測されます。しかし、予測では44.2本と低く見積もられています。
こうしたズレはモデル改善の出発点でもあり、
「どの選手で外れやすいか」を分析するヒントになります。
今後は、より直近の傾向や球場要因、打順、フォーム改造や起用法の変化も視野に入れた予測モデルを目指します。
📈 今後の展望
- WARやOPSの予測精度検証
- 補強選手の“成功・失敗スコア”の数値化
- 「予測 vs 実績」の可視化・分析
- 月別成績・トレンド要素の導入
📝 補足:補強フラグの意味
-
New=True
フラグは 2024年以降での新加入選手に付けています。 - 厳密な加入日ではなく、今季2025年にチームへ与える影響を可視化するためのラベルです。
🚀 実行方法(ローカル)
以下の手順で、ローカル環境でも簡単にStreamlitアプリを起動できます:
pip install -r requirements.txt
streamlit run streamlit.py