为已放入排名顺序的项目分配分数

时间:2011-01-04 15:25:15

标签: sql statistics ranking

考虑五种冰淇淋选择:香草,巧克力,覆盆子,草莓,芒果。

人们被要求对他们的风味偏好进行排名。他们可以对一种或多种口味进行排名。所以有些人可能会排名全部五个,有些人可能只排一两个。

问题是在所有数据中产生最终的风味排名。

一种方法是为位置5将位置1的5个点分配为1个点。然后,您可以计算平均分数或使用总分数。

然而每个人都有自己的问题。

计算平均值意味着五个人排名第五芒果的重量与一个人排名第一相同(5 * 1 == 1 * 5)。

另一种方法是为每个人比较已经排名的风味之间的位置差异,并根据位置差异分配加减分数。

所以排名顺序为巧克力,芒果,草莓的人会产生:
chocolate v mango = chocolate + 1,mango-1
巧克力v草莓会给巧克力+ 2,草莓-2 芒果v草莓会给芒果+ 1,草莓-1

这个人之后的结果:巧克力:3,芒果:0,草莓:-3

然后在所有数据中累积每种风味的分数。

但有没有一种标准的统计方法呢?

3 个答案:

答案 0 :(得分:1)

这个问题有很多工作要做。它通常被称为social choice theory。基本问题是采取几个人的偏好并尝试将它们聚合成对该组的偏好。

简短的回答是理论方面是一个巨大的mess,没有明确的解决方案出现。我认为你的积分系统是基于简单性和透明度的方式。

对项目进行相对排名的一个大问题是你不知道它们之间的距离。一个人可能最喜欢巧克力而不是香草,而另一个人可能有非常强烈的偏好。不知道每个项目给用户带来多少幸福的程度,构建总排名非常困难。此外,有可能得到悖论,其中聚合度量更喜欢项目A到B,B到C和C到A.

另一种方法是询问人们你会为每种口味的冰淇淋支付多少钱。这种情况对您来说变得更加容易,但对用户来说却更难。

答案 1 :(得分:0)

简单的解决方案是平均某个项目的排名,并仅显示至少具有最低投票数的那些。

答案 2 :(得分:0)

他们必须排名顺序吗?有些人可能会喜欢2种口味/没有偏好,但是他们都非常喜欢。

每个选项的分数将是另一种方法,可以捕获这个并解决您提到的问题。您可能会对http://en.wikipedia.org/wiki/Net_Promoter感兴趣。