Math 按比赛次数加权获胜百分比

Math 按比赛次数加权获胜百分比,math,ranking,weighted,Math,Ranking,Weighted,我想在一个游戏网站上为用户创建一个排名系统 系统应以加权获胜百分比为基础,加权元素为所玩游戏的数量 例如: 55胜2负=96%胜率 1胜0负=100%获胜百分比 第一个记录的排名应该更高,因为他们有更多的胜利。 我相信数学是非常简单的,我只是不能把我的头围绕它。有人能帮忙吗?是的,它非常简单: 要舍入为整数,通常使用round或Math.round(但未指定编程语言) 该值可以使用给定的比率根据获胜次数加权: Rank = Wins * Wins / (Wins + Losses) 但也有其

我想在一个游戏网站上为用户创建一个排名系统

系统应以加权获胜百分比为基础,加权元素为所玩游戏的数量

例如:

55胜2负=96%胜率

1胜0负=100%获胜百分比

第一个记录的排名应该更高,因为他们有更多的胜利。 我相信数学是非常简单的,我只是不能把我的头围绕它。有人能帮忙吗?

是的,它非常简单:

要舍入为整数,通常使用
round
Math.round
(但未指定编程语言)

该值可以使用给定的比率根据获胜次数加权:

 Rank = Wins * Wins / (Wins + Losses)

但也有其他系统更能理解这个问题,比如Elo(见我的评论)。

Elo更全面,因为它在得分时会考虑对手的实力,但如果对手是随机匹配的,一种简单而有效的方法是:

(赢+恒定*所有玩家的平均赢百分比)/(赢+输+恒定)


因此,对于0场比赛,公式是所有球员的平均值,随着比赛次数的增加,公式收敛于实际记录。常数决定了它的速度,你可以选择5到20之间的某个值。

另一种可能是我的答案。基本上,使用赢的次数来确定玩家赢一场比赛的可能性范围,然后取较低的概率。这使得55-2击败1-0的信心水平的任何合理选择。(由于没有理由不这样做,我建议将其设置为50%——详情见帖子,其实很简单。)


作为一个小的技术旁白:我看到了一些使用Wald间隔而不是Agresti-Coull的建议。实际上,对于大的输入,它们给出了相同的结果。但如果游戏数量可能很少,我们有充分的理由选择Agresti Coull。(顺便说一句,我自己想出了这个主意,虽然我肯定不是第一个,只是后来才发现它有点标准。)

分数=(每赢分数)*(赢的次数)+(每输分数)*(输的次数)怎么样,其中每赢分数是正数,每输分数是负数,选择适合您的应用程序。

嘿,谢谢您的回答。我认为这是获胜百分比的基本公式,但它没有考虑加权因素。1*100/1=100,因此高于第一条记录。也许我的最终排名单位不应该是这个的百分比,而是我通过一些过程得出的整数?那么,什么可以被视为权重?我的回答中的输赢率已经反映了这一点,所以比赛的数量不会是这样的。我想说一个更好的权重应该是玩家与之对抗的对手的技能水平(例如,胜负比)。但这个问题已经解决了,例如,在Elo排名系统中(对该术语进行网络搜索)。当然,我会查看Elo。我也一直把RPI和BCS作为体育运动的例子。我想我会做一些更多的思考,如何以及为什么我想这样做,然后再回复你。谢谢你的帮助。
 Rank = Wins * Wins / (Wins + Losses)