段志民 朱盼家

摘 要:盡管足球是目前世界上最受歡迎的體育項目,但相關研究還沒有達到與其他專業運動一樣的分析水平。本文將從機器學習角度,基于python語言,利用大數據思維模式對英超聯賽2015—2016賽季的比賽結果進行預測,在對數據進行預處理后,進行相應的模型評估,最后將預測結果與傳統建模分析相比較,比較結果發現:與傳統模型相比,機器學習算法對現有足球數據的利用并沒有想象中的那么好(傳統模型精度為55%,機器學習算法精度為45%)。可見,對于足球賽事而言,由于賽季數據的稀缺性(賽季只有38輪次比賽),傳統模型由于立足于邏輯性建模理念,目前來說還是有一定的可取性。
關鍵詞:足球賽事勝負預測 python 機器學習 模型比較
中圖分類號:G80-32 文獻標識碼:A 文章編號:2095-2813(2018)11(a)-0191-02
傳統預測足球比賽結果大多數是基于建立一個可適用的機理模型而預測比賽結果,由于一場比賽收集到的數據龐大,而傳統的理論模型又無法完全度量這些變量的重要性程度,預測模型和結果往往會受到很大的限制,本文選用的模型不同于傳統機理模型,利用已經成熟的機器學習分類算法如加強算法對比賽結果進行分類,這種分類模型跳出了衡量變量指標重要性程度的怪圈,以一種新的角度來分析思考問題。
1 前人相關工作
Ulmer和Fernandez(2013)通過研究諸如高斯樸素貝葉斯,隱馬爾可夫模型,多模式樸素貝葉斯,支持向量機(SVM),隨機森林(RF)等模型對從2002賽季到2011賽季10個賽季的英超冠軍進行評估[1]。Hucaljuk和Rakipovi?(2011)通過神經網絡算法評估了歐洲冠軍聯賽的成績預測,其算法預測結果表明,利用機器學習算法進行比賽賽事的預測是完全可行的[2-3]。Igiri借助SVM算法(2015)研究了影響英冠比賽成績有關的因素[4]。
2 數據收集與預處理
2.1 定義問題
對于本次研究主題,問題是如何利用已知的足球數據運用機器學習算法來預測一場足球的比賽結果—勝平負。
接下來,我們將進行數據的收集、清洗、數據建模和測試等一系列的流程。
2.2 收集數據
本次數據集來源于2015—2016賽季英超聯賽的所有比賽數據,比賽輪次共38輪,場次共380場,其數據內容為主客場球隊的編號(team-api)、比賽時間、比賽編號、主客場進球數、比賽結果、主客場球隊隊員信息、陣容及各大博彩公司給出的賠率等92個屬性,故數據框為380×92的數據。
2.3 清洗數據
我們獲取了大部分的所需足球數據。現在我們要對數據進行清洗,從而為后續分析研究打下基礎。清洗數據是將“原始”數據轉化為“可利用”數據所需的過程。數據清洗包括數據清理以識別異常,丟失或異常數據點等。
將數據導入后,我們進行數據的清洗。
(1)校正異常值:遍覽數據,觀察是否存在數據的異常值,如進球數是否為負或超過10個。倘若數據異常,我們需要格外審視,判斷其是否真實,后續的一系列分析都以此為前提而展開。
(2)填補缺失值:在主客場球員編號部分存在一些缺失值,我們需要自行填補。
通過統計該球隊處于該位置的球員編號來獲取其眾數,倘若存在多組相同數據(如A球隊B位置2人同一位置上場次數相同),我們將考慮距離缺失場次最近的那一場球員編號。
3 數據分析
3.1 劃分數據集
在機器學習算法中,為了防止模型的過擬合,我們通常采用將原數據集劃分為訓練集和測試集[7]。其中,訓練集用于模型的訓練和擬合,而測試集則用于檢驗模型的擬合程度。本次劃分數據將劃分成兩個數據集:60%訓練集和30%測試集,通過10次隨機劃分計算各次的準確率后求其平均得到結果。
3.2 進行探索性分析
劃分完數據集后,我們將對訓練集進行探索性分析,從而對數據有一定層次的認識水平。
我們首先對主客隊的進球數和主場勝率期望進行統計。
根據計算可知,主場球隊進球數在0~6之間,均值在1.5左右,大多數進球集中在0~2之間。而客場球隊進球數在0~6之間,均值在1.2左右,進球也多集中在0~2之間。同時,主場勝率期望總體來說在0.1附近,這表明在比賽中,球隊的主客場次的確起到一定的作用。
接下來,我們對主客場進球數進行了統計,結果表明,對于主場球隊,如果其在本次比賽中進球在2球及以上,該球隊有很大可能獲得比賽的勝利,而客場球隊想要贏得比賽,則需要2球以上(3球)才能鎖定比賽的勝利,對于平局,數據顯示雙方球隊倘若各自進球粒數在2球以下的話,平局的可能性很大,如果雙方進球粒數在1球及以下,本場比賽很大可能以平局結束。
3.3 建模分析
3.3.1 機器學習算法建模
本次算法模型采用目前行業中流行的廣義線性模型(GLM算法)、支持向量機(SVM算法)、最近鄰算法(KNN)、加強算法等22種算法基于python語言進行建模分析,并將上述算法對訓練集和測試集擬合的結果進行比較。結果表明,隨機森林算法(Random Forest Classifier)在本次訓練集中擬合程度為100%,測試集的準確度為45%,算法計算時間為0.4s左右,而Bagging算法訓練集擬合程度為98%,測試集的準確度為42%左右,算法計算時間為0.06s。
3.3.2 傳統建模分析
通過機器學習算法和傳統模型的初步比較,我們可以發現,雖然機器學習算法在很多時候相比傳統模型都有著顯然的優勢,但對于足球賽事而言,由于賽季數據的稀缺性(賽季只有38輪次比賽),傳統模型由于立足于邏輯性建模理念,目前來說還是有一定的可取性,本次所建立的傳統模型只是最簡單的一個模型,就已經比目前主流的機器學習算法(隨機森林等)高出10個百分比。因而,對于從事相關領域的研究者來說,進行研究時選擇模型一定要慎重。
4 結語
通過上述對2015—2016賽季的英超聯賽的比賽預測結果可以得出:與傳統模型相比,機器學習算法對現有足球數據的利用并沒有想象中的那么好(傳統模型精度為55%,機器學習算法精度為45%)。可見,對于足球賽事而言,由于賽季數據的稀缺性(賽季只有38輪次比賽),傳統模型由于立足于邏輯性建模理念,目前來說還是有一定的可取性。
參考文獻
[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].中國集體經濟,2013(7):159-160.
[6] 方弦.博彩公司的秘密:賠率是這樣煉成的[J].數學教學通訊:數學金刊,2012(11):4-5.
[7] 陳曉梅.機器學習方法用于二氫葉酸還原酶抑制劑的活性預測[D].四川大學,2007.