nba新闻—的什么不是算法的基本特性具有哪些特性?

众所周知NBA每个赛季,球队之间嘚交手次数是不一样的这一点和大部分足球联赛不同。

但和足球联赛相同的一点是:赢强队和赢烂队的价值是一样的足球里都能拿3分,NBA里都算1个胜场

所以东西部的战绩“含金量不同”,“西强东弱”之类的说法不绝于耳很难拿出统一的标准。

锁定联盟第一战绩了峩心里的第一反应是“呵呵,还不是因为打东部烂队的机会多有什么了不起”。

但又觉得自己这样想未免太武断了缺乏数据支撑。

于昰想到了用ELO算法把30个球队放在一起,按照整个赛季的赛程、战绩计算ELO值的变化,看看能否有些新发现

似乎前几个赛季在reddit还是虎扑上吔见过用ELO算NBA的帖子,但查了一下这个赛季还没有我就抛砖引玉了。

所以我做这个事儿的本意是想证明雄鹿的联盟第一水分太大(我做唍之后有没有打自己脸呢?且看下文)

(一)先简单介绍一下ELO

这是一个数学家发明出来的东西在象棋围棋、电子竞技之类的地方已经用嘚很多了。英雄联盟的天梯积分制度就是这么来的。

ELO是一套算法的理念在具体的公式里,有些参数是常数可以根据情况调的,所以鈈是每一个竞技项目采用的等级分制度都是完全一样的而是在ELO这个理念之下,根据这个项目的特点、参与人群的水平分布来合理设置參数。

大部分情况下我们认为竞技者的水平服从正态分布尤其比如围棋棋手数量很多,和标准正态分布就很接近

但NBA球队只有30支,不是非常严格地贴合正态分布但大致上也是八九不离十。

ELO的一个基本特点和目前足球、篮球联赛的积分制度是正好相反的:在ELO算法下赢一個强队(等级分高的)的价值,要远高于赢一个烂队(等级分低的)

这是比较好理解的好比说下围棋,如果今天我能赢柯洁一盘基本仩能直接给我定个段了。但柯洁赢我一盘又有什么意义呢?

我就假定在另一个平行宇宙NBA 30支球队在玩天梯排位赛,一个队伍会随机地排箌另一个队伍然后打了一个赛季下来,每个队都正好打了82场比赛发生的顺序和战绩结果,正好和我们这个宇宙里的2018-19赛季的NBA常规赛一样!

但是我没办法进入到那个平行宇宙上虎扑查战绩排名所以我只能用我们这个宇宙里一个叫excel的软件模拟一下。

我设定的初始条件是这样嘚:

ELO大概的算法是这样:A和B对打比赛之前我判断一下谁胜率高,这个判断是完全基于当前的等级分的(比如某个队特别强只要想赢,見

一次灭一次但是为了争蔡恩选择了82连败,那么在ELO看来他就是一个弱队)

判断下来这个赛前胜利值期望两边加起来是1(因为两个队加起来只能赢一场球,要么你赢要么我赢)

如果觉得完全55开(两边等级分一样)初始胜利值期望就都是0.5,大家可以代进去算

400这个参数是經验值,我也不知道为什么这个参数越小,单场比赛带来的积分变化就会越大;越大积分变化就越小。400是通常情况下比较平衡的取值

有了初始的胜利值判断之后,就根据赛果来给分了如果强队赢了弱队,也就是爆冷弱队赚很多分,强队扣很多分如果是强队赢了弱队,那么强队得分很少(赢了是应该的)弱队的失分也很少(输了也不丢人)

K的取值我取了32. 据说职业围棋取的是16,为了防止最顶级的幾个棋手之间因为一两场比赛的胜负,就把等级分完全逆转32是通常情况下比较均衡的取值。

初始积分方面实在是很难做到完全准确叻。如果都以1000分开始赛季显然有问题。赛季初勇士和

打一场,难道赛前我们认为会是55开

如果以上赛季的排名而言,也不够科学因為休赛期人员变动很大。而且上赛季的排名也是在东西部分区的情况下打出来的,而不是按照ELO等级分来的

但是没办法,综合我们可以嘚到的数据上赛季的战绩已经是参考价值最大的了。而且这赛季还有1230场比赛即便初始ELO存在微小偏差,这么多比赛打完之后等级分也會逐渐更准确地反映球队的实力

根据上赛季的常规赛排名,我设定的初始ELO如下:

设置的比较粗略大致是按照常规赛胜率排名来的。第一昰1000名次下降一位就-10,如果胜率差了3%以上还要额外-10。如果胜率一样ELO就一样。

大家可以代几个值进去算算比如说

700分,差不多相当于认為太阳有15%胜率

然后我就根据NBA的赛程和战果,每发生一场比赛就按照刚才条件里的公式,在两个球队本场比赛开始前的等级分基础上根据赛果修改新的等级分。当然是用excel公式实现的(捂脸

等级分随着每个比赛日的变化表如下图示例

每个比赛日之后,不是每个球队都有仳赛的没比赛的,会保持之前的等级分

比如Oct 16这一行(灰色的),这是第一个比赛日在这一天之前的等级分,就是初始的

队打了比賽,输了所以分数掉到了904,显示在Oct17这一天的比赛开始前别的队没打比赛,所以在Oct17 和 Oct16两行是一样的

这么做有点怪,不过是为了excel里的操莋方便否则我每找一个值还得把行数-1。

每场比赛导致的变化表如下图示例。

还是用Oct16举例76人初始920分,

940分赛前算法判断凯尔特人胜率畧高一些。

如果是完全55开赛后的等级分变化应该是K值的一半,也就是16但这场比赛之后,76人输了符合算法的预期,扣分只有15分

截图の外举个例子,当地时间3月10日 太阳爆冷战胜了勇士这场比赛之后的等级分变化幅度是28分,为本赛季截至目前之最3月31日 雄鹿输给

(三)莋完了有什么发现

一共一千多场比赛,每场比赛之后要改两个球队的等级分这个运算量对于电脑来说太简单了

几乎是在将公式拖拽到所囿单元格的同时,一个个数字全都浮现了出来

最右侧从上到下就是ELO等级分的排名每一条线的颜色+连接点形状的组合都是不同的,虽然还昰密密麻麻但是大家可以放大了之后,从最右侧找自己关注的球队沿着线往左连回去~

不得不说火箭真是不容易,雄鹿的战绩含金量也昰很高的

赛季初是真的猛,其他东部球队是真的捞……

受不少JRS建议再多贴几个表

11月初,12月初圣诞大战,全明星周末315,清明节几个時间点分别列出当时的ELO值,

红色标出了各个时间点的前三名同时也可以关注一下和的变化轨迹……

还可以看看各支球队在整个赛季中嘚最低值、最高值之间的差异

直观看来,最稳定的似乎是夏洛特

目前都处于整个赛季的最佳状态

近期则是往下走了一些,雷霆则处于相對低谷的时期


nba赔率算法是怎样的?,看到的友友请幫忙解答!... nba赔率算法是怎样的?,看到的友友请帮忙解答!

易博论坛平台很广扩,去看看吧.

你对这个回答的评价是

你对这个回答的评价是?

采纳数:2 获赞数:0 LV2

你对这个回答的评价是

采纳数:0 获赞数:0 LV1

面的超级多台也是特色之一好多人一起玩过瘾

 
采纳数:0 获赞数:0 LV1
 

你对这个回答的评價是?

我要回帖

更多关于 什么不是算法的基本特性 的文章

 

随机推荐