引擎說明書
版本 v0.29
ZONE 27 Engine
引擎能算什麼 · 不能算什麼。
- 最後檢查
- 2026-05-21
- 引擎版本
- v0.2 · Real At-Bat
- 累積場數
- n = 36 · 51 ingested · CPBL 2026-05-21 起
引擎是什麼
ZONE 27 的引擎是逐打席對決模型,用於估算棒球比賽 的勝率分布。每場虛擬比賽模擬 9 局共 ~70 個獨立打席,每個打席依 投手 K/9K/9Strikeouts per 9 Innings每九局三振率投手 9 局能拿下多少三振。直接反映壓制力,是 ZONE 27 引擎的核心參數之一。▸ League: ~8.5 · Elite: >10.0深入了解 → /methodology · BB/9BB/9Walks per 9 Innings每九局保送率投手 9 局送出多少四壞球。低 = 控球好 · 高 = 容易爆炸。▸ League: ~3.0 · Elite: <2.0深入了解 → /methodology · HR/9HR/9Home Runs per 9 Innings每九局被全壘打數投手 9 局被打多少 HR。壘上有人時被掃,影響爆炸性失分。▸ League: ~1.0 · Elite: <0.7深入了解 → /methodology 推 導 8 種互斥結果(K · BB · HR · 1B · 2B · 3B · GO · FO) 的條件機率,滾亂數選一個,執行壘上推進物理累計分數。
引擎完全在你的瀏覽器裡跑,不連任何伺服器,沒網路也能算。完整方法公開於 /methodology,每一個機率推導、簡化假設與已知限制都寫清楚。
我們用了哪些資料
下列輸入會直接影響模型輸出:
- K/9先發投手每 9 局三振率 · 推導每打席被三振的條件機率
- BB/9先發投手每 9 局保送率 · 推導每打席保送的條件機率
- HR/9先發投手每 9 局被全壘打數 · 推導每打席被打 HR 的條件機率
- 場次身分主場 / 客場 (用於 9 局上下半分配,不含主場優勢加成)
- 基準常數每 9 局期望打席數 = 38 · CPBL 過去 10 年平均
- BABIP 拆分場內球 65% 出局 / 35% 安打 · CPBL 聯盟均值
- 壘間推進規則寫死的條件機率 (1B: 60%/20% · 2B: 50% · 3B: 100%)
▲ 這些數字是估出來的
CPBL 官網 cpbl.com.tw 不公開投手每打席等級的 K/9 · BB/9 · HR/9 真實數字。 ZONE 27 用球速 + ERA + 聯盟平均反推出估計值 · 每位 投手是怎麼估出來的都明白標出 · 不藏。 此外也會自動抓 cpbl.com.tw 官網的 K/9 BB/9 HR/9 排行 · 16+ 達標 投手已自動疊上官方真實數字。
✦ 進階數據 · 整合官方 Trackman 雷達
整合 stats.cpbl.com.tw CPBL 進階數據(Trackman radar)· wOBA-against · K% · 揮空% · 強擊球% · 擊球初速 Avg/Max · CPBL 內部 percentile。 資料直接取自 官方 · 不假裝自己 collect Trackman data。
所有資料來源與引用見 /methodology 第 03 節「接下來要做的」。
引擎算到哪裡
引擎 v0.2 涵蓋投手三項基礎指標(K/9K/9Strikeouts per 9 Innings每九局三振率投手 9 局能拿下多少三振。直接反映壓制力,是 ZONE 27 引擎的核心參數之一。▸ League: ~8.5 · Elite: >10.0深入了解 → /methodology · BB/9BB/9Walks per 9 Innings每九局保送率投手 9 局送出多少四壞球。低 = 控球好 · 高 = 容易爆炸。▸ League: ~3.0 · Elite: <2.0深入了解 → /methodology · HR/9HR/9Home Runs per 9 Innings每九局被全壘打數投手 9 局被打多少 HR。壘上有人時被掃,影響爆炸性失分。▸ League: ~1.0 · Elite: <0.7深入了解 → /methodology) 推導每打席結果。範圍外的事項 — 訪客可在判讀時加上自己直觀調整:
- 打者個別品質所有打者假設為聯盟平均 · 強打線 vs 二軍同樣對待 (這個 gap 最大 · 可能低估真實勝率差距 15-25 pp)
- 球場因素台中洲際(打者球場)與天母(投手球場)使用相同機率
- 投手疲勞 + 牛棚切換假設先發投滿 9 局 · CPBL 實際平均 5.8 局 · 第 9 局 K 率與第 1 局相同
- 守備差異 + 場地天氣BABIP 假設聯盟均值 · 強守備隊伍可降低 ~2-3 pp · 極端天氣未建模
- 打席獨立假設每個打席視為獨立事件 · clutch / momentum / 代打換投決策未建模
完整方法公開於 /methodology · 任何 simplification 都寫得清清楚楚。 當預測明顯偏離時,逐場結果會出現在 公開戰績,對應變數會寫進下一次引擎迭代。
足球引擎 v0.1(Dixon-Coles)—— 2026 世界盃起用 · 跟棒球同一個揭露標準:
- 怎麼開盤兩隊「國際實力分」差距 + 主場優勢 → 換算兩邊預期進球 → Dixon-Coles 比分機率表(對 0-0 / 1-0 / 0-1 / 1-1 這類低比分做修正)→ 加總成 主勝 / 和 / 客勝 三向機率
- 大小球 / 讓球 / 兩隊進球賽事卡上這三個賭徒熟悉的玩法機率,是把「算主勝 / 和 / 客勝」的 同一張比分機率表換個角度再讀一次(大小球 = 加總總進球那條線兩側 · 讓球 = 加總比分差那條線兩側 · 兩隊進球 = 加總雙方都進球的格子)· 跟卡片上的三向 % 同源、零 drift。 老實說:這是我們引擎自己算的機率,不是莊家盤口、不轉賠率、也不是叫你押哪邊—— 數字我們算,你自己判斷
- 實力分是哪來的48 隊的分數是創辦人手工錨定的近似值(量級對齊公開的國際 Elo 排名 · 非即時、非官方)。 老實說:這套近似值的強弱差距壓得比真實 榜單窄 · 大熱門可能被我們系統性低開 —— 校準圖會照實畫出這件事 · 之後由創辦人對照賽果手動修(每次改動都公開記錄)
- 主場規則世界盃是中立場 —— 只有被列為主隊的地主(美國 / 墨西哥 / 加拿大) 拿主場加成,其餘全部中立 0。 老實說:這是看「列名主隊是不是地主」· 不是看比賽實際在哪國場館踢 —— 小組賽地主都在本國踢、大致吻合, 到了淘汰賽主客只是籤表位置,這個近似會有誤差
- 對帳的尺一律算 90 分鐘正規賽 1X2 · 淘汰賽的延長賽 / PK 晉級不影響 這條線 · 和局是真實結果照常評(永不 push · 藏和局 = 偷藏約 1/4 的場次)
- 沒建模的陣容 / 傷兵 / 近期狀態 / 天氣 · 全部沒看 —— 引擎只看實力分 與地主 · 你判讀時自己加上去
完整方法公開於 /methodology · 賽前鎖定的每一場(含機率、實力分、鎖定時間戳)都在 公開戰績 · 任何人可逐場核對。
名詞解釋
5 個 ZONE 27 自己的用語 · 在公開戰績、首頁、賽事頁、/audit 各處出現 · 完整定義在這裡。
- PROVED · 引擎命中
- 賽前引擎指向的 favorite(winRate > 50%)在實際比賽中獲勝 · gold ✓ 記入 /track-record ledger · 視覺權重等同 DIVERGED · 不過濾。
- DIVERGED · 引擎落空
- 賽前 favorite 在實際比賽中輸了 · loss ✕ 等大等亮列入 ledger · 永遠不刪 · 「方法公開」 的物理證據。
- PUSH · 平手或無 favorite
- 罕見 · 兩種:(a) 實際平局 ·(b) 引擎輸出 50/50 · verdict 二元之外的第三狀態。
- 樣本還太少 · 場數不夠
- 場數 < 30 時 · 中獎率容易被運氣放大 · /track-record 會顯示 「樣本還太少」直到累積到 30 場。 進階數據社群的老規矩 · 我們不掩飾。
- RECEIPT · 引擎收據
- 賽後 Tim 親手截圖、把最終比分輸進去 · 公開戰績就多一行 · 全程 Tim 一個人手動 · 不自動化。