段志民 朱盼家
摘 要:盡管足球是目前世界上最受歡迎的體育項(xiàng)目,但相關(guān)研究還沒有達(dá)到與其他專業(yè)運(yùn)動(dòng)一樣的分析水平。本文將從機(jī)器學(xué)習(xí)角度,基于python語(yǔ)言,利用大數(shù)據(jù)思維模式對(duì)英超聯(lián)賽2015—2016賽季的比賽結(jié)果進(jìn)行預(yù)測(cè),在對(duì)數(shù)據(jù)進(jìn)行預(yù)處理后,進(jìn)行相應(yīng)的模型評(píng)估,最后將預(yù)測(cè)結(jié)果與傳統(tǒng)建模分析相比較,比較結(jié)果發(fā)現(xiàn):與傳統(tǒng)模型相比,機(jī)器學(xué)習(xí)算法對(duì)現(xiàn)有足球數(shù)據(jù)的利用并沒有想象中的那么好(傳統(tǒng)模型精度為55%,機(jī)器學(xué)習(xí)算法精度為45%)??梢?,對(duì)于足球賽事而言,由于賽季數(shù)據(jù)的稀缺性(賽季只有38輪次比賽),傳統(tǒng)模型由于立足于邏輯性建模理念,目前來(lái)說(shuō)還是有一定的可取性。
關(guān)鍵詞:足球賽事勝負(fù)預(yù)測(cè) python 機(jī)器學(xué)習(xí) 模型比較
中圖分類號(hào):G80-32 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-2813(2018)11(a)-0191-02
傳統(tǒng)預(yù)測(cè)足球比賽結(jié)果大多數(shù)是基于建立一個(gè)可適用的機(jī)理模型而預(yù)測(cè)比賽結(jié)果,由于一場(chǎng)比賽收集到的數(shù)據(jù)龐大,而傳統(tǒng)的理論模型又無(wú)法完全度量這些變量的重要性程度,預(yù)測(cè)模型和結(jié)果往往會(huì)受到很大的限制,本文選用的模型不同于傳統(tǒng)機(jī)理模型,利用已經(jīng)成熟的機(jī)器學(xué)習(xí)分類算法如加強(qiáng)算法對(duì)比賽結(jié)果進(jìn)行分類,這種分類模型跳出了衡量變量指標(biāo)重要性程度的怪圈,以一種新的角度來(lái)分析思考問(wèn)題。
1 前人相關(guān)工作
Ulmer和Fernandez(2013)通過(guò)研究諸如高斯樸素貝葉斯,隱馬爾可夫模型,多模式樸素貝葉斯,支持向量機(jī)(SVM),隨機(jī)森林(RF)等模型對(duì)從2002賽季到2011賽季10個(gè)賽季的英超冠軍進(jìn)行評(píng)估[1]。Hucaljuk和Rakipovi?(2011)通過(guò)神經(jīng)網(wǎng)絡(luò)算法評(píng)估了歐洲冠軍聯(lián)賽的成績(jī)預(yù)測(cè),其算法預(yù)測(cè)結(jié)果表明,利用機(jī)器學(xué)習(xí)算法進(jìn)行比賽賽事的預(yù)測(cè)是完全可行的[2-3]。Igiri借助SVM算法(2015)研究了影響英冠比賽成績(jī)有關(guān)的因素[4]。
2 數(shù)據(jù)收集與預(yù)處理
2.1 定義問(wèn)題
對(duì)于本次研究主題,問(wèn)題是如何利用已知的足球數(shù)據(jù)運(yùn)用機(jī)器學(xué)習(xí)算法來(lái)預(yù)測(cè)一場(chǎng)足球的比賽結(jié)果—?jiǎng)倨截?fù)。
接下來(lái),我們將進(jìn)行數(shù)據(jù)的收集、清洗、數(shù)據(jù)建模和測(cè)試等一系列的流程。
2.2 收集數(shù)據(jù)
本次數(shù)據(jù)集來(lái)源于2015—2016賽季英超聯(lián)賽的所有比賽數(shù)據(jù),比賽輪次共38輪,場(chǎng)次共380場(chǎng),其數(shù)據(jù)內(nèi)容為主客場(chǎng)球隊(duì)的編號(hào)(team-api)、比賽時(shí)間、比賽編號(hào)、主客場(chǎng)進(jìn)球數(shù)、比賽結(jié)果、主客場(chǎng)球隊(duì)隊(duì)員信息、陣容及各大博彩公司給出的賠率等92個(gè)屬性,故數(shù)據(jù)框?yàn)?80×92的數(shù)據(jù)。
2.3 清洗數(shù)據(jù)
我們獲取了大部分的所需足球數(shù)據(jù)?,F(xiàn)在我們要對(duì)數(shù)據(jù)進(jìn)行清洗,從而為后續(xù)分析研究打下基礎(chǔ)。清洗數(shù)據(jù)是將“原始”數(shù)據(jù)轉(zhuǎn)化為“可利用”數(shù)據(jù)所需的過(guò)程。數(shù)據(jù)清洗包括數(shù)據(jù)清理以識(shí)別異常,丟失或異常數(shù)據(jù)點(diǎn)等。
將數(shù)據(jù)導(dǎo)入后,我們進(jìn)行數(shù)據(jù)的清洗。
(1)校正異常值:遍覽數(shù)據(jù),觀察是否存在數(shù)據(jù)的異常值,如進(jìn)球數(shù)是否為負(fù)或超過(guò)10個(gè)。倘若數(shù)據(jù)異常,我們需要格外審視,判斷其是否真實(shí),后續(xù)的一系列分析都以此為前提而展開。
(2)填補(bǔ)缺失值:在主客場(chǎng)球員編號(hào)部分存在一些缺失值,我們需要自行填補(bǔ)。
通過(guò)統(tǒng)計(jì)該球隊(duì)處于該位置的球員編號(hào)來(lái)獲取其眾數(shù),倘若存在多組相同數(shù)據(jù)(如A球隊(duì)B位置2人同一位置上場(chǎng)次數(shù)相同),我們將考慮距離缺失場(chǎng)次最近的那一場(chǎng)球員編號(hào)。
3 數(shù)據(jù)分析
3.1 劃分?jǐn)?shù)據(jù)集
在機(jī)器學(xué)習(xí)算法中,為了防止模型的過(guò)擬合,我們通常采用將原數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集[7]。其中,訓(xùn)練集用于模型的訓(xùn)練和擬合,而測(cè)試集則用于檢驗(yàn)?zāi)P偷臄M合程度。本次劃分?jǐn)?shù)據(jù)將劃分成兩個(gè)數(shù)據(jù)集:60%訓(xùn)練集和30%測(cè)試集,通過(guò)10次隨機(jī)劃分計(jì)算各次的準(zhǔn)確率后求其平均得到結(jié)果。
3.2 進(jìn)行探索性分析
劃分完數(shù)據(jù)集后,我們將對(duì)訓(xùn)練集進(jìn)行探索性分析,從而對(duì)數(shù)據(jù)有一定層次的認(rèn)識(shí)水平。
我們首先對(duì)主客隊(duì)的進(jìn)球數(shù)和主場(chǎng)勝率期望進(jìn)行統(tǒng)計(jì)。
根據(jù)計(jì)算可知,主場(chǎng)球隊(duì)進(jìn)球數(shù)在0~6之間,均值在1.5左右,大多數(shù)進(jìn)球集中在0~2之間。而客場(chǎng)球隊(duì)進(jìn)球數(shù)在0~6之間,均值在1.2左右,進(jìn)球也多集中在0~2之間。同時(shí),主場(chǎng)勝率期望總體來(lái)說(shuō)在0.1附近,這表明在比賽中,球隊(duì)的主客場(chǎng)次的確起到一定的作用。
接下來(lái),我們對(duì)主客場(chǎng)進(jìn)球數(shù)進(jìn)行了統(tǒng)計(jì),結(jié)果表明,對(duì)于主場(chǎng)球隊(duì),如果其在本次比賽中進(jìn)球在2球及以上,該球隊(duì)有很大可能獲得比賽的勝利,而客場(chǎng)球隊(duì)想要贏得比賽,則需要2球以上(3球)才能鎖定比賽的勝利,對(duì)于平局,數(shù)據(jù)顯示雙方球隊(duì)倘若各自進(jìn)球粒數(shù)在2球以下的話,平局的可能性很大,如果雙方進(jìn)球粒數(shù)在1球及以下,本場(chǎng)比賽很大可能以平局結(jié)束。
3.3 建模分析
3.3.1 機(jī)器學(xué)習(xí)算法建模
本次算法模型采用目前行業(yè)中流行的廣義線性模型(GLM算法)、支持向量機(jī)(SVM算法)、最近鄰算法(KNN)、加強(qiáng)算法等22種算法基于python語(yǔ)言進(jìn)行建模分析,并將上述算法對(duì)訓(xùn)練集和測(cè)試集擬合的結(jié)果進(jìn)行比較。結(jié)果表明,隨機(jī)森林算法(Random Forest Classifier)在本次訓(xùn)練集中擬合程度為100%,測(cè)試集的準(zhǔn)確度為45%,算法計(jì)算時(shí)間為0.4s左右,而Bagging算法訓(xùn)練集擬合程度為98%,測(cè)試集的準(zhǔn)確度為42%左右,算法計(jì)算時(shí)間為0.06s。
3.3.2 傳統(tǒng)建模分析
通過(guò)機(jī)器學(xué)習(xí)算法和傳統(tǒng)模型的初步比較,我們可以發(fā)現(xiàn),雖然機(jī)器學(xué)習(xí)算法在很多時(shí)候相比傳統(tǒng)模型都有著顯然的優(yōu)勢(shì),但對(duì)于足球賽事而言,由于賽季數(shù)據(jù)的稀缺性(賽季只有38輪次比賽),傳統(tǒng)模型由于立足于邏輯性建模理念,目前來(lái)說(shuō)還是有一定的可取性,本次所建立的傳統(tǒng)模型只是最簡(jiǎn)單的一個(gè)模型,就已經(jīng)比目前主流的機(jī)器學(xué)習(xí)算法(隨機(jī)森林等)高出10個(gè)百分比。因而,對(duì)于從事相關(guān)領(lǐng)域的研究者來(lái)說(shuō),進(jìn)行研究時(shí)選擇模型一定要慎重。
4 結(jié)語(yǔ)
通過(guò)上述對(duì)2015—2016賽季的英超聯(lián)賽的比賽預(yù)測(cè)結(jié)果可以得出:與傳統(tǒng)模型相比,機(jī)器學(xué)習(xí)算法對(duì)現(xiàn)有足球數(shù)據(jù)的利用并沒有想象中的那么好(傳統(tǒng)模型精度為55%,機(jī)器學(xué)習(xí)算法精度為45%)??梢姡瑢?duì)于足球賽事而言,由于賽季數(shù)據(jù)的稀缺性(賽季只有38輪次比賽),傳統(tǒng)模型由于立足于邏輯性建模理念,目前來(lái)說(shuō)還是有一定的可取性。
參考文獻(xiàn)
[1] B. Ulmer,M. Fernandez.Predicting soccer match results in the English Premier League[D].Stanford,2013.
[2] Hucaljuk J,Rakipovic A.Predicting football scores using machine learning techniques[A].Mipro,2011 Proceedings of the 34th International Convention[C].2011.
[3] Brooks J,Kerr M,Guttag J.Using machine learning to draw inferences from pass location data in soccer[M].John Wiley & Sons Inc,2016.
[4] C.P.Igiri.Support vector machinebased prediction system for a football match result[J].IOSR Journal of Computer Engineering,2015(3):21-26.
[5] 楊光藝.基于計(jì)量模型與股票市場(chǎng)類推博彩市場(chǎng)的若干性質(zhì)[J].中國(guó)集體經(jīng)濟(jì),2013(7):159-160.
[6] 方弦.博彩公司的秘密:賠率是這樣煉成的[J].數(shù)學(xué)教學(xué)通訊:數(shù)學(xué)金刊,2012(11):4-5.
[7] 陳曉梅.機(jī)器學(xué)習(xí)方法用于二氫葉酸還原酶抑制劑的活性預(yù)測(cè)[D].四川大學(xué),2007.