美洲酷暑改变了这届世界杯吗?
一份基于前 81 场比赛的天气 × 体能研究。湿热确实消耗球员身体、改变球队踢法——但这份体能税在抵达记分牌前就被吸收了。七张交互图,全部真实数据。
- #Forecasting
- #Sports
- #Data Analysis
2026 世界杯是第一次在美国的夏天大范围开踢,直觉几乎自己就写好了:达拉斯、蒙特雷那些毒日头下的午间场,一定在改变比赛。我决定真的去查一查——作为 World Cup Oracle 预测项目里的一个支线研究,标准很简单:不是”电视上看着很热”,而是”数据里看不看得出来,以及它会不会改变一个你能下注的结果”。
答案是那种有意思的”不会”。
湿热对球员身体、对球队踢法都有真实、可测量的影响——但这份”体能税”在抵达记分牌之前就被吸收掉了。
下面每一条结论都基于同样的 81 场已完赛(小组赛 + 32 强,截至 7 月 2 日),体能数字来自 FIFA 官方赛后报告。这是一份诚实、样本有限的探索性研究——凡是样本薄、信号软的地方,我都会标出来。
数据,以及我怎么让自己别自欺
这类研究的重点不是找到”点什么”——跑了 47 个显著性检验,你总能找到点什么。重点是能不能扛住推敲。所以数据来源刻意选得很朴素,方法也刻意保守。
| 项 | 来源 |
|---|---|
| 结果 · 球场 · 开球时间 | 项目缓存(ESPN 公开赛况) |
| 天气(气温、湿度、体感、湿球温度、太阳辐射、海拔) | Open-Meteo 历史与预报 API,按每座球场经纬度取该场比赛自己的 2 小时窗口 |
| 跑动与冲刺距离 | FIFA Training Centre 官方赛后报告(PMSR),队级,已解析 71 场小组赛 |
| 球员级冲刺次数与峰值速度 | 同一批 PMSR 报告,OCR 提取并双重校验(953 名球员、58 支完整球队) |
| 半场进球时间 | ESPN 逐球 key-events,双源互验 79/79 |
| 模型赛前胜率 · Brier | Oracle 自己的评估日志,用来把球队实力扣掉 |
三个习惯扛起了大部分重量。扣实力偏相关——把结果和温度各自对模型赛前胜率做回归取残差再相关,这样”强队赢了”就不能伪装成”天气干的”。置换检验(20000 次重排)替代教科书 p 值,因为分桶样本很小。以及对全部 47 个检验做 Bonferroni 校正——一道极严的门槛,剧透一下:只有一个结果能过。
高温唯一明确做到的:榨干双腿
进球是低频、含噪的事件;跑动是每场都有的连续量,是我手里检验疲劳最灵敏的探针。而它确实在动。
全部:ρ=−0.40(p<0.001, n=71)。露天每升 1°C 少跑 0.78 km;空调馆里室外温度与跑动无关——这就是阴性对照。
这是整份研究的脊梁。在露天球场,越热(更准确说是越”湿热”,用湿球温度衡量),跑得越少——ρ = −0.55,p < 0.001,双方合计每升 1°C 约少跑 0.78 km。这是全部 47 个检验里唯一扛住 Bonferroni 校正的结果。
我相信它是因果而非巧合,靠的是阴性对照。达拉斯、休斯顿、亚特兰大三座是封闭空调球场。在馆里,室外温度本该毫无意义,而它确实如此:ρ = −0.17,p = 0.57。效应只出现在球员真正暴露于天气的比赛里。(它还扛住了海拔复核——把墨西哥城和瓜达拉哈拉整个删掉,效应反而更强。)
身体怎么付账:冲刺次数掉,峰值速度不变
我把 FIFA 报告一路下钻到球员个人层面——953 名球员,OCR 提取并逐行校验——去问高温砍掉的是哪一种跑动。
湿热显著减少冲刺频次(次数 ρ=−0.49, p=0.002),而峰值速度完好(ρ=+0.07)——热限制的是重复高强度输出,不是单次爆发上限。
这个拆分很干净,也符合生理学。高温压低的是球员冲刺的频次(冲刺次数 ρ = −0.49,p = 0.002),而峰值速度完好无损(+0.07,p = 0.67)。它限制的是重复高强度输出的能力,不是单次爆发的上限——你照样能跑出最高速,只是次数变少了。这独立复现了别人从 FIFA 数据得出的”最高冲刺速度不受高温影响”,并补上了他们缺的另一半:次数确实在掉。
球队怎么付账:以传代跑
关键的转折在这里,它解释了为什么记分牌几乎没察觉。少跑并不等于丢掉进攻——球队只是绕开它。
在露天热场,传球更多(ρ = +0.31,p = 0.036),完成的突破线更多(ρ = +0.33,p = 0.024),而预期进球(xG)保持不变。球队用传球代替跑动来继续推进皮球。同样的三个温度档,用四种不同量法来看,这种不对称一目了然:
双方合计每场公里 — 单调下降,区间窄。 ρ=−0.31(p=0.009) 显著。
只有跑动距离随温度单调、显著地下降。切到爆冷率或进球,那些点就只是在互相重叠的置信区间里晃。体能层有信号;技术统计层没有。
没叫的那条狗:下半场并没有崩盘
如果高温真在末段榨干球员,你会预期进球——和失误——在热场的下半场堆积。这是这个故事最直觉的版本,而它根本不存在。
最"后置"的是凉爽场,不是酷热场——与"热→下半场崩盘"完全相反。ρ=−0.14(p=0.22),不显著。
足球本来就偏下半场(56.7% 的进球发生在中场休息之后,与热无关)。但最偏后的那一档是最凉爽的场次,不是最热的——与”高温导致末段崩盘”完全相反。无论高温在做什么,它都没有制造末段的混乱。
那么整块假设板还剩下什么?这是我跑过的每一个相关,放在同一根轴上:
每个亮起(实心)的点都在体能层或打法层;整个记分牌层保持灰暗——身体和踢法变了,胜负没变。
图形比任何段落都讲得清楚:体能层和打法层亮了起来,整个记分牌层保持灰暗。点一下”记分牌层”,每个点都变灰。
通往记分牌唯一的桥
只有一个地方,体能效应开始靠向一个结果,而这也是随着样本变大我会盯得最紧的发现。
凉爽场强队靠更大跑动量压制对手(+1.4 km);高温把优势抹平甚至反转(−0.5 km)。交互:强队每升 1°C 比弱队多降 0.32 km(置换 p=0.082, n=94)——边缘显著,是通往爆冷层唯一的桥。
凉爽场里,模型看好的强队比弱队多跑 +1.4 km——这份额外跑动正是强队如何压制对手的一部分。到了高温里,这份优势被抹平,甚至反转为 −0.5 km。它在方向上与那条微弱的”热场爆冷偏多”涟漪(p ≈ 0.20)完全吻合——第一次给那个软信号找到了一个具体的机制候选。但交互本身只是边缘显著(置换检验 p = 0.08,而酷热档只有 8 + 8 个队次)。这是一条线索,不是一个结论。
把它拼起来
全研究最强信号:−0.78 km/°C,且在空调馆(阴性对照)完全消失。
链条前段(体能→打法)每环都亮着、都有数据;到强队优势和爆冷转为边缘,最后记分牌层熄灭。体能税真实,但在抵达比分前被两队对称吸收。
从左读到右:链条在体能与打法环节全程亮着,到”强队优势”和”爆冷”两环转为边缘,在记分牌处熄灭。两队一起变慢,并一起切换到更省体能的传控打法——所以强弱排序和进球结构几乎不动。你”美洲酷暑很重要”的直觉,在球员身体和球队打法上都被证实了。它只是从没变成某一方的崩盘。
我不主张什么
- 这不是因果证明。 只有一个主假设是预先指定的,其余全部是探索性相关。那些软信号(p ≈ 0.2)应当读作”值得盯的方向”,不是结论。
- 样本很小。 81 场,最热的实力桶里只有约 8 个队次。爆冷那条线索和热×实力交互,要等 104 场全部打完才能证实或证伪——到时我会重跑。
- 天气不作为 Oracle 官方预测的因子。 这个干净的 null 本身就是产出。实时看板有一个天气 tab,展示每场开球天气和一个明确标注为实验性的调整(收缩到 −0.71 pp/°C,封顶 ±3pp),样本变大若信号消失会自动归零。
一份研究能做的最有用的事,是找到一个真实、强、且识别良好的效应——ρ = −0.55,还配了能用的阴性对照——却依然预测不了结果。“统计显著”和”能动钱”是两个问题,值得练出把它们分开的纪律。
可复现,见 worldcup-oracle 仓库:research/weather_effect/(REPORT.md + 脚本 01–12)。本页图表直接读研究自己的 stats*.json 与 matches_deep.csv——81 场时的快照,会随赛事结束而变动。姊妹篇:预测全新赛制的欧冠。
— 相关阅读