直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

話說,最近的世界盃依然還在如火如荼地進行著。嗯,其實,作為一名直女,我想說的其實是,what?居然,還沒有結束?!我怎麼感覺世界盃已經踢了一個月了,有完沒完啊!

而最近這段時間簡直堪稱是直男們的節日,八姐的好幾個閨蜜已經說了,尼瑪,世界盃簡直讓男人們都魔怔了,晚上不睡覺看球,讓她們一天誕生了無數次想休夫的念頭。你以為看個球就夠了嗎?直男球迷們的瘋狂你永遠都難以想象,特別是懂技術的直男。八姐聽說,一位在樂信上班的程序員,不僅看球,還一本正經地用自己的AI技術來預測世界盃,那可真是不眠不休。

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

事情是這樣的。這位程序員是在樂信專門做金融反欺詐AI引擎的,然後,他就翻了好幾天的歷史數據,整理出了將近50個緯度,預測世界盃結果。八姐也不懂,他預測的冠軍是比利時,你們覺得靠譜嗎?更有趣的是,這位程序員其實是個94年的小哥哥,本來應該各種花前月下牽著妹子的手的,但他卻一臉嫌棄地拒絕了妹子幫他加班的請求,原因只是因為妹子不懂球。。。what?真是,直男心,海底針,直男碼農的世界你永遠不懂啊。

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

因為這個程序員是專門做金融反欺詐AI引擎的,所以,他就拿自己的工作研究成果來預測世界盃,然後用三天時間廢寢忘食算出了各個球隊取勝的概率。為此,他還專門寫了一篇文章梳理了自己的推演過程。有懂技術的盆友說他預測得真心還有點意思。八姐也看完全文了,整個推理過程感覺上確實是有點意思的(嗯,我絕對不會告訴你,其實我完全看不懂一臉懵逼。)

好啦不廢話啦,發來這位碼農寫的預測全文,順便藉此測試一下俺這個賬號的直男粉絲到底有多少,哈哈。。

世界盃打到四強,關注度越來越高。誰是冠軍?有理性的人,也有陰謀論者,似乎每個人都有內幕消息,但說來說去,都是一句“聽說”。今天,我就來告訴大家,如果靠機器算,誰是冠軍。

以下觀點僅代表我個人,不代表我所供職的樂信AI Lab,不對大家購買彩票的結果負責。天台風景雖好,想想家中妻小,賽前分析猛如虎,不如感覺更靠譜。

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

01

先說原則

從足球的角度來說,世界盃開賽前,奪冠賠率前四的球隊——德國、巴西、西班牙和阿根廷都回了老家,最令人想不到的就是穩如德國,竟也應了最近幾屆世界盃衛冕冠軍小組不出線的魔咒。這都正中了那句“大熱必死”的俗話。

如果拋開偶然因素,僅從紙面分析,這些強隊輸的冤不冤?敵暗我明,技戰術吃透,擺大巴密集防守,遇上強隊,所謂的弱隊有100種方法,讓他們生不如死,從這個角度看,強隊輸的一點也不冤。

我的結論,是蒐集了從2002年韓日世界盃到本屆世界盃,8強球隊的近50個維度數據依靠機器學習計算出來的。不接受抬槓,但願意和我討論技術的,十分歡迎。

02

學習一下

在做模型之前,碼叔在網上做了一些功課,搜索了各類預測方法和結果,其中有一篇用Python分析的熱度頗高。

選幾個圖給大家看看(侵刪):

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

世界盃歷史勝場榜

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

世界盃歷史進球榜

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

2018世界盃32強歷史勝場榜

這還只是一小部分。

說實話,這篇預測收集了從1872年至今的數據,確實比碼叔多多了,但遺憾的是,這些數據都是獨立的,沒有經過任何處理,就直接被用在了最後的結論上,並不像預測,而是數據排序。很顯然,類似德國、巴西、阿根廷這樣的傳統強隊,一定是最後的奪冠大熱門。

舉一個通俗的例子吧,你有10000塊,我有100塊,存在同一家銀行,不論過多久,我都不會比你有錢,這與我努不努力不相干,只因為祖上不行。

說這些,我並沒有任何不敬的意思,也沒有貶低Python的意思(畢竟PHP是世界上最好的語言嘛,手動滑稽),只是討論方法。我認為影響足球比賽的因素和歷史數據確實有較大關聯,但更重要的是,這支球隊近年來的表現,就好比烏拉圭有兩次世界盃冠軍,法國只有一次,但最終法國2:0完勝烏拉圭。畢竟烏拉圭的冠軍距今都快100年了,富不過三代嘛。

03

我的結論

現在開始說我的計算,從結果看,4強中比利時隊擁有更大的概率獲得冠軍,法國和英格蘭基本持平,克羅地亞稍稍下風。

04

我的過程

我選用的是近年來被炒得非常火熱的機器學習,在建模的過程中,一般會有以下幾個步驟:樣本收集、特徵處理、訓練模型、預測結果,接下來詳細說一下這幾個步驟。

機器學習,其實是一個從已有的數據中發現和學習潛在規律的過程。我認為,世界盃冠軍的預測,其實就是從過去的比賽中,分析出結果與特徵的關係,讓機器學習到一個函數y= f(x), 其中y是隊伍的得分,x是隊伍的特徵。

因此,我搜集了2002年至2014年四屆世界盃八強的數據,規定前四名分別得分4 、3 、2 和1,未進入四強的隊伍得0分,這樣共得到32條數據,再結合這32條數據當屆世界盃的其他特徵,作為訓練集。

選哪些特徵呢?一方面,是比賽特徵,包括控球率,射門和射正比,傳球成功率等,另一方面就是球隊特徵,例如在國際足聯的排名,歷史最佳排名,近4年最佳排名,球員平均年齡,頂級聯賽球員比例,球員身價,教練勝率等,最後就是球隊所代表的國家特徵,來自哪個大洲、國家GDP世界排名等等。

思考

哪些維度最重要?這是個有意思的話題,計算後的發現讓我有點驚訝,如果真的僥倖中了,我會再寫一篇單獨分析。

雖然從機器學習的角度來說,數據仍然顯得有些少,但仔細數一數,也有將近50個了(這個過程花了碼叔整整3天啊~~~本來組裡有個妹子發現我偷偷搞這個,硬要陪著我加班幫我搜集數據,我覺得她是個球盲,什麼也不懂,很礙事,就讓她先回家了,現在想想,我是不是錯過了什麼)。

說仔細一些,我發現進入歷屆世界盃八強的隊伍,主要是歐洲和南美洲的球隊,而中北美洲、非洲、亞洲的球隊很少(在此鳴(bi)謝(shi)亞洲某世界盃四強隊),因此我將大洲分為歐洲、南美洲和其他三種,使用one-hot編碼(用三個特徵,分別表示球隊國家所在的大洲是否是歐洲、南美洲、其他大洲,是的話為1,否則為0,這樣對每一個球隊來說,這三個特徵只有一個是1,其他兩位都是0)。

我先計算了特徵與得分之間的皮爾森係數,係數絕對值越大,說明特徵與得分相關度越高,根據皮爾森係數,篩選出一些相關度比較高的特徵進行建模。

訓練模型方面,我用了現在使用較為廣泛的隨機森林模型。隨機森林是一種集成學習算法。

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

如上圖所示,隨機森林是由很多棵決策樹構成的一片“森林”,對於一個樣本,“森林”中的每棵“樹“都會給出自己的預測結果,然後所有“樹”根據民主方式進行投票,決定最終預測結果。

例如在分類問題中,共有10棵樹,8棵樹預測為A,2棵樹預測為B,則投票結果顯示為A。

在訓練模型時,因樣本數量有限,我將每棵樹深度設置的較淺,並且通過限制葉子節點的樣本數目進行剪枝。

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

圖中沒有子節點的節點被稱作葉子節點,每個樣本,從根節點開始,判斷是否滿足每個節點的條件,如果滿足條件,則進入左側節點,否則進入右側節點,最終會落入一個葉子節點,葉子節點的value就是這棵樹對該樣本的預測值,所有樹預測值的平均值,作為預測的最終得分。

用這個方法,最後四強球隊的得分分別是:

球隊

得分

法國

0.85

比利時

2.85

英格蘭

0.85

克羅地亞

0.53

從這個角度看,比利時將會奪冠,也就是說,華帝的錢,真不一定退的出去。

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

足球是圓的,就像誰也不會想到德國會輸給亞洲某世界盃四強隊一樣,這個結論我也不知道準不準,但是我用這個方法驗算了2014年世界盃的結果,發現……是準的。

直男碼農居然用AI預測世界盃冠軍,看完推理全程的我徹底懵逼了

2014年的八強,德國奪冠概率明顯高於其他隊伍

05

寫在最後

用“隨機森林”預測世界盃結果的準確性,關鍵在於數據量以及數據的維度,否則結果可能大相徑庭。

前不久,世界頂尖投行高盛也通過這種方法,預測了本屆世界盃結果,而他們的結論是:

巴西最終奪冠的幾率為 18.5%,高於法國 11.3% 和德國 10.7%;西班牙和阿根廷表現低迷,在四分之一決賽被淘汰;德國和巴西將分別在半決賽中擊敗葡萄牙和法國晉級。

從當前賽況來看,高盛的預測可以說是一塌糊塗。

問題出在哪兒?主要是因為高盛用了更少的參數。他們將數據參數嚴格限制在球隊和個人級別的指標上、最後只有五個主要指標或者變量,分別是:球隊評級、球員評級、球隊近期表現、對手近期表現和球隊近期進球勢頭。

數據維度不科學,怎麼可能準的了!高盛已經不是第一次踩坑。2010 年世界盃,高盛預測總決賽巴西對德國,結果奪冠的是西班牙;2014 年又說巴西會奪冠,而且概率高達 48.5%——哪想到巴西在半決賽被德國 7:1 血洗……

如果說,碼叔這回的預測是對的,那我是不是應該立馬辭職去投行或者博彩公司?!支持的朋友點個贊。

附:

各大電視臺、投行和博彩公司預測結果:

ESPN 多數專家(下同):巴西

FOX Sports:巴西

BBC:德國

央視體育:巴西

瑞銀 UBS:德國

大部分博彩公司:巴西


分享到:


相關文章: