高级数据阶段 1:per/ws

不是重点,就说几句。专家通过玩家面板设定一个系数,然后计算玩家的贡献度,优点是比较客观(比起自己感觉描述),缺点是单凭经验计算出来的系数不是很准确,另一方面也很难验证算法的准确性。

高级数据阶段 2:apm/rapm

从现在开始高阶数据才真正成为参考价值非常高的数据,这两种方法的差别很小(但结果却相差很大),所以我们就放在一起说吧。

假设场上有 5 名进攻队员 a1、a2...a5,5 名防守队员 b1、b2...b5。进攻方每回合得分 2 分。那么可以写成

a1+a2+a3+a4+a5-b1-b2-b3-b4-b5+a0=200

值得一提的是,a代表进攻贡献,b代表防守贡献,a0代表平均进攻水平,200简单来说就是2*100,因为我们需要计算100次进攻的数据。这个公式可以视情况加上主场优势(影响不大),一个NBA常规赛大概有17万次进攻,把这些加起来,解方程就行了,这就是第二代高级数据的思路。

当然,任何有常识的人都会抱怨这个方程无解,求解就是用最小二乘法。

XZ=Y,误差就是||XZ-Y||^2,误差最小的Z(也就是球员的高阶数据)就是(XTX)^-1(X^TY)然后交给计算机。这就是apm的方法,但是这个算法的问题是受噪音影响很大,实际上它对下一场比赛的预测能力还不如猜测所有球员的水平都一样。

然后就是rapm的改进,rapm采用的是岭回归的方法,简单来说就是把误差改成

||XZ-Y+λI||^2,结果就变成了(XTX+λI)^-1(X^TY)。从贝叶斯角度看,这种方法的好处就是给球员的能力增加了一个先验,这个先验就是球员的水平服从均值方差为0的分布,并且和λ相关。当然,如何选择λ是一个问题。一个简单的方法就是交叉验证,也就是把数据分成训练集和验证集,当验证集上的loss最小的时候,λ就是最合适的。这就是rapm的思想。

如果你想自己做计算,我推荐两个网站:

//(强烈推荐,里面的东西很多)

//al(数据下载方法)

那我们再来说说rapm吧,它的优点就是包罗万象,说白了,一个球员要么能帮助球队多拿分,要么能帮助球队少丢分,他就是牛逼的,不管怎么说,都指向这个,完美,能解释一切。而且rapm很适合球迷跨代比较球员,毕竟不管规则怎么变,多拿分才是实实在在的。

但如果 rapm 是完美的,就不会有第 3 阶段。

首先,RAPPM 需要逐场比赛的数据(即每轮比赛的记录),而这些数据自 1996 年才开始提供。因此,在比较球员能力时,数据寻找者通常拒绝比较 1996 年之前的数据。

其次,要得到真正准确的rapm,至少需要三年的数据。原因很简单,你去网站上查一下,你会发现最好的球员每100次进攻只能帮助球队多得10分而已,仅此而已。如果进攻次数少了,我多进一个幸运球,那就差别很大了。所以单年的rapm受运气影响很大,多年的rapm不能反映出一个球员每年水平的剧烈变化。

第三,rapm 不能很好的解决共线性问题,也就是如果两个球员处于同一个上下级,那么他们的进阶数据会是相同的。虽然联盟中没有真正的上下级之分,但如果两个人真的一起打球次数较多,rapm 算法就会倾向于让两人的贡献难以区分。这个问题即使延长年限也未必能得到解决。比如东契奇和迪安范一起打球的时间就比较长,已经有 4 年了,两人的 rapm 差别并不大。

RAPPM其实还有其他的用处,只要把得分换成其他数据,就可以判断球员的篮板影响力等等,可以说是非常实用了。高级数据第二代2:BPM

nba球技最差的球员_nba能力最差球员_nba球员能力值查询

说到bpm,争论就比较多了,其实bpm也是一个准确率很一般的数据(尤其是防守)。bpm可以解决前面说的rapm的三个问题,具体做法还是回归到第一代高阶数据的方法,通过面板计算,但系数不是自己设定的,而是通过5年的rapm数据回归出来的(具体做法跟rapm的算法差不多,只是球员变成了面板数据)。在这个基础上,bpm其实也做了一些调整。

1、按位置,简单来说我觉得不同位置的面板数据值不一样(确实如此),后卫的防守篮板和中锋、前锋的防守篮板不一样(我说的就是你077)

2 团队奖励,这个解释起来有点奇怪。建议你去官网看看

由于采用了面板数据,BPM可以追溯到很远,非常适合粉丝之间互相吵架,也成功解决了RAPPM的共线性问题。

当然我说这是一个极不靠谱的数据,它还是有很大问题的,由于防守数据的局限性,测防守真的只是参考,不一定是0%准确,因为方便吵架,所以以前得不到的数据在这里是绝对用不到的,永远不会更准(感觉像在骂人)

另外众所周知,BPM因为被威少炸掉而改变了算法。这里我可以说威少炸掉BPM1.0的主要原因有两个。第一,BPM用助攻率*使用率作为回归项,这个非线性数据很不稳定,威少当时正好有这两个极高的数据,所以乘以之后就被炸掉了。第二,威少当时的篮板率很高,所以他的防守也很高。

所以这些在bpm2.0中都有所改进,而且经过验证交叉验证误差更小,大家不要相信作者只是想阻止威少超越詹姆斯的鬼话。

第三代:rpm,,,epm

第三代进阶数据,相比2.5代的bpm,更像是第二代的rapm。之前说过,rapm其实是在apm的基础上加了一个先验,即选手水平服从零均值高斯分布,但这个先验是否准确其实是有争议的。在这些进阶数据中,选手的先验不再是零均值,而是经过面板数据计算(计算方式类似bpm)后得到的水平。

这样这些数据一方面解决了rapm的共线性问题,另一方面解决了bpm无法衡量面板外球员价值的问题,是目前评价球员的客观方法。当然这些算法也各有不同,如果有兴趣我会在(第二部分)一一讲解,如果要具体计算的话上面我推荐的链接里也有代码。

第三代半:box apm

这一代与第三代最大的不同就是面板的系数不再是固定的,而是用一年的数据进行回归,这样更能看出联盟的发展趋势,更能及时反映球员能力的变化。

(官方网站)

第四代??dpm

我无法详细介绍这个算法,毕竟我不是搞机器学习的。从结果来看,它更能反映球员当前的水平而不是他们本赛季的表现,所以不能用来评价MVP,但它更适合预测他们下一场比赛会如何发挥。

官网有更详细的介绍,可能需要翻墙

那么我如何知道数据的准确性?

验证方法有很多,这里介绍一种比较实用的方法,就是直接用本赛季球员的水平代入下赛季的实战数据看误差,对新秀球员做特殊处理(比如全部算-2)。

网上有个哥们计算了大部分数据,结果如下

可以看出,预测的 dpm 略胜于 epm,bpm 确实很差,而 per 由于其自身原因(它不代表球员每 100 次进攻的贡献)无法列入名单。