??????????????????????????????????????????????????????????????????????????????????????????????????? ——作者:Ryan
引子:因本人工作與AI相關(guān)且愛好看球,故寫作此文,初衷是以寫作的方式督促自己持續(xù)學(xué)習(xí)。才疏學(xué)淺,尚多不甚明了處,歡迎探討斧正。
又到了世界杯季,作為真球迷的我很是興奮,然而比我更興奮的是千千萬萬偽球迷。不知道為什么這次賭球之風(fēng)尤為盛行,印象中14年世界杯和16年歐洲杯的熱度遠(yuǎn)遠(yuǎn)不及本屆賽事。
既然大家都認(rèn)同科學(xué)技術(shù)是第一生產(chǎn)力,何不用科學(xué)的方法研究一下足球?如果以勝負(fù)預(yù)測(cè)為研究方向,作為當(dāng)前熱度最高的機(jī)器學(xué)習(xí)技術(shù)是當(dāng)仁不讓的首選武器,預(yù)測(cè)過程可以看成一個(gè)分類過程,整個(gè)訓(xùn)練過程則是一個(gè)以歷程戰(zhàn)績(jī)、博彩賠率、球員能力等數(shù)據(jù)作為特征的有監(jiān)督學(xué)習(xí)。
當(dāng)然,這個(gè)想法早就有了,而且大部分已經(jīng)在代碼層面實(shí)現(xiàn)了。作為一個(gè)研究課題,我們首先來看一看國(guó)內(nèi)外研究現(xiàn)狀。
首先我想說的是預(yù)測(cè)比賽不會(huì)很靠譜,因?yàn)樘卣鬟x擇太難,人為因素也太多,所以做球賽預(yù)測(cè)模型的收益不大,所以也就是搞AI又喜歡看球的才會(huì)折騰折騰??赡苁菄?guó)人比較重視投入產(chǎn)出的緣故,玩這個(gè)的很少,國(guó)外倒是有很多愛好者在公開了他們的算法。
周六外面又陰雨綿綿,正好趁這片刻閑時(shí),挑選互聯(lián)網(wǎng)上傳播最廣的兩套算法來了解一下。
1. Predicting FIFAWorld Cup 2018 using Machine Learning.
這套方法來自肯尼亞投資銀行的分析師Muriuki,他已將代碼托管在github上[1]。
Muriuki的模型比較簡(jiǎn)單,數(shù)據(jù)來源與Kaggle數(shù)據(jù)集,特征只選取考慮了主客場(chǎng)類別的對(duì)陣數(shù)據(jù),類別標(biāo)記是勝平負(fù),以邏輯回歸作為分類算法。其中值得一提的是因?yàn)閿?shù)據(jù)集中存在主客場(chǎng)區(qū)別,而世界杯除東道主外均為客戰(zhàn),為了保持?jǐn)?shù)據(jù)一致性,作者引入FIFA排名,每場(chǎng)比賽中Rank靠前的設(shè)為主隊(duì)(隱藏邏輯是排名靠前的球隊(duì)擁有更多球迷),這是個(gè)有意思的想法,以此為起點(diǎn)可以引申出更多的主客場(chǎng)數(shù)據(jù)處理方法。
作者以70%的比例提取訓(xùn)練集,模型在測(cè)試集上的預(yù)測(cè)準(zhǔn)確率為55%。小組出線形勢(shì)的預(yù)測(cè)結(jié)果為:

現(xiàn)在看來,秘魯、德國(guó)、波蘭已經(jīng)涼了。模型預(yù)測(cè)決賽將在巴西和德國(guó)中產(chǎn)生,最終巴西將捧杯雪恥。針對(duì)德國(guó)隊(duì)現(xiàn)在的狀態(tài)對(duì)此結(jié)果我也表示懷疑。
邏輯回歸是一種比較常用的分類算法,其優(yōu)點(diǎn)是應(yīng)用簡(jiǎn)單,先對(duì)特征向量做線性變換再用sigmoid函數(shù)激活,最后求最大似然;預(yù)測(cè)結(jié)果就是0/1之間的概率,直接明了。缺點(diǎn)是相比其他算法偏差偏高;處理大量特征時(shí)效果不好。對(duì)于線性不可分問題、多分類問題、共線性問題可分別用特征非線性化、softmax和L2正則化加以應(yīng)對(duì)?,F(xiàn)在已存在LR的分布式實(shí)現(xiàn),計(jì)算效率進(jìn)一步提升。以邏輯回歸作為分類算法沒有問題,畢竟特征太少,采用其他算法也有點(diǎn)殺雞用牛刀的感覺。
此模型相當(dāng)粗糙。首先,作者在附文中已明確表示,他不是資深球迷,因此在特征工程上比較偷懶,只有歷史對(duì)陣成績(jī)的特征可以表達(dá)的信息非常有限;其次,數(shù)據(jù)太過久遠(yuǎn),粗略看了一下至少可以追溯到20世紀(jì)40年代,時(shí)效性是個(gè)問題;還有一個(gè)問題是將FIFA Rank作為判斷主客場(chǎng)類別的依據(jù)只在預(yù)測(cè)過程起了作用,在數(shù)據(jù)集中有很多國(guó)際賽事并未以此方法做預(yù)處理。采用什么機(jī)器學(xué)習(xí)算法其實(shí)不甚重要,在這個(gè)問題上特征工程的作用更加明顯。
2. Prediction of theFIFA World Cup 2018 - A random forest approach with an emphasis on estimatedteam ability parameters
此篇論文發(fā)表在arxiv上[2],作者是多特蒙德技術(shù)大學(xué)以Groll為首的AI科學(xué)家。
本文使用02到14年4屆世界杯比賽數(shù)據(jù),比較了三種不同的建模方法——Poisson Regression、Random
Forest和Ranking Method 在預(yù)測(cè)比分中的效果。前兩種基于相關(guān)變量如比分、經(jīng)濟(jì)等對(duì)抗信息建模,第三種方法顧名思義,基于球隊(duì)能力評(píng)價(jià)指標(biāo)如球員實(shí)力、教練水平來建模。模擬結(jié)果顯示后兩種方法擁有更高的準(zhǔn)確率,經(jīng)驗(yàn)證將二者結(jié)合是更好的辦法。最終,本文使用此結(jié)合算法計(jì)算了各隊(duì)在各杯賽階段的獲勝概率。
作者在Introduction中系統(tǒng)介紹了近些年學(xué)者們的研究成果,最初的一個(gè)有效建模策略是基于博彩賠率的建模。之后學(xué)者們發(fā)現(xiàn)可以建立假設(shè)進(jìn)球數(shù)服從泊松分布的統(tǒng)計(jì)模型,最簡(jiǎn)單的方式是附加條件獨(dú)立假設(shè),目前許多研究人員已經(jīng)擺脫了這個(gè)強(qiáng)烈假設(shè),這看起來是更合理的,因?yàn)檫M(jìn)球數(shù)確實(shí)與對(duì)手有較強(qiáng)的相關(guān)性。與此完全不同的建模策略是采用隨機(jī)森林的集成學(xué)習(xí),在Groll在早前發(fā)布的初步研究結(jié)果表明隨機(jī)森林提供了非常令人滿意的結(jié)果[3]。
在數(shù)據(jù)層面,作者綜合考慮了很多方面,最后挑選了如下特征。
1.經(jīng)濟(jì)因素:人均GDP、人口。
2.競(jìng)技因素:賠率(ODDSET)、FIFA排名。
3.主場(chǎng)優(yōu)勢(shì):是否東道主、所在大陸、所在大洲。
4.隊(duì)員結(jié)構(gòu):最大與次大俱樂部隊(duì)友數(shù),平均年齡、歐冠球員數(shù)、異國(guó)俱樂部球員數(shù)。
5.教練因素:年齡、執(zhí)教期、是否與球隊(duì)同國(guó)籍。
在方法層面,作者詳細(xì)介紹了上文提到的幾種建模策略。
1.隨機(jī)森林:隨機(jī)森林和GBDT都是常用的集成學(xué)習(xí)算法,對(duì)此早有耳聞,但遺憾一直惰于深入研究,其基本邏輯是通過建立大量獨(dú)立的CART決策樹后以投票或平均等方式集成各樹結(jié)果,“隨機(jī)”的意思是在每棵樹中隨機(jī)采樣數(shù)據(jù)和在每個(gè)樹枝隨機(jī)提取特征,從而達(dá)到減少過擬合風(fēng)險(xiǎn)的目的。RF與GBDT的主要區(qū)別在于一個(gè)是并行模式,一個(gè)是串行模式。因?yàn)槲恼履康闹饕穷A(yù)測(cè)比分,隨意屬于回歸問題,故采用各決策樹均值作為最終結(jié)果。
上圖為訓(xùn)練后得到的特征重要程度,可以看出FIFA排名和賠率是影響最大的因素。
2.回歸法:作者綜述了各種回歸方法,其中效果最理想的是結(jié)合L1正則化的泊松回歸。進(jìn)球數(shù)服從泊松分布是一個(gè)很傳統(tǒng)的假設(shè),比較隨機(jī)森林之后發(fā)現(xiàn)此方法稍有遜色。
3.排序法:結(jié)合以往比賽進(jìn)球數(shù),結(jié)合泊松回歸創(chuàng)建一個(gè)最大似然估計(jì)模型來對(duì)球隊(duì)能力值參數(shù)進(jìn)行估計(jì)。為了區(qū)分不同賽事和不同比賽年份的影響程度,作者分別引入了兩種權(quán)重。在時(shí)間上借鑒了在放射性元素半衰期的概念,距離現(xiàn)在時(shí)間越久遠(yuǎn)的比賽重要程度越低,考慮到不同比賽的規(guī)模和重視程度不同,引入了FIFA排名計(jì)算方法,按世界杯、洲際杯、預(yù)選賽、友誼賽分別分配權(quán)重。
4.結(jié)合模型:最終作者比較了各個(gè)方法后,將用排序方法計(jì)算的球隊(duì)能力值作為一個(gè)新的特征加入隨機(jī)森林作為最終模型。
最終模型預(yù)測(cè)的各隊(duì)奪冠概率如下:
模型預(yù)測(cè)的各階段各隊(duì)勝率如下:
此文所描述的模型無論在特征工程還是學(xué)習(xí)算法方面看起來都很合理,尤其是在特征選擇上考慮的很全面??赐暾撐挠X得還有幾點(diǎn)沒搞清楚,比如進(jìn)球數(shù)服從泊松分布的背后邏輯?球隊(duì)所在大陸和所在大洲是否有必要區(qū)分為兩個(gè)特征?博彩賠率數(shù)據(jù)結(jié)構(gòu)如何,綜合歐盤、亞盤?由于我對(duì)隨機(jī)森林算法不夠了解,所以后續(xù)有時(shí)間準(zhǔn)備實(shí)現(xiàn)一下文中方法,順便加深一下對(duì)隨機(jī)森林的理解。
注:文中方法與結(jié)論具有隨機(jī)性,本文不構(gòu)成任何博彩建議,好好看球,遠(yuǎn)離賭博~
[1]https://github.com/itsmuriuki/FIFA-2018-World-cup-predictions.
[2]https://arxiv.org/abs/1806.03208.
[3] Schauberger, G. and A. Groll (2018):“Predicting matches in interna- tional football tournaments with random forests,” Statistical Modelling, in press.