all_lessons/冰球的逻辑/10第 11 课 / 共 16 课

第四部分 · 数据革命

传统统计的局限:进球、助攻、正负值(+/-)为什么会骗人

上一课我们把门将顶到了台前——低比分运动里最大的单点变量,却也最难评价:救球率 save% 掺着队友挡出的射门、场地记录员的口径、以及运气,一个 0.9050.915 的门将,可能只差几十个「本该被队友封堵、却漏给了他」的球。连站在球门里、责任最集中的那个人都这么难量,那散落在冰面上的五名滑手呢?这一课要告诉你一件不太舒服的事:冰球那几个印在球员卡背面、被念叨了几十年的老牌数字——进球、助攻、以及听起来最「科学」的正负值(+/-)——恰恰是最会骗人的。冰球的数据革命,就是从拆穿它们开始的。

本课路线
(1) 先盘问进球 / 助攻(G/A):它们受队友、出场时间、运气影响极大,而且进球本就太稀少(回扣第 02 课)→ 样本小 → 单季波动大;(2) 再拆穿冰球最被诟病的传统指标——正负值(+/-):你在场时球队的净进球(进−失),听着天经地义,其实噪声极大,因为它把整条进攻线的队友、门将表现、对手强弱、运气,全算到你一个人头上,且照样栽在「进球稀少」上;(3) 挖出共同病根(和棒球同一诊断):没有按事件对得分的真实贡献定价,还混进了队友与运气,又都困在「事件太稀少」里(交叉链接 《棒球的逻辑》第 10 课);(4) 亲手拨一个「+/- 的噪声」模拟器——让两名真实水平完全相同的球员,只因队友 / 门将 / 运气不同,收获天差地别的 +/-;(5) 指路:既然进球太稀少无法直接用,就得找一个更频繁、更底层的信号来代理球队的控制力——这正是下一课。
数据小注
本课所有数字都是示意 / 数量级,不同赛季、不同球队会变,绝不编造精确统计。NHL 一名前锋单季进球多在两位数、顶尖射手能到 40+,但绝大多数滑手一个赛季的进球、助攻加起来也就几十个「事件」——这正是「样本小」的来源。正负值(+/-)是 NHL 官方长期记录的指标(大致规则:你在冰面上,本队进一个非强打进球 +1、被进一个非强打进球 −1;power play 进球、空网球等有特殊处理,各年代口径略有出入)。本课不追口径细节,只讲它为什么在结构上就不可靠。widget 里两名球员的「真实水平」由我们人为设定为完全相同,好让你看清:观测到的 +/- 差异,纯粹来自他们身边的环境与运气。

一、先盘问进球与助攻:光鲜,但样本太小、太脏

进球(Goal, G)和助攻(Assist, A)是冰球最古老、最直观的两个数字,合称得分点(Points, P = G + A)。它们当然不是没用——一个赛季 100 分的球员几乎一定是巨星。但一旦你想用它们做精细比较(这个前锋比那个强多少?他今年是真的进步了还是运气好?),三个毛病立刻浮出来。

毛病一:严重依赖队友。助攻的定义就是「你把球给了进球的人」——可球最终进没进,取决于接球的那个人射得准不准。把一个中游中锋放到一条有顶级射手的锋线上,他的助攻数会凭空暴涨;反过来,一个组织能力极强的球员,若队友总是把好机会打飞,他的助攻栏就很难看。进球也一样:你能不能得分,一半系于队友喂给你的机会质量。G/A 记在你名下,功劳却是一整条线合力挣来的。

毛病二:受出场时间与角色影响。一名每场滑 22 分钟、还上一队 power play 的核心,和一名每场滑 11 分钟的第四线球员,得分点根本没有可比性——不是水平差一倍,是机会差一倍。用总量比较,等于拿「上了多少班」冒充「干得多好」。

毛病三,也是最致命的——进球太稀少,样本太小。还记得第 02 课吗?冰球每队每场只进约 3 个球(示意),进球是镶嵌在漫长「无事发生」里的稀疏事件。于是一个滑手一整个赛季经手的进球事件,也就几十个。几十个样本,运气来不及被平均掉:几次幸运的折射入网、几次门柱弹进,就能让一个赛季的进球数上下浮动一大截。你看到的单季数字,很大一块是噪声,不是水平。

把「稀少」翻译成「不可靠」
第 02 课我们用泊松直觉说过:均值越低,相对波动越大(1/√λ)。这条性质在这里换了个身份出场——它不再只是「爆冷常见」,而是「用进球数评价一个人,本身就很嘈杂」。同样的低比分,在结果层面制造了不确定性,在评价层面就制造了不可靠。这是同一枚硬币的两面,也是整个数据革命的出发点。

二、正负值(+/-):听起来最科学,其实噪声最大

既然单看进球、助攻都有偏,冰球很早就想造一个「更全面」的数字,把防守贡献也算进去。于是有了正负值(Plus-Minus, +/-)

正负值(+/-)的定义
你的 +/- =(你在冰面上时,本队进的球)−(你在冰面上时,本队被进的球)(均指常规实力对抗下的进球,power play 等特殊局面另算)。直觉极其诱人:好球员在场时球队多进少失,+/- 为正;水货在场时球队净失球,+/- 为负。它似乎一举把进攻和防守都装进了一个数。

这个直觉错得离谱——不是方向错,是它把太多不属于你的东西,全算到了你一个人头上。逐条看:

① 整条线的队友,算你头上冰球是五人同上同下(第 05 课的换人)。你在冰面上时进的球,可能是另外四个人打进的、和你毫无关系;被进的球,也可能是队友漏人。可 +/- 一视同仁地记在场上每个人名下。你的 +/- 一大半,其实是你队友的表现。
② 门将表现,算你头上「本队被进几个球」里,藏着一个巨大的第三方——你的门将(第 09 课)。同样的防守漏洞,热手门将一路救下,你的 +/- 就好看;门将崩了,被进一堆软脚球,你的 +/- 就难看。你根本没法控制身后那个人今晚手感如何。
③ 对手强弱与开赛局面,算你头上总被派去盯对方顶级锋线、总在防守局面(己方刚换人、体力见底)登场的球员,天然更容易吃负分;专挑软柿子、多在进攻局面上场的球员,+/- 白捡。角色不同,起点就不公平。
④ 运气,照样算你头上,且样本仍然稀少+/- 的「原料」还是进球——那个每场只有几个的稀疏事件。折射、门柱、空网,全都进了这本账。于是它继承了 G/A 的全部小样本噪声,还额外叠加了上面三层不属于你的东西。噪声不减反增。

把四条加起来,结论很扎心:正负值(+/-)测的,与其说是「你有多好」,不如说是「你身边的环境有多好、以及你今年运气如何」。一个真正优秀但被扔进烂队、总打硬仗的球员,可能常年负分;一个平庸但搭上强队顺风车、专打顺境的球员,可能一脸正分。它是冰球最被数据界诟病的传统指标——诟病的点不是「没用」,而是信噪比太低:里面确实有一点关于你的信号,但被四层噪声埋住了,你几乎捞不出来。

交叉链接 · 和棒球同一种病
这不是冰球独有的毛病。《棒球的逻辑》第 10 课拆穿了棒球的「打点(RBI)」和守备「失误(E)」:打点主要取决于队友能不能先上垒,失误只罚「碰到了球却处理失败」的人、却放过站着不动够不着球的人。诊断和冰球 +/- 一模一样——把不属于你的东西(队友、局面、运气)记在你名下,还没有按每个事件对得分的真实贡献定价。两项运动、两套数字,同一个病根。看懂一个,就看懂了另一个。

三、共同病根:没定价、混入队友与运气、又太稀少

把进球、助攻、正负值放在一起解剖,你会发现它们其实死于同一组病因——这也正是冰球数据革命要逐一治好的三条:

病根一 · 没有「定价」它们都在数事件个数(进了几个、助攻几次、净进净失几个),却从不问「每个事件对赢球的贡献值多少」。一次高质量的门前抢点,和一次瞎蒙的远射折射入网,在进球栏里都记「1」。没有价值刻度,数字就只是流水账。
病根二 · 混入队友与运气三个指标都把一整条线、门将、对手、折射运气,一股脑塞进一个人的账本。它们分不清「你做了什么」和「你身边发生了什么」。
病根三 · 事件太稀少它们的原料都是进球——每场只有几个的稀疏事件。样本一小,运气就压过水平,单季数字剧烈抖动。这是低比分运动逃不掉的诅咒(第 02 课)。

前两条是「算法错了」(记错了账、没定价),第三条是「数据量不够」(进球太少)。真正棘手的是第三条:哪怕你把定价做得再精、把队友运气剥得再干净,只要你坚持用进球本身当原料,一个赛季几十个事件的样本就撑不起精细评价。这逼出一个釜底抽薪的问题——

四、那该怎么办?换一种「原料」

既然进球每场只有几个、太稀少无法直接用,一个自然的念头是:能不能别再盯着进球,改去数一件更频繁、更底层、每场发生几十次的事,用它来代理「谁在压着谁打」?

这正是足球当年发明 xG 的同一条思路,也是冰球数据革命的第一块基石。先别急着要答案——用下面的模拟器,把「+/- 有多不可靠」这件事,亲手玩到你心里。

五、动手:+/- 的噪声——两名同样水平的球员,命运却天差地别

下面这个模拟器里有两名球员。关键设定是:他们的真实水平被我们设成完全相同——同样的技术,对每一个进球事件的实际影响力一模一样。唯一的区别,是他们身处的环境

你可以拖动一个滑块调节「环境差距有多大」,再模拟一整个赛季(约 82 场)。程序会为每场比赛,按各自的环境用确定性随机数抽出「你在场时进 / 失几个球」,累加成两人的 +/-。看下方读数:两人的真实水平(设定相同)一栏永远相等,可观测到的 +/- 却被环境和运气拉开成两个截然不同的数。把环境差距拨到 0,再看——即便完全同环境、真实水平又一模一样,两人一整季的 +/- 也各自会被运气推到正一二十或负一二十,彼此往往还差出十几分。那整块差异里没有一丝「水平」,全是运气噪声:仅仅几十个稀疏的进球事件,根本压不住运气。

+/- 的噪声 · 同样水平,不同命运
两名球员真实水平完全相同(见下方「真实水平」读数,恒等)。拖动环境差距:0=两人处境相同,越大=球员 A 队友/门将/局面越占优、球员 B 越吃亏。点 模拟一场 看单场 +/- 抖动有多大;点 模拟整季(82 场) 累计,看观测 +/- 被拉开成两个数。试试:① 环境差距拉满,看两个「同样好」的球员 +/- 差出一大截;② 环境差距归 0、再模拟一整季,两人 +/- 仍会各自漂到正负一二十、彼此差出十几分——那一整块全是纯运气。
已模拟场次
0
真实水平(设定相同)
A = B
球员 A 观测 +/-
球员 B 观测 +/-
球员 A(好环境) 球员 B(差环境) 两人真实水平相同(虚线) 柱状 = 累计观测 +/-

反复模拟你会发现:把环境差距拉满,两名水平完全相同的球员,赛季末 +/- 会被拉成一个漂亮的正数、一个难看的负数——差出几十甚至上百分(示意,视你把环境差距拨到多大),纯粹来自身边的人和局面,跟他俩的真实水平毫无关系。而当你把环境差距归 0、再模拟一整季,两条柱子也不会乖乖趴在净 0 线上:各自都会被运气推到正负一二十,彼此还常常差出十几分。那一整块残差,就是「进球太稀少」留下的运气尾巴——同样水平、同样环境,光靠运气就能造出十几分的 +/- 鸿沟。换句话说:+/- 这个数字里,属于「你」的信号很小,属于「环境 + 运气」的噪声很大。用它给球员排名次、定薪水,几乎是在给运气发奖金。

这个玩具当然极度简化了(真实 +/- 的机制比四层噪声还复杂,比如强打局面的特殊记法)。但它的方向是真的、也是被数据界反复确认的:正负值的信噪比太低,不足以单独用来评价一名球员。进球、助攻同理——只是它们的病没有 +/- 这么显眼罢了。

六、把这一课接回主线

第四部分(数据革命)就此开篇。我们没有直接给新指标,而是先把旧的三个拆干净:进球、助攻依赖队友与运气、又困在小样本里;正负值(+/-)更把整条线、门将、对手、运气全算到你头上,噪声大到几乎不可用。它们死于同一组病因——没定价、混入队友与运气、事件又太稀少。前两条是记账方式错了,第三条是数据量根本不够。而第三条,指向了唯一的出路:换一种更频繁的原料。

一句话带走
冰球的老牌统计会骗人:进球 / 助攻靠队友和运气、样本又稀少;而正负值(+/-)——你在场时球队的净进球——噪声大到几乎不可用,因为它把整条线、门将表现、对手强弱、运气全算在你一个人头上,还照样困在「进球稀少」的小样本里。它们的共同病根和棒球的打点、失误一模一样:没按事件对得分的真实贡献定价、混入了不属于你的东西、事件还太少。要治,就不能再用「进球」当原料——这逼出了冰球的数据革命。
下一步
进球每场只有几个、太稀少,噪声大得没法直接用;那有没有一个每场发生几十次、能代理「谁在压着谁打」的量?有——射门尝试。 → 第 11 课《Corsi / Fenwick:用射门尝试差代理控球与领地》给出冰球数据革命的第一块基石:既然进球太稀少,就改用射门尝试差—— Corsi =(你在场时本队的射门尝试)−(对手的射门尝试)——来代理「控球与领地」。它每场发生几十次,是高频、低噪声的代理,动机和足球发明 xG 一模一样:用一个更频繁、更底层的信号,绕开「进球太稀少」这道诅咒。