是否有一种算法,允许基于两个排名中的这些项目的位置的差异,但也可以用该位置“加权”,例如,一个从位置2-> 1的玩家应该排名高于从9-> 8的玩家。排名算法来比较“排名”
玩具为例,我有两个列表/排名:
等级1:
- Player的一个
- 玩家B
- 玩家C
- 球员d ...
排名2:
- 球员d
- 玩家C
- Player的一个
- 玩家B ...
我当时就想, “重量” 的排名,平均排名差(或其他值),例如,如果玩家从9-> 8,用于排名的值将是(9-8)/ avg(8,9)= 1/8,5。
是否有一种算法,允许基于两个排名中的这些项目的位置的差异,但也可以用该位置“加权”,例如,一个从位置2-> 1的玩家应该排名高于从9-> 8的玩家。排名算法来比较“排名”
玩具为例,我有两个列表/排名:
等级1:
排名2:
我当时就想, “重量” 的排名,平均排名差(或其他值),例如,如果玩家从9-> 8,用于排名的值将是(9-8)/ avg(8,9)= 1/8,5。
你想要什么似乎或多或少等于Spearman's rank correlation在非参数统计。它基本上总和了amount_moved的平方(旧的等级和新的等级之间的差异)
但是,如果它仅以'amount_moved'的形式,那不会给(9-> 8)=(2-> 1)?即他试图避免的事情? – 2012-02-05 13:31:55
是的,没有。这只是打算让人大开眼界/建议阅读。使'1 <--> 2'大于'9 <--> 10'表示存在一些未知的基础分布(泊松?)。通常,在游戏排名中,amount_played是所用权重的一个因素。在实际情况下,公式中也会出现衰减。 – wildplasser 2012-02-05 13:45:02
如果这两个排名不是由相同的项目做出的呢? Google针对TOIS 2010的“无限期排名相似性度量”。 – 2012-11-26 19:20:01
向后数列表。计算位置之间移动的“值”,作为这些数字的平方差。
所以,如果你有在你的名单10项:
10^2 - 9^2 = 19
3^2 - 2^2 = 5
。很难说这是不是你在追求什么样的相对重量之后。如果这不适合你,请尝试提高/降低指数以找到适合的东西。
感谢您的回答......我认为这种方式可行。 我想定义一些参数来定义权重。例如,定义一些规则:2-> 1应当与从最后一个位置开始移动1/4的等级相关,或者类似的,以便有方法来定义哪些跳跃是最相关的。 – 2012-02-05 15:10:19
哪个应该更好? [2-> 1]或[5-> 3]?那么[2000-> 1998]/[2-> 1]呢?你应该制定每个因素的重要性。 – amit 2012-02-05 12:53:45
@amit这就是问题,我不确定哪个应该更重要。我想排名球员,例如网球运动员,并能够在排名中看到最相关的“跳跃”。例如,从2-> 1的玩家应该是最重要的变化,但是由于其“大小”的改进,从2000到1000的“跳跃”的玩家应该是重要的。 我只是想知道有没有人遇到过这个问题。 – 2012-02-05 13:04:25