天天看点

pytorch 模型同一轮两次预测结果不一样_从0构造一个足球预测模型

在《足球赛果预测方法与机器学习的分享》提到构建预测模型的一般步骤,从定义问题->确定要处理的数据->整合成算法逻辑->回测链条完成预测模型,今天小编就照套路完成前面两部完成一次预测模型的尝试。

定义问题

足球标准赛果有胜/负/平,在一些玩法当中也接受半场结果还有比分结果等方式。既然从零开始,就从最简单的标准玩法做起。众所周知,足球是有主场优势的——即“胜”这个赛果更容易打出来,有了这个先决条件,定义需要预测的问题变成了:预测一场比赛,主胜赛果能不能打出。

需要处理的数据

定义好了问题,下一步就是需要处理数据。第一步显然考虑先缩小比赛范围,再去考虑处理的数据。找到2019-2020赛季五大联赛主胜比例如下表 

联赛 主胜比例
法甲 48%
英超 45.3%
西甲 45.8%
意甲 41.6%
德甲 40.2%

当然,这里的法甲由于疫情原因并没完成整个赛果。缩小范围考虑,先选择西甲比赛作为研究对象吧。确定了问题就是“寻找主胜”,在搜索引擎内寻找数据观察同类型的会有什么特点。这里贴出观察到的比赛交易量结果如下:

pytorch 模型同一轮两次预测结果不一样_从0构造一个足球预测模型

观察到2020-10-19的3场西甲比赛,一眼看来我们可以发现,主胜成交量占比高的情况下,赛果打出来了,平局的一场比赛也反向印证了一点。

到这里不禁反问,就凭3场比赛就找到特征,这也太便宜了吧?当然不是,还需要更具体的案例再观察上面产生的猜想——主胜交易额占比高,主胜容易出。

带着疑问,再回查2020-10-04西甲的比赛数据:

pytorch 模型同一轮两次预测结果不一样_从0构造一个足球预测模型

图片来源网络,如有侵权,请联系删除

这里发现了3场当中有2场依然是交易额比较高的情况下打出了赛果,结果025这场次并没有和猜想一样打出主胜。

产生新的问题后,处理的案例添加一个新的分之,交易额占比高,但赛果不是主胜会有什么特征?

pytorch 模型同一轮两次预测结果不一样_从0构造一个足球预测模型

图片来源网络,如有侵权,请联系删除

答案可能藏在大额交易的表现上面,当一场比赛连续低价大额卖出,尤其越接近比赛前的的交易,表明并不看好这个赛果能打出来。

隐含的逻辑

通过上面的两步,得出了一个简易的主胜预测模型:

  1. 西甲比赛中交易额主胜方向占比占据大部分 65%+;
  2. 临场不能出现连续大额卖出;

根据这两个条件,可以选出一定的比赛预测为主胜。但要注要的是,如果毫无因果关系的相关关系,是无法得稳定的得出结论的。基于观察到的现象,大胆提出一个假设,市场中的交易行为会追随能获利的方向。

在这个观点前提下,当主胜方向的交易额比较高的时候,可以推断得有这些可能:要么是主队更大可能获胜,市场各方对主队价格(赔率)认知不一,容易交易获利。

即使有其他例如其他买家转移风险考虑,连续的卖出行为可以认为是在规避该赛果打出基于这个认知,我们锁定了主胜交易占比一定比例,并在没有连续卖出主胜的情况可以预测为主胜。

阶段小结

总的来说,构造自己的模型就是一轮又一轮的定义问题,并收集数据解决问题的过程,文章中提出的简易模型具体阈值坚定定义,如果需要精准的数字,还需要更大规模的收集整理数据。这个过程需要不断的重复上述步骤达到最终的可用状态。

如果觉得太繁琐,可以尝试关注本公众号直接发送“预测”来获取预测结果,详细可以点使用方法查看本公众号介绍哦!