在建立預測模型的過程中,評估模型的質量是關鍵步驟之一。這不僅需要衡量指標容易理解,還要具有廣泛的適用性。在訓練模型、選擇參數或進行交叉驗證時,我們常用多種性能衡量指標,例如 Accuracy(準確率)、F1 Score(F1分數)或 Log-loss(對數損失)。
這些衡量工具雖然操作簡便,但解讀其結果(如 Log-loss 為 -0.93 或 Accuracy 為 10%)卻難以判斷模型的優劣。
本文將討論,單靠數字評估足球預測模型的表現是不夠的。我們將引入「Benchmark」(基準模型)這一概念,這是判斷模型是否從數據中有效學習的關鍵。
需要基準模型的原因
Log-loss 和 Accuracy 是評估足球預測分類模型常用的兩種指標。Log-loss 評估模型預測概率的準確性,但因類別數不同,其標度亦會有所變化,這使得將模型表現與 Log-loss 值直接關聯變得複雜。而 Accuracy 較為直觀,例如模型預測的準確率為 75% 很容易理解,但這是否意味著模型表現良好?
讓我們以一個假設來解釋:如果你的窗外 90% 的車都是白色,你教一個深度學習模型預測車的顏色,結果它總是預測「車是白色」,其 Accuracy 達到 90%。然而,這並不意味著它是一個優秀的模型。相反地,若僅透過觀察窗外的車輛顏色就能達到同樣的預測效果,則表明此模型並未提供額外的預測能力,即作為一個基準模型,它的表現並不出色。
因此,擁有一個基準模型對於驗證你的預測模型是否有效利用數據學習至關重要。
足球模型的基準
在足球預測中,我們可以預測多種賽事結果,如全場比分、半場比分、首個進球隊伍及進球數等。為每種預測建立一個基準模型有助於統一評估方法。
以之前的汽車顏色預測為例,我們同樣可以為足球賽事建立基準模型。不過,我們不會親自觀看所有比賽來判斷最常見的結果,而是利用數據分析過去的比賽記錄,從中提取出最常見的賽果。這種方法基於歷史數據的簡單模型。
舉例來說,在某一特定聯賽的過去 100 場比賽中,主隊勝率為 45%,客隊勝率為 30%,平局機率為 35%。這樣的歷史數據可以生成一個 Log-loss 為 -1.06 的基準模型。相較之下,一個完全隨機的預測模型的 Log-loss 值為 -1.098。
例子
讓我們進一步分析一個具體例子。這裡的數據涵蓋了15,000 場比賽,這些比賽涵蓋了 643 個不同的聯賽。首先,我們根據過去 1000 場比賽的結果計算了每場比賽日期的歷史勝率概率。
接著,我們使用預測模型的概率和最新的歷史概率來計算每場比賽的 Log-loss,並使用 1000 場比賽的滾動平均值來分析 Log-loss 的變化趨勢。我們還加入了隨機基準的比較,從而展示了各模型的 Log-loss 變化情況。預測模型的表現超越了歷史基準模型,顯示其能夠從數據中學習到有用的信息。此外,相比隨機猜測,歷史模型是一個更好的基準。
總結
通過本文我們認識到僅憑性能數據來評估足球預測模型的質量是不夠的。使用基準模型有助於判斷預測模型是否真正從數據中學習了有用的信息。歷史模型作為一種基準,能夠清晰展示出模型相對於聯賽平均結果的表現,這種方法既通用又易於計算,也可擴展至任何市場。此外,你還可以使用其他模型或自訂基準來進一步驗證你的模型預測的效能。