本文是作者前一段时间关注足球赛事时做的一点分析,内容涉及基于足球数据进行描述性统计分析、基于机器学习建模与传统的泊松模型建模三大部分,由于文章较长,将分两部分进行展现。
第二部分为机器学习建模部分与传统泊松模型建模部分
5.建模分析
数据科学是数学(即统计学,线性代数等),计算机科学(即编程语言,计算机系统等)和商业管理(即通信,主题知识等)之间的多学科领域。大多数数据科学家来自三个领域之一,所以他们往往倾向于这个学科。然而,数据科学就像三脚凳,没有一条腿比另一条更重要。 所以,这一步需要先进的数学知识。但是不要担心,我们只需要一个更高层次的览概,其余部分的工作已经由其他人代做了。由于计算机科学的普及,很多繁重的工作已经代替你完成了。所以,曾经需要数学或统计学专业的问题,现在只需要几行代码。最后,我们需要一些商业头脑来思考问题。
机器学习(ML),顾名思义,是教机器如何思考,而不是思考什么。虽然这个话题和大数据已经存在了数十年,但是它变得比以往更受欢迎,因为对于企业和专业人士而言,进入门槛更低。这是好的和坏的。这很好,因为这些算法现在可以被更多的人使用,可以在现实世界中解决更多的问题。这是不好的,因为进入壁垒较低意味着更多的人不知道他们正在使用的工具,并可能得出不正确的结论。
目前有许多流行的机器学习算法,但是它们大多可以归结为四类:分类,回归,聚类或降维,这取决于您的目标变量和数据建模目标。本次问题我们将不去考虑聚类和降维,并着重于分类和回归。我们将使用sklearn库中的分类算法来开始我们的分析,并使用交叉验证和评分指标,在后面的章节中讨论,对我们的算法的性能进行排序和比较。
程序如下:
我们将结果保存至result.csv文件中,结果如下:
我们将上述算法结果以图形显示,结果如下:
结果表明,对于上述22种算法,GradientBoostingClassifier算法无论是训练集还是测试集亦或是我们遴选的38个另一数据集的测试结果都是不错的,准确率均达到了95%左右。而在时间花费上,显然排名第二的BaggingClassifier和排名第三的决策树更胜一筹,时间花费在0.05s以下,在数据量较小时,上述三种算法最优选择是GB分类算法,而在处理更大体量的数据时,我们需慎重考虑。
6传统建模分析
由于比赛中足球的进球数服从泊松模型[5],我们建立如下模型:
代入数据,计算模型的准确率,结果如下:
通过机器学习算法和传统模型的初步比较,我们可以发现,机器学习算法不但在模型准确率上大幅超过传统模型,在运算时间上也远远小于传统模型,上述传统模型仅仅是最简单的模型之一[6],其计算时间已经达到了30S左右,虽然不排除python语言对于循环的低效,但与机器学习算法所需时间相比,早已不在一个量级的比较之上了。
7.结论与建议
本文将从机器学习角度,利用大数据思维模式对英超联赛2015-2016赛季的比赛结果进行预测,首先对数据进行预处理和划分,然后对清洗完的数据进行探索性分析,实现对数据的初步认识,再利用现有的算法模型如GB算法、BAGGING算法等22种算法进行建模分析,并进行相应的模型评估,通过评估的比较最终得到相应地最适合的模型,最后将这些模型预测结果与常规的建模分析相比较,比较结果发现:机器学习算法中的GB算法(提升算法),BAGGING算法(集成算法)等无论是训练集还是测试集精度都在95%以上,且计算时长均在1S以内。而与之对应的传统模型无论在模型拟合精度还是计算时长方面均不如人意,精度只有55%左右,相当于支持向量机SVM的拟合精度。
通过上述对2015-2016赛季的英超联赛的比赛预测结果可以得出:机器学习算法可以对现有足球数据进行充分利用,将传统模型中无法考量的很多因素纳入模型之中并显著提升模型精度,为研究者和从事相关行业的人员提供了一种不一样的思考问题的角度和对决定足球胜负因素考量的深层次理解。
本次数据集中由于信息缺失的原因并未将传统的考量指标如射门数、传球数、控球率等考察在内,因而存在部分局限性,如双方上场队员和阵容只有在赛前很短的时间内才会公布,同时比赛中也有变阵的可能性,将来的研究如果能将这些因素考察在内,或许可以使得预测结果更令人信服。
参考文献
[1] Predicting soccer match results in the English Premier League, Stanford (2013)B. Ulmer, M. Fernandez
[2]RakipovićPredicting football scores using machine learning techniques,J. Hucaljuk, A. MIPRO, 2011 proceedings of the 34th international convention, IEEE (2011), pp. 1623-1627
[3]Using machine learning to draw inferences from pass location in soccer, J. Brooks, M. Kerr, J. Guttag . Statistical Analysis and Data Mining: The ASA Data Science Journal, 9 (5) (2016), pp. 338-349
[4]Support vector machinebased prediction system for a football match result,C.P. Igiri,
IOSR Journal of Computer Engineering (IOSR-JCE), 17 (3) (2015), pp. 21-26
[5]《基于计量模型与股票市场类推博彩市场的若干性质》,杨光艺,2013,《中国集体经济》
[6]《博彩公司的秘密:赔率是这样炼成的》,方弦,2012
[7]《机器学习方法用于二氢叶酸还原酶抑制剂的活性预测》,陈晓梅,2007
软件下载地址:
http://lcsjfx.com/SoccerPredictor/DownLoad