王译启,赵泓润,赵虹雯,徐熙晨
(南京信息工程大学 a.长望学院; b.自动化学院, 南京 211800)
足球赛事在全球热度高、受众广,对足球比赛结果的预测是各大体育赛训组与足球彩票的关注焦点。自1990年开始,欧洲博彩公司就尝试利用数学模型对足球比赛结果进行预测,认可度较高的有进球率比较预测法、埃罗预测法和最近六场胜绩预测法。随着研究的深入,数学分析方法的价值不断体现,数理统计也开始运用于足球分析领域。比较具有代表性的有基于模糊综合评价、决策树、Logistic回归分析模型、盘口数据、证据理论的足球赛事预测方法等。
国内外学者针对该领域进行了大量的研究。曹科枢运用模糊综合评价法,分析主客场战绩、球队状态、天气等多重因素,得到综合评价指标体系,应用最大隶属法确定评价权数,处理数据确定两支队伍胜负平的概率[1];闵芳等对数据集使用C4.5算法生成决策树,以获得大致的胜负区间范围,其数据集包括进球率和球队近5场积分2个属性值[2];吴兴群对球队积分、进失球等比赛数据进行主成分分析,取出干扰因素后建立 Logistic 回归模型,预测足球比赛结果[3];敖希琴等利用Python工具爬取比赛盘口赔率数据,进行预处理和相关分析并建模,最后用实际结果验证预测模型准确率[4];杨彦超的证据理论方法可在输入数据不全面或影响因素存在矛盾时也分析出比赛结果不确定性[5]。贝氏模型偏重历史战绩,变量较少;模糊综合评价法偏重数据获取,原始数据繁杂;决策树C4.5算法偏重胜负预测;Logistic 回归方法偏重考虑历史比赛数据;敖希琴等人选择的盘口数据偏重于基于已综合各种因素的结果性数据进行分析。本文基于传球网络分析提取传球因子,结合伤病、主客场等影响因子,搭建BP神经网络(Back Propagation Neural Network, BPNN)模型对足球比赛的胜负预测,并与随机森林(Random Forest, RF)和梯度提升决策树(Gradient Boosting Decision Tree, GBDT)进行精度对比与结果分析。
社会网络分析(Social Network Analysis, SNA)是一种基于图论等数学方法的社会学定量分析方法,是一种调查社会系统汇总的特征与联系,并探讨网络关系特征的方法与技术[6-8]。网络衡量节点及节点间的关系,社会网络衡量社会行动者及其相互影响[9-11]。对于足球而言,球员之间的交互通过传球呈现。在社会网络分析的视角下,球员被抽象成点,球员间的传球被抽象为线[12,13]。点的入度与出度表现了球员传球与被传球的次数。根据传球网络图,可以利用网络密度、最大中介中心度和EI指数度量球队的传球特征。各个指标的具体定义如下网络密度是整体网研究中心的概念,是用于度量网络中整体节点关联性的指标。网络密度越大,说明节点联系越紧密,网络对行动者产生的可能影响越大。在足球比赛视角下,网络密度表示传球网络的疏密程度。足球传球网络为有向关系网,网络密度被定义为:
(1)
其中,d为已经存在的传球联系数,e为球员(行动者)总数,网络中包含的关系理论最大值为e(e-1)。
中介中心度反映某一个节点位于联系中心位置的程度[14]。节点的中介中心度越高,则越多的联系会从这个节点经过,意味着这个节点有越大的可能是网络中心点。在足球比赛的视角下,最大中介中心度意味着这支球队最核心球员多大程度是传球网络的中心,即球队对核心球员的依赖性。最大中介中心度公式为:
(2)
其中,Pjk表示j点与k点间传球路径数,pjk(i)表示j与k间包含节点i的传球路径数。
EI指数反映整体网络中子群的分派程度与凝聚性[15]。在足球比赛中,EI指数可以用来衡量各个位置在传球时合作情况。EI指数越高,则说明存在交互性较高的球员组合。
(3)
其中,EL表示参与传球球员关系数,IL表示总球员关系数。
BP神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络。其主要特点是在信号前向传递的同时,使误差后向传播,通过不断调节神经网络中的权重值,使得网络的最终输出与期望输出尽可能接近,以达到训练的目的[16-18]。足球比赛预测问题具有非线性特征,而BP神经网络对于非线性特征的拟合效果较好。BP神经网络的拓扑结构如图1所示。
图1 BP神经网络拓扑结构
(4)
(5)
3.1 数据来源
2020年美国大学生数学建模竞赛发布了Huskies球队某赛季的比赛数据。此数据集涵盖Huskies球队与19个对手进行的38场比赛,其中涉及366位选手,23429次传球以及59271次选手行为。
基于社会网络分析,将球员抽象成点,球员间的传球抽象成线,球员点的坐标位于球员活动范围中心点。球员传球/被传球次数越多,网络上点越大;球员之间传球次数越多,连线越粗。图2展示了第一场比赛的传球网络图。
图2 第一局传球网络图
受到球员、教练和球场等影响,足球比赛胜负评价系统比较复杂。本文基于社会网络分析的结果,以足球比赛胜率为目标因子,以传球因子、攻击-防守因子、球员状态因子为准则因子,提出了由3个方面11个指标组成的足球比赛胜负评价体系,如下表1所示。
本文设计的BP神经网络输入层由11个神经元构成,分别代表11个指标层因素。输出层为1个神经元,输出值为0到1之间的实数,代表足球比赛中Huskies队的胜率。胜率大于0.5则预测本场Huskies队获胜,胜率小于0.5则预测本场Huskies队落败,胜率等于0.5则预测本场比赛为平局。隐含层神经元的数量将直接影响神经网络的输出结果与稳定性。过少的隐含层神经元会导致过拟合,过多的隐含层神经元会导致算法执行时间过长[19]。隐含层神经元数量根据以下经验公式确定[20]。
表1 足球比赛胜负评价指标体系
(6)
其中,m为隐含层神经元个数,n=11为输入层神经元个数,c=1为输出层神经元个数。确定隐含层神经元数为4个。随机取数据集的75%作为训练集,其余25%作为测试集,分别输入BP神经网络,随机森林和梯度提升树模型中进行预测。
本文采用MATLAB中的神经网络工具箱实现BP神经网络,通过mapminmax函数实现数据的最大最小值归一化,通过newff函数建立神经网络,数据正则化与构建神经网络部分语句如下:
1.%Normalization;
2.[input,ps1]=mapminmax([a;b;c;d;e;f;g;h;x;y;z;k]);
3.[target,ps2]=mapminmax([result]);
2021年第3期王译启,赵泓润,赵虹雯,等:基于社会网络分析与BP神经网络的足球比赛预测研究
4.%training;
5.net=newff(input,target,4,{‘purelin’,‘tansig’},‘trainlm’);
6.net.trainParam.epochs=100000;
7.net=train(net,input,target);
三种预测算法所得到的结果如下表所示:
表2 机器学习模型评价指标
实验结果表明,总体而言,BPNN的准确率高于RF和GBDT,对测试集的拟合程度也相应更高;RF虽然执行时间较快,但在相关程度与均方根误差方面较差;GBDT执行较快,准确率较高,但其均方根误差较大,在面对平局较多的数据时会存在明显不足。
在胜率确定因子模块,在BPNN中查询权重,得到最重要的2个因素为控球率与球员交互性;RF算法中,权重最高因素为球员交互性与进攻防守策略,与BPNN较为相似。
在胜负平预测的混淆矩阵中,BPNN和RF模型对胜负平三种结果的预测准确率较为均衡,而GBDT模型预测结果的绝对误差较大,对胜局和负局的预测准确率高于平局。
本文基于足球比赛场上球员行为与客观条件,针对传球因子、攻击-防守因子与球员状态因子的多源数据,构建了SNA-BPNN模型,对足球比赛胜负进行了预测,并针对已发布数据集进行了验证。其中,BPNN的预测精度达到81.8%,均方根误差仅为0.323,预测准确率高,误差小。结果表明,模型能够较好地预测足球比赛胜率,能够为足球赛训、团队网络分析等提供思路。目前,针对球员行为的足球比赛数据集较少。本文采用的数据集规模较小,建议在后续的研究中扩大数据集,选取验证集确定超参数,对足球比赛胜率预测进行进一步研究探讨。