天天看點

pytorch 模型同一輪兩次預測結果不一樣_從0構造一個足球預測模型

在《足球賽果預測方法與機器學習的分享》提到建構預測模型的一般步驟,從定義問題->确定要處理的資料->整合成算法邏輯->回測鍊條完成預測模型,今天小編就照套路完成前面兩部完成一次預測模型的嘗試。

定義問題

足球标準賽果有勝/負/平,在一些玩法當中也接受半場結果還有比分結果等方式。既然從零開始,就從最簡單的标準玩法做起。衆所周知,足球是有主場優勢的——即“勝”這個賽果更容易打出來,有了這個先決條件,定義需要預測的問題變成了:預測一場比賽,主勝賽果能不能打出。

需要處理的資料

定義好了問題,下一步就是需要處理資料。第一步顯然考慮先縮小比賽範圍,再去考慮處理的資料。找到2019-2020賽季五大聯賽主勝比例如下表 

聯賽 主勝比例
法甲 48%
英超 45.3%
西甲 45.8%
意甲 41.6%
德甲 40.2%

當然,這裡的法甲由于疫情原因并沒完成整個賽果。縮小範圍考慮,先選擇西甲比賽作為研究對象吧。确定了問題就是“尋找主勝”,在搜尋引擎内尋找資料觀察同類型的會有什麼特點。這裡貼出觀察到的比賽交易量結果如下:

pytorch 模型同一輪兩次預測結果不一樣_從0構造一個足球預測模型

觀察到2020-10-19的3場西甲比賽,一眼看來我們可以發現,主勝成交量占比高的情況下,賽果打出來了,平局的一場比賽也反向印證了一點。

到這裡不禁反問,就憑3場比賽就找到特征,這也太便宜了吧?當然不是,還需要更具體的案例再觀察上面産生的猜想——主勝交易額占比高,主勝容易出。

帶着疑問,再回查2020-10-04西甲的比賽資料:

pytorch 模型同一輪兩次預測結果不一樣_從0構造一個足球預測模型

圖檔來源網絡,如有侵權,請聯系删除

這裡發現了3場當中有2場依然是交易額比較高的情況下打出了賽果,結果025這場次并沒有和猜想一樣打出主勝。

産生新的問題後,處理的案例添加一個新的分之,交易額占比高,但賽果不是主勝會有什麼特征?

pytorch 模型同一輪兩次預測結果不一樣_從0構造一個足球預測模型

圖檔來源網絡,如有侵權,請聯系删除

答案可能藏在大額交易的表現上面,當一場比賽連續低價大額賣出,尤其越接近比賽前的的交易,表明并不看好這個賽果能打出來。

隐含的邏輯

通過上面的兩步,得出了一個簡易的主勝預測模型:

  1. 西甲比賽中交易額主勝方向占比占據大部分 65%+;
  2. 臨場不能出現連續大額賣出;

根據這兩個條件,可以選出一定的比賽預測為主勝。但要注要的是,如果毫無因果關系的相關關系,是無法得穩定的得出結論的。基于觀察到的現象,大膽提出一個假設,市場中的交易行為會追随能獲利的方向。

在這個觀點前提下,當主勝方向的交易額比較高的時候,可以推斷得有這些可能:要麼是主隊更大可能獲勝,市場各方對主隊價格(賠率)認知不一,容易交易獲利。

即使有其他例如其他買家轉移風險考慮,連續的賣出行為可以認為是在規避該賽果打出基于這個認知,我們鎖定了主勝交易占比一定比例,并在沒有連續賣出主勝的情況可以預測為主勝。

階段小結

總的來說,構造自己的模型就是一輪又一輪的定義問題,并收集資料解決問題的過程,文章中提出的簡易模型具體門檻值堅定定義,如果需要精準的數字,還需要更大規模的收集整理資料。這個過程需要不斷的重複上述步驟達到最終的可用狀态。

如果覺得太繁瑣,可以嘗試關注本公衆号直接發送“預測”來擷取預測結果,詳細可以點使用方法檢視本公衆号介紹哦!