最近幾場入球數據有冇預測價值?
「近 5 場入咗好多波」聽落好有說服力,但真正要問嘅唔係最近成績靚唔靚, 而係將近期資料加重之後,下一場預測誤差有冇真係下降。 HKBetNet 入球模型目前以每隊最多近 20 場做主要樣本, 球隊資料採用 180 日半衰期,聯賽基準採用 365 日半衰期, 再用聯賽先驗收縮,避免幾場大勝大敗將模型拉得太盡。
直接答案:近期數據可能有用,但「愈近愈重要」要靠樣本外測試證明
球隊實力會變,教練、正選、傷停、賽程同狀態都唔會永遠固定, 所以完全當三個月前同三日前一樣重要,未必合理。 但另一邊,淨係睇最近 3、5 場又太容易畀偶然比分帶歪。
比較穩陣嘅做法係: 保留一個夠闊嘅歷史窗口,再用時間衰減降低舊比賽權重,最後用聯賽基準做收縮。 HKBetNet 現時 Goal 工具就沿住呢個方向做,而唔係將「近 5 場平均」直接當下一場答案。
如果你想研究另一種近期訊號——xG(預期入球)——係咪真係改善下一場預測, 可以睇 xG 真的可以預測下一場入球嗎?。
近 5 場、10 場、20 場,邊個窗口最好?冇一個固定答案
窗口太短,反應快,但噪音大; 窗口太長,數字穩定,但可能將已經過時嘅球隊狀態留得太耐。 所以 5、10、20 場其實係一個偏差—方差取捨問題。
| 窗口 | 優點 | 主要風險 | 適合用嚟做乜 |
|---|---|---|---|
| 近 5 場 | 對近期轉變反應最快 | 一兩場紅牌、大勝大敗已經可以大幅扭曲平均 | 做短期訊號,唔應單獨做主模型 |
| 近 10 場 | 噪音比 5 場低 | 仍可能受對手強弱與賽程集中影響 | 中短期比較 |
| 近 20 場 | 較穩定,涵蓋更多對手 | 對突然換帥、陣容大改反應較慢 | 適合作主要樣本,再配時間衰減 |
HKBetNet 目前 Goal 工具主要取每隊最多近 20 場, 但唔代表第 1 場同第 20 場權重一樣。 真正將「新資料重啲、舊資料輕啲」做出嚟嘅,係下一節嘅時間衰減。
時間衰減點樣計?用半衰期比「硬切近 5 場」自然
HKBetNet 球隊入球資料目前使用 180 日半衰期。 意思唔係 181 日前嘅比賽突然冇用,而係比賽愈舊,權重逐步下降。
w(t) = 2^(-t / h)
其中 t 係距離預測日嘅日數, h 係 half-life(半衰期)。 當 h=180 日時,一場 180 日前嘅比賽權重正好剩返 0.5。
| 比賽距今 | 球隊資料:180日半衰期 | 聯賽基準:365日半衰期 |
|---|---|---|
| 30 日 | 約 0.891 | 約 0.945 |
| 90 日 | 約 0.707 | 約 0.843 |
| 180 日 | 0.500 | 約 0.710 |
| 365 日 | 約 0.245 | 0.500 |
| 540 日 | 0.125 | 約 0.359 |
呢個設計有一個好直觀嘅分工: 球隊狀態更新快,所以衰減快;聯賽環境變得慢,所以衰減慢。 目前工具 lookback 最長保留到約 540 日, 但舊資料唔會同近期比賽有同等影響。
點解仲要加聯賽先驗?因為近幾場可以好嘈
假設一隊近 5 場突然場均入 3.2 球, 可能真係攻力大升,亦可能只係碰到弱防、紅牌局或者一次性大勝。 如果模型完全跟住近期平均走,λ 好容易衝得太高。
所以 HKBetNet Goal 模型會將球隊近期訊號同聯賽基準做收縮。 概念上可以理解成:
λ_shrunk ≈ 近期加權入球率 × 資料權重 + 聯賽基準 × 先驗權重
目前 Goal 模型嘅聯賽/入球先驗強度設定為 10, 另外主客場亦有獨立先驗處理。 呢個參數唔代表「10 場固定假比賽」咁簡單, 但核心目的係一樣:樣本少或者近期數據太極端時,唔畀模型完全失控。
主客場點解值得另外處理,可以去 主場同作客會影響入球概率嗎?; 想睇五大聯賽本身嘅入球基準差異,就睇 不同聯賽的入球分布一樣嗎?。
近期數據有冇「預測價值」,一定要用同一批未見比賽 A/B 測
唔可以見到近期加權模型喺訓練資料貼得更近,就話佢預測力更好。 正確比較應該固定同一批未見比賽,將幾個版本並排:
| 模型版本 | 近期處理 | 要比較嘅問題 |
|---|---|---|
| A:長期基準 | 較弱或不使用近期加權 | 作 baseline |
| B:固定窗口 | 例如最近 5/10/20 場等權 | 短窗口有冇增量資訊 |
| C:時間衰減 | 近期高權重、舊賽事逐步降低 | 平滑衰減有冇優於硬切窗口 |
| D:衰減 + 聯賽先驗 | 動態訊號再做 shrinkage | 可唔可以減少短樣本過度反應 |
評分唔應該淨係睇「估中幾場」。 如果預測係完整入球分布,可以睇 Log Loss/NLL; 如果係大 2.5 呢類概率事件,可以用 Brier Score; 預期總入球中心值則可以比較 MAE。
近期資訊有增量價值 ⇔ Out-of-sample Error(recent model) < Error(baseline)
呢個驗證邏輯同 xG 樣本外預測價值研究 係同一原則:有相關唔夠,必須睇未見資料誤差有冇下降。
目前證據做到邊一步?而家唔應該扮有長期回測結論
目前 Tool Asset 係 2026/27 賽季早段快照,整體 N=146。 現階段可以公開工具現行窗口、時間衰減同先驗設計, 亦可以做當前描述統計;但要回答「近 5/10/20 場邊個長期最好」 或「180 日半衰期一定優於其他參數」,仍然要加入更多歷史賽季, 用固定時間切分做完整樣本外回測。
所以呢頁而家最合理嘅結論係: 近期資料值得建模,但現有早段快照未足以證明某一個窗口或半衰期長期最優。
呢個寫法可能冇「近 5 場最準」咁吸引,但對模型研究先係負責任。
編輯研究經驗:最近 5 場最容易令人睇到「狀態」,亦最容易睇錯
HKBetNet 整理球隊近期數據同做工具 QA 時, 最常見嘅誤讀係將一段好短嘅結果當成新常態。 例如一隊最近 5 場入球突然升好多, 我哋第一時間唔會直接拉高下一場 λ, 而係先睇對手強弱、主客場、紅牌、十二碼、早段領先同大比分異常值。
另一個實際問題係賽程。 最近 5 場可能全部都係聯賽中下游對手; 再之前 5 場反而連續對強隊。 如果只用一條「近 5 場場均入球」, 你其實將賽程難度同球隊真正狀態撈埋一齊。
所以我哋比較偏向「近期權重逐步提高」而唔係「過咗第 5 場就完全唔計」。 呢種做法未必永遠最好,但至少個假設比較連續, 而且可以用樣本外誤差直接驗證。
學術研究點睇「球隊狀態會隨時間變」?
Dixon & Coles(1997)嘅經典足球比分模型已經將球隊表現視為動態問題, 而唔係假設一隊波成季都有同一固定強度。 之後 Rue & Salvesen(2000)用 Bayesian dynamic generalized linear model, 直接估計球隊攻守能力隨時間點樣變。
Koopman & Lit(2019)再用 score-driven time-series model 更新球隊隨時間變化嘅參數,並喺多個歐洲聯賽做樣本外預測比較。 呢類研究共同支持一個方向: 足球球隊強度會變,模型有理由讓新資料影響得更快,但具體更新速度應由預測表現決定。
更新近年研究亦有更彈性做法。 Macrì-Demartino、Egidi & Torelli(2026)提出 Bayesian weighted dynamic model, 讓模型按球隊同時期自動判斷舊資料應該保留幾多, 尤其適合處理轉會窗、換帥等結構性轉變。 呢個方向亦提醒我哋:固定「近 5 場」只係其中一種簡化,唔係唯一答案。
- Dixon & Coles (1997):Modelling Association Football Scores and Inefficiencies in the Football Betting Market
- Rue & Salvesen (2000):Prediction and Retrospective Analysis of Soccer Matches in a League
- Koopman & Lit (2019):Forecasting football match results using score-driven time series models
- Macrì-Demartino、Egidi & Torelli (2026):Bayesian weighted discrete-time dynamic models for association football prediction
HKBetNet 自己嘅資料處理、參數凍結同回測更新原則,可以再睇 編輯與研究方法。
限制與不能推出的結論
- 目前 Tool Asset 係 2026/27 賽季早段快照,整體 N=146,唔足以證明某個近期窗口長期最優。
- 近 5/10/20 場係研究窗口,唔係「場數愈少愈準」或者「20 場一定最好」嘅結論。
- 目前 180 日球隊半衰期、365 日聯賽半衰期係已凍結工具參數;要改參數應先做樣本外回測,而唔係睇幾場結果就調。
- 時間衰減只處理資料新舊,唔會自動解決對手強弱、紅牌、傷停、賽程或聯賽差異。
- 近期結果有相關唔代表對下一場有增量預測價值。
- 聯賽先驗可以減少短樣本波動,但先驗過強亦可能令模型反應太慢。
- 模型概率唔係投注建議,更加唔係保證盈利。
下一步:由近期狀態連去 xG、主客場同球隊入球
「最近幾場」只係其中一個訊號。 真正落到一場波,通常要同 xG、主客場、聯賽基準同球隊入球模型一齊睇。