預測建模中,最重要的步驟之一是衡量你的模型質素。更重要的是,你需要一個既容易理解又可以普及的衡量方法。目前有很多指標可以用來訓練模型、選擇參數或進行交叉驗證。其中,對於分類問題,我們可以提到準確率、F1得分或對數損失。
雖然它們相對容易使用,但要理解對數損失為-0.93或準確率為10%意味著模型是好還是壞的預測器並不總是那麼簡單。
在本文中,我們將顯示足球預測模型的表現數字不足以判斷其質量。我們將介紹一個基准的概念,這是理解模型是否真正從數據中學習的必要條件。
我們已經介紹了對數損失和準確率,這是足球預測中用於分類模型的兩個性能指標。
對數損失為你提供了模型產生的概率的質量度量。但這種損失根據類別的數量而有所不同。因此,不容易將模型的性能與對數損失的尺度相關聯。
準確率沒有這個問題。事實上,很容易理解你的預測有10%是正確的。但這是否意味著你的模型好還是不好?如果你有一個二分類問題,可能不是。如果你有100個類別的問題呢?事實上,即使你知道類別的數量,你也不能回答這個問題。讓我們解釋為什麼。
假設你窗前經過的汽車有90%是白色的,我們教一個深度神經網絡模型來預測下一輛汽車的顏色。如果模型最終始終預測“汽車是白色的”,其準確性將達到90%。但這並不意味著它是一個很好的模型。此外,你可以看著窗外,觀察到大部分汽車都是白色的,然後預測下一輛汽車將是白色的。你將獲得與深度神經網絡相同的性能。在這種情況下,你會得出模型是差的結論,因為你可以達到相同的性能:你作為一個基准。有一個基准是確定模型質量的好方法。如果不超越基准,則意味著模型是差的,或者你試圖從數據中預測的內容太隨機,無法學到。這明顯是誇大其詞,但它給你了一個基准模型的概念:在這種情況下,這是你看著窗外的模型。
足球模型的基准 在足球中,我們可以預測很多事件:最終得分、半場得分、第一支進球的球隊、進球數等等。為其中的每一個都設定一個基准,將有助於衡量模型的質量。
正如我們為汽車的例子所做的那樣,我們可以為每個市場建立一個基准。顯然,你不打算觀看所有的比賽並計算哪些事件更常見。與其這樣,不如我們使用數據,查看過去的比賽,並找出最常見的結果。這是一個簡單的歷史模型。
例如,對於某一特定聯賽的過去100場比賽,我們觀察到主隊贏了45%的時間,客隊30%,並且打成平局35%。這將給我們一個對數損失-1.06。相比之下,隨機對數損失是-1.098。
隨機模型也是一個可能的基准,但這不公平。例如,我們知道主隊贏的時間超過33%的時間,所以這種知識應該在基准中。範例 讓我們使用一個模型和比賽結果來舉例。數據由sportmonks’提供。我們使用它們的1×2市場的概率。
我們收集了2021年10月至12月之間的15000場比賽,分佈在643個聯賽中。比賽和對數損失都是按時間順序排列的。首先,我們使用每個日期前1000場比賽的平均結果計算基准概率。下圖顯示了這些歷史概率隨時間的變化。
歷史概率的1、X和2的變化 例如,在2021年12月底,我們測量到主隊贏的概率為39.5%,輸的概率為31.5%,打平的概率為29%。隨機基准將是每個33%。然後,使用預測模型的概率和我們新鮮的歷史概率,我們計算每場比賽的對數損失。然後我們取1000個觀察值的滾動平均值。我們還加入了隨機基准。下圖顯示了對數損失的變化。
每個模型的對數損失的演變 我們觀察到預測模型的性能優於基准,這意味著它能夠從數據中學到有用的信息。我們還注意到,歷史模型比隨機猜測更好的基准。聯賽可預測性指數 聯賽可預測性指數(LPI)是一個衡量模型對數損失與歷史基准之間的指標,由sportmonks用來評價其模型。每天,對於每個聯賽,會計算每個事件在最近100場比賽中的模型對數損失,或者如果數據不可用,則至少有50場比賽。基准的對數損失是根據相同數量的比賽計算的,但不是使用聯賽的平均市場結果。然後,模型的質量根據其對數損失級別(ℓ)與基准的百分比數量被分類為差、中、好或高。下表顯示了我們所有模型使用的數字。
可預測性指數分類 例如,如果基准的對數損失是-1.01,而我們的模型對數損失是-0.98,對於某一特定聯賽,可預測性指數將是中。如果我們的模型對數損失是-0.94,索引將是好,如果它超過-0.93425,索引將是高。
結論 在這篇文章中,我們討論了為什麼僅有性能指標不足以評估足球預測的模型質量。事實上,使用一個普通的基准將有助於理解模型是否真正從數據中學到有用的信息。歷史模型似乎是一個出色的基准,因為它會告訴你一個模型在性能方面與聯賽的平均結果相比是如何做到的。它是普遍的,易於計算,且可擴展到任何市場。或者,你可以使用另一個模型或你自己的基准,這將幫助你了解你的模型預測是否真的有表現。