返回列表

2nd Place Solution

601. March Machine Learning Mania 2024 | march-machine-learning-mania-2024

开始: 2024-02-27 结束: 2024-04-09 赛事预测 数据算法赛

2024 年 NCAA 疯狂三月篮球锦标赛

第二名方案

GitHub 链接

私有排行榜得分:0.05437
私有排行榜排名:第二名

背景

我是 2022 年杜克大学数据科学专业的毕业生。目前在华盛顿特区的一家体育分析公司工作。这是第三次参加该比赛。我再次参赛是因为我觉得预测如此疯狂的篮球锦标赛结果非常有趣。去年我获得了第 7 名,在此之前是第 100 名。我的男子模型最初是在 3 年前出于兴趣编写的,今年我更新了男子和女子模型,使用相同的方法论。

方法论

所有代码均使用 R 编写。我这两个模型的基本方法论如下:

1) 通过岭回归(glmnet)和混合效应模型(lme4)生成球队评分,预测分差、进攻/防守效率、进攻/防守节奏等(即在控制对手、主场等因素后,球队 A 对进攻效率、分差等的影响?)。我还拟合了一个“对手调整”混合效应模型,旨在预测球队在对阵强敌时的表现是超常还是失常。

2) 使用第 1 步生成的球队评分,通过 XGBoost 预测每场比赛的球队进攻效率(每次进攻得分)和节奏(进攻次数)。

3) 使用第 1 步的球队评分以及第 2 步的球队级别预测,通过 XGBoost 预测比赛级别的分差。

用于预测球队级别效率以及比赛级别分差的最重要特征是第 1 步产生的各类球队评分。每个模型在每个赛季的每一天都会重新训练。因此,整个建模框架首次运行需要好几天。简单的 GLM 将预测的比赛级别分差转换为预测的获胜概率。我对每一种可能的对抗都预测了获胜概率(类似于以往比赛的提交格式),然后对每届锦标赛进行了 10 万次模拟。

代码

该代码仓库包含男子模型和女子模型,分别位于 mens/womens/ 文件夹中。我还有一个公共的 models/ 文件夹,其中包含每个球队/比赛级别的模型,可通过命令行选项选择运行男子或女子模型。在 mens/womens/ 目录中,run_all.sh 脚本指定了运行整个建模框架所需的文件顺序。simulate.R 脚本根据预测结果进行锦标赛模拟,并合并生成最终的提交文件。

注意:我的男子模型使用我自己开发的 gamezoneR R 包以及公开的 hoopR R 包获取公开数据。女子模型则使用公开的 wehoop R 包的数据。感谢 sportsdataverse 和 ESPN 提供的公开数据接口!

手动覆盖

在第一次提交时,我提交了基于原始未修改的获胜概率的锦标赛模拟。第二次模拟时,我将概率修改为使得康涅狄格大学男子篮球队在每场可能的比赛中都以 100% 的概率获胜——这就是获得第二名的提交。未经修改的提交本来只能排名第 16 位。

对赛制的思考

首先,我要感谢 @kaito510、@danielcljc、@jacobyjaeger 以及其他在诸多讨论、评论中提出有力论据反对原始评分指标(平均 bracket 得分)的人。我还要感谢 Kaggle 组织者倾听社区反馈,谦虚地将评分指标改得更好!

然而,尽管基于轮次概率的 Brier 分数系统显然比原来的平均 bracket 得分要好,但我 并不 喜欢这种评分方式。

在我看来,这种评分背后的博弈论比往年更能激励博彩行为——尤其是以 100% 的概率预测冠军。我尚未看到其他的优胜方案,但我想必很多人也像我一样高估了冠军(无论是 SC 还是 UConn,或两者皆然)。这完全是因为轮次概率/Bracket 强制了比赛之间的依赖关系,这在以前的比赛中是不存在的。

在这里有一个有趣的区别:在旧规则(每场比赛基于获胜概率独立评分)下,如果有人正确预测冠军,他们轻松就能赢得比赛——即以比今年领先者更大的优势获胜!在旧规则下正确预测冠军的奖励在绝对值上更高。然而,旧规则的博弈论肯定不是鼓励预测冠军,这就是为什么以前的比赛中没人使用这种策略!例如,0/1 翻转在旧规则下是一个绝佳策略,但在新规则下却几乎微不足道。在独立评分的指标下,任何人都可以在任何时候“停止”自己的覆盖而不会受到惩罚。在新规则下,“停止”覆盖的惩罚很严厉,因为会在该球队的前几轮中占据优势。事实上,在新评分体系下避免这种惩罚的唯一方式是预测一支球队全程获胜——这就是我在提交 UConn 以 100% 概率获胜时得出的结论。

换句话说,我相信旧规则的博弈论绝对不值得预测冠军,风险太大了。在新规则下,预测冠军是唯一能够真正获得显著超越其他参赛者的方法!我相信如果明年继续使用这种评分方式,将会有更多人提交以 100% 概率预测冠军的赌博式方案。

我偏好的评分指标

在我看来,最佳的评分指标显然是分差的 MAE(而不是 RMSE,因为每分都应等值)。原因如下:

  • 降低方差,比其他指标更能奖励强大的机器学习模型!
    • 分差从 -1 翻转至 +1 与二元胜负 0/1 的翻转相比几乎可以忽略不计。
  • 没有明确的博彩/冒险策略!
    • 如果想押注某支球队,将获胜概率从 20% 提升到 100% 再容易不过,但要在分差 MAE 上做到这一点却困难得多。
  • 你知道该支持什么!
    • 这是唯一无论是否了解他人提交内容,你始终知道自己该支持什么的指标——即分差越接近你的预测越好!(在比赛期间知道该支持什么更有趣)。

我还支持将提交次数从 2 次减少到 1 次,以进一步消除博彩激励。

总的来说,无论明年的赛制如何,我希望组织者花时间思考评分指标在参赛者优化以争夺最高奖项/奖牌时所产生的博弈论问题。我非常感谢 Kaggle 继续举办这项顶级三月疯狂篮球锦标赛!

同比赛其他方案