← 返回动态

MCM / 2026年2月8日

在美赛里,我们试着去估计一个从来不会被公开的数字

2026 年的 MCM Problem C 里,最吸引我的一点是:节目每周的粉丝投票从来不会被公开,但淘汰结果又真实存在。 这意味着你拿到的是不完整的信息,却必须反推出背后的结构。这种问题对我来说很有吸引力。

题目核心

根据淘汰结果反推粉丝投票

我们做了

三套模型并行比较

最后推荐

以 percentage 机制为更优方案

我喜欢它,因为它是一个很典型的“逆向问题”

这个题目并不是直接给你完整数据,让你去做回归或者分类。它更像是在告诉你一部分结果,然后问你:那中间 那些看不见的东西,能不能被推回来?

粉丝投票是隐藏的,但每一周谁被淘汰、节目采用的评分规则、评委分数这些信息都在。换句话说,题目给你的 不是答案,而是一组约束。你要做的是在这些约束里,构造出一个足够合理、足够一致,而且可以解释后续现象 的估计体系。

在信息不完整的情况下,依然给出一个有逻辑、有边界、还能落到代码里的答案,这件事本身就很迷人。

我们为什么最后做成了三套模型

一开始我们当然也想过用一种方法直接做完,但越往后做,越发现这个题并不适合用单一路径解决。于是最后, 我们把方案拆成了三类。

第一类是比较直接的优化法,它快、清楚,也很适合跑完整个问题链条;第二类是更偏理论严谨的 Bayesian + MCMC 框架,把“粉丝热度如何随时间变化”也放进模型里;第三类则是混合式的 MAP-Laplace 模型,希望在 严谨和效率之间取得一个平衡。

对我来说,最有意思的不是最后哪一套“更高级”,而是三套方法并排放在一起之后,你会非常清楚地看到每一种 方法的代价和收益。它们不是谁替代谁,而是分别回答了“准确性、效率、解释力”之间怎么取舍的问题。

这次建模真正训练我的,是如何把逻辑压实

美赛很容易让人陷进“模型越多越好”的幻觉里,但这次我更强烈地感受到,模型只是外壳,真正重要的是你有没有 把问题吃透。为什么淘汰结果可以转化成不等式约束?为什么 rank-based 和 percentage-based 会带来完全不同 的信息损失?为什么时间连续性值得被建模?这些问题不想清楚,后面的代码就会变得很空。

我后来很喜欢我们这次的一个状态,就是不是急着往前堆结论,而是会反复追问:这个假设成立吗?这一步是不是 真能解释数据?这套模型到底解决了什么?我觉得这比单纯把程序跑通更重要,因为它训练的是一种思维上的自洽。

如果说这次美赛给我留下了什么,我会说是一种对复杂问题的耐心。它让我更确定,我喜欢那种既要结构、又要解释、 还要把东西真的做出来的工作方式。