最近突然对足球比赛预测产生了一定的兴趣,于是从主流博彩公司爬取了近两年全球数十万场联赛的赛前赔率变化时间序列,以及各种数据双方在比赛时。 该研究本质上希望利用人工智能方法来预测比赛结果,看看是否存在定价错误或庄家归纳的可能性,或者赔率是否能够充分反映真实的比赛结果。 Quant/DS/对此也感兴趣欢迎交流合作。
2. 信息
为了站在前人的肩膀上看得更远,我特意研究了体育相关的预测比赛和大数据竞赛平台上的比赛。 其中大部分都可以在此页面上找到。 本文是对这些信息的回顾。 阅读总结和经验展示。
2.1 NCAA 锦标赛预测
我们先来谈谈游戏。 你能找到的几乎所有与体育相关的游戏都与篮球有关,或者几乎都与 NCAA 有关。 最著名的就是赞助的年度NCAA男子篮球和女子篮球比赛预测。 疯狂三月已经然而,2019年的比赛刚刚结束,传送门如下:
2.1.1 详细说明
不得不说,这两场比赛的数据集还是非常详细的,包括了NCAA、NCAA过去多个赛季的所有成绩,以及双方的球队信息和球员名单。 根据事后分析,关于比赛类型、球队是否属于某个联赛、球队历史表现等信息可能有一定的威力。
具体到每场比赛英超排名预测,都有详细的记录:包括基本统计信息:比如每场比赛有得分、三分球、罚球、篮板(进攻、防守)、助攻、盖帽、抢断、失误、犯规等等,有甚至每场比赛的详细事件日志。
说到这里,你可能会想,有了如此丰富的数据,像NN这样的复杂模型应该能够大显身手了。 但不幸的是,事实上,根据最后的帖子,几乎大多数可用的模型都是简单模型。 许多排名靠前的玩家甚至还加入了个人信念,比如押注某支球队总能力挽狂澜。 还有一个哥们,常年都是数据和篮球狂热者,所以他获胜的关键就是尽可能多的比赛投入。 尽我所能。
2.1.2 GLM模型是胜利的关键
大概任何涉及金钱的预测(NCAA的每场比赛都可以投注)都不可避免地伴随着大量的随机性和噪音,这与金融非常相似。 因此英超排名预测,减少偏见似乎总是比减少偏见更为紧迫。 另外英超排名预测,由于比赛最终的输赢与预测的概率挂钩,除了那些利用个人远见(或者只是运气)来提高排名的人外,logit模型特别有用。 更好的介绍如下:
该模型认为获胜概率\pi与两队之间的等级差有关。 用最简单的方法,第i场比赛中j队和k队的获胜概率可以计算如下:
\[ \pi_i{(k \quad win)} = \frac{exp(\{k} - \{j})}{exp(\{k} - \{j}) + 1} \]
熟悉GLM的朋友都知道,先验分布实际上被认为是二项分布(普通线性回归认为是正态分布)。 有了这个公式,接下来的任务就是估计团队的水平并计算后验分布(常见的是MCMC马尔可夫链蒙特卡罗方法)。
上面尝试了更多的优先级,比如beta分布、gamma分布等。
当然,这并不意味着非线性模型和无信仰玩家没有弹簧。 下面两个分别使用NN和NN进行预测:
2.1.3 使用什么?
我们之前提到过,这个游戏非常全面,给了大家足够的空间和空间。 有人提到进攻效率和防守效率是最有用的特征,也有人说他用pre-top25和point提高了模型性能,这些都和线性模型有关。
另外,上面使用NN的玩家还总结了他最终使用的12个特征:
1. Ken Pom end of season ranking
2. Ken Pom efficiency margin
3. Ken Pom offensive efficiency
4. Ken Pom defensive efficiency
5. Ken Pom "luck"
6. Regular season wins against top 25 ranked teams
7. Regular season average point margin
8. Regular season field goal percentage
9. Regular season 3-point field goal percentage
10. Binary indicator for whether team played 20+ tournament games during 2004-2018
11. Binary indicator for whether team is in the ACC, B10, B12, or SEC
12. Seed of team
2.1.4 简短采访
在研究过程中,我偶然发现NCAA女篮比赛的第15名预测是知乎上著名的AI少年@AlexL(部分想法借鉴自GM),于是我向他询问了他的模型想法。 总结几个要点如下:
对于模型来说,l1 和 l2 非常大。 预测目标函数不直接预测结果,而是预测得分差Fit。 与足球相关的和
聊了这么久的篮球,我终于想回到我个人更感兴趣的足球上来。 虽然没有相关的游戏,但是还是有很多相关的数据集,比如这些:
我个人更感兴趣的是关于赔率时间序列的一个,其中之一:
既然是赔率数据,那么自然的预测结果就是生成可行的投注策略。 采用的简单判断方法及最终结果如下:
欢迎志同道合的人私信与我交流~