🐯 阪神タイガース ARE2026 優勝予測&試合勝率シミュレータ
🐯 阪神タイガース ARE2026 優勝予測&試合勝率シミュレータ
NPB(セ・リーグ)の公式戦日程PDFやWeb速報データを自動取得し、モンテカルロ法による優勝確率・Xデー(優勝決定日)予測、および試合ごとの勝率予想を行う高機能シミュレーションシステムです。
🌟 主な機能
- セ・リーグ 優勝予測モンテカルロシミュレーション (
**npb_simulation.py**)- 10,000回以上の試行による各球団の優勝確率・CS進出確率・平均勝利数の算出
- 阪神タイガースの Xデー(優勝決定日)確率分布 の算出(最有力日のハイライト)
- セ・リーグ全6球団間の直接対決相性マトリックス(例: 巨人の対広島68.8%、阪神の対巨人65.0%など)を全カードに完全反映
- NPB公式ルールに準拠した勝率順位判定(
勝 / (勝 + 敗)) - ダッシュボード形式の グラフ画像 (PNG) 自動保存 (
output/simulation_result.png) - X(旧Twitter)投稿用テキスト の自動生成 (
output/x_post_message.txt)
- 阪神タイガース 試合日別勝率予想 (
**match_predictor.py**)- 残り全日程モード (
**--all**): 残り試合の日別勝率予想一覧と合計見込み勝数をテーブル表示 - 指定日詳細モード (
**--date MM-DD**): 指定日の対戦カード、球場、予想勝率、見どころ分析をカード表示 - 発表済み予告先発の自動反映: 当日および前日発表済みの翌日予告先発投手(名前・投・防御率・勝敗)をWebから自動取得し、マッチアップ補正を適用
- 投手ランク(S/A/B/C)連動の見どころ解説: 登板投手の防御率水準(エース対決 / 好投手戦 / 打撃戦・継投総力戦)と相性を反映したリアルな戦況分析コメントを自動生成
- 仮想先発マッチアップ指定: 「才木 vs 戸郷」「髙橋遥 vs 東」などのエース対決を自由にシミュレーション可能
- 残り全日程モード (
- 4種類の切り替え式予測モデル (
**prediction_models.py**)standard: 標準ハイブリッドモデル(通算40% + 相性40% + 直近20% + 球場 + 先発)recent: 直近15試合重視モデル(現在の勢い・好不調・モメンタムを最優先)matchup: 相性・直接対決重視モデル(今季の直接対決相性を70%の比重で最優先)pythagorean: ピタゴリアン得失点モデル(得失点比率から真の実力を評価)
- 今季のチーム特性・環境補正
- 2026年阪神タイガースの特性(ビジター高勝率 +4.0% / ホーム苦戦 -3.0%)をモデルに反映
- 全自動データ連携 & リアルタイムキャッシュ機構 (
**npb_data_fetcher.py**,**schedule_loader.py**)- 全球団投手マスタ自動取得: セ・リーグ全265名の最新個人成績(防御率・勝敗・登板・WHIP)を自動スクレイピング
- 漢字異体字正規化: 「高橋/髙橋」「山崎/山﨑」などの表記揺れを自動解決
- PDF日程自動抽出:
schedule/配下の公式PDFから全日程を自動抽出 - Webデータ自動スクレイピング: 最新順位、対戦マトリックス、直近15試合成績、予告先発を自動取得
- オフライン時でもローカルキャッシュおよび内蔵データで動作可能
🚀 クイックスタート・実行コマンド集
1. 優勝予測シミュレーションを実行する
bash
基本実行 (10,000回試行、Web最新データ取得、グラフ・X投稿文を自動保存)
python npb_simulation.py
予測モデルを切り替えて実行 (相性・直接対決重視モデル)
python npb_simulation.py --model matchup
直近15試合の好調度・勢い重視モデルで実行
python npb_simulation.py --model recent
試行回数を増やして実行 (例: 50,000回)
python npb_simulation.py --trials 50000
日程開始日を指定して実行 (例: 09-01以降)
python npb_simulation.py --from-date 09-01
2. 阪神タイガースの試合勝率を予想する
① 指定試合日の勝率を予想(公式予告先発を自動取得)
bash
明日・指定日の試合予想(発表済み予告先発・最新投手成績を自動反映)
python match_predictor.py --date 08-23
② 残り全日程の日別勝率予想一覧を表示
bash
標準モデルで残り全試合一覧を表示
python match_predictor.py --all
直近15試合重視モデルで残り全試合一覧を表示
python match_predictor.py --all --model recent
③ 仮想の予告先発を指定してシミュレーション
bash
8/28 巨人戦で「髙橋遥人 vs 戸郷」を指定
python match_predictor.py --date 08-28 --pitcher-ht "高橋遥" --pitcher-opp "戸郷"
防御率を直接指定してテスト
python match_predictor.py --date 08-28 --pitcher-ht "才木" --era-ht 1.65 --pitcher-opp "戸郷" --era-opp 1.95
📊 出力ファイル
実行すると、プロジェクト内の output/ フォルダに以下のファイルが自動出力されます。
ファイルパス内容説明
output/simulation_result.png
セ・リーグ各球団の優勝/CS確率 & 阪神Xデー確率分布のダッシュボードグラフ画像
output/x_post_message.txt
X(旧Twitter)投稿用に絵文字・ハッシュタグを最適化した速報テキスト
output/x_features_post.txt
システムの全機能を紹介するX投稿用文面集(3パターン)
data/standings_cache.json
Webから取得した最新順位、全投手成績マスタ、対戦マトリックス、直近成績のローカルキャッシュ
📂 プロジェクト構成
text
HANSHIN-ARE2026/
├── npb_simulation.py # メインシミュレーションスクリプト
├── match_predictor.py # 試合日別勝率予想スクリプト
├── prediction_models.py # 4種類の切り替え式予測モデルエンジン
├── npb_data_fetcher.py # Webスクレイピング(順位・投手マスタ・相性・直近・予告先発)
├── schedule_loader.py # PDF日程表自動解析・抽出モジュール
├── visualization.py # グラフ描画 (matplotlib) & X投稿文生成
├── schedule/ # NPB公式戦日程PDFファイル格納ディレクトリ
│ ├── schedule_08.pdf # 8月日程表
│ ├── schedule_09.pdf # 9月日程表
│ └── schedule_10.pdf # 10月日程表
├── data/ # 成績データキャッシュ
│ └── standings_cache.json
├── output/ # 生成画像・テキスト出力先
│ ├── simulation_result.png
│ ├── x_post_message.txt
│ └── x_features_post.txt
├── README.md # 本ドキュメント
├── DOCUMENTATION.md # システム詳細仕様・数理モデル解説
└── FEATURES.md # 全機能一覧表
⚙️ 動作環境・依存ライブラリ
- Python 3.10 以上
- 必要パッケージ:
bash
pip install requests beautifulsoup4 pdfplumber matplotlib
コメント
まだコメントはありません。最初のコメントを書いてみませんか?