比章魚哥、名嘴毒奶更靠譜,我有特殊的方法預測世界盃冠軍!

四年一度的世界盃進行到7月2日,8強名額僅剩4席!

如果你和我一樣是一名偽球迷,請先了解以下注意事項:

  1. 本屆世界盃是在俄羅斯舉辦
  2. 一共32只球隊分8個小組,每組前2名進入淘汰賽
  3. 比賽持續一個月
  4. 共64場比賽在俄羅斯多個城市舉行
  5. 沒有中國隊,因為沒出線
  6. 沒有意大利隊、荷蘭隊,因為也沒出線
  7. 是國家隊間比賽,因此沒有巴薩、皇馬、曼聯、拜仁……
  8. 比賽常規時間,上下半場各45分鐘
  9. 淘汰賽階段常規時間打平,進入30分鐘加時賽,再打平才是點球大戰
  10. 梅西是阿根廷的,C羅是葡萄牙的,內馬爾是巴西的,他們都不是西班牙的
  11. 大羅、小羅、卡卡、貝克漢姆都不參加
  12. 世界盃是足球比賽,沒有哈登、庫裡、杜蘭特、姚明~
比章魚哥、名嘴毒奶更靠譜,我有特殊的方法預測世界盃冠軍!

每到世界盃,一項保留節目就是預測當年冠軍,各路大神啦、名嘴啦、章魚啦、貓貓狗狗啦都少不了。這次我也來預測一把。但我不懂球啊怎麼辦?沒關係,我可以用程序!(反正都是蒙唄)日本章魚哥:生前準確率100%已經掛彩,為世界盃最慘預言帝默哀三秒

比章魚哥、名嘴毒奶更靠譜,我有特殊的方法預測世界盃冠軍!

日本章魚哥“拉比奧”

數據來源

這份數據來自 Kaggle,是從1872年到2018年共38929場比賽的結果。我們這次就用這份數據作為預測的基礎。

比章魚哥、名嘴毒奶更靠譜,我有特殊的方法預測世界盃冠軍!

比章魚哥、名嘴毒奶更靠譜,我有特殊的方法預測世界盃冠軍!

另外介紹下 Kaggle,它一個數據科學競賽平臺,強烈建議研究數據分析、機器學習這方面的同學多上去玩耍。

建立模型

有了這麼多歷史比賽數據,要怎麼來預測呢?我建立了如下幾條規則:

  1. 太久遠的數據對於當下球隊的參考價值有限,所以設定一個起始年限
  2. 查找對陣雙方從起始年限至今的對戰數據,並計算
  3. 勝利概率=(勝利場次+平局場次/2)/總場次
  4. 小組賽階段,勝利概率超過一定閾值(比如0.7)的球隊贏,否則為平局
  5. 淘汰賽階段,勝利概率大的球隊贏
  6. 如果兩隊從起始年限至今沒有進行過比賽,就往前再多選取N年的數據(一般出現在參加大賽較少的球隊)
  7. 如果仍然沒有交手過,則以各自對陣本屆盃賽其餘所有球隊的戰績為基礎,分別計算勝利概率。概率高的球隊勝。但如果是小組賽,概率差必須高過一定閾值(比如0.1),否則為平局

賽程模擬

基於以上的規則模型,我們導入數據,通過 Python 程序模擬本屆世界盃32支球隊的64場比賽。

比章魚哥、名嘴毒奶更靠譜,我有特殊的方法預測世界盃冠軍!

這樣就“預測”了比賽的結果。

預測結果

所以,究竟這份代碼 run 出怎樣的結果?

因為不同的起始年限和平局閾值會得到不一樣的結果。我嘗試使用 2006~2016 11個不同年限,和4組N的取值,得到共44組比賽結果。最終奪冠的次數是:

巴西 23 次

西班牙 12 次

德國 6 次

英格蘭 3 次

看來,巴西隊還是毋庸置疑的奪冠熱門。難怪各大菠菜網站都給他們開出最低的賠率。

比章魚哥、名嘴毒奶更靠譜,我有特殊的方法預測世界盃冠軍!

梅西:我1打3

C羅:我1打11

內馬爾:11個打我!


分享到:


相關文章: