Sql 将分数分配给按排名顺序排列的项目

Sql 将分数分配给按排名顺序排列的项目,sql,statistics,ranking,Sql,Statistics,Ranking,考虑五种冰淇淋的选择:香草、巧克力、覆盆子、草莓、芒果 人们被要求对他们的口味进行排序。他们可以对一种或多种口味进行排序。因此,有些人可能会把所有的人都排在第五位,有些人可能只排在一到两位 问题是要在所有数据中对口味进行最终排名 一种方法是为位置1分配5个点,向下为位置5分配1个点。然后,您可以计算平均分数或使用总分 然而,每一种都有自己的问题 计算平均值意味着排名芒果第五的五个人的权重与排名第一的一个人相同(5*1==1*5) 另一种方法是,对每个人比较已经排名的口味之间的位置差异,并根据位置

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

人们被要求对他们的口味进行排序。他们可以对一种或多种口味进行排序。因此,有些人可能会把所有的人都排在第五位,有些人可能只排在一到两位

问题是要在所有数据中对口味进行最终排名

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

然而,每一种都有自己的问题

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

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

所以排名顺序是巧克力、芒果、草莓的人会生产:
巧克力vs芒果=巧克力+1,芒果-1
巧克力与草莓的比例为巧克力+2,草莓-2
芒果和草莓会得到芒果+1,草莓-1

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

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


但是有没有一种标准的统计方法可以做到这一点呢?

简单的解决方法是对一个项目的排名进行平均,只显示那些至少拥有最少票数的项目。

它们必须按排名顺序排列吗?有些人可能同样喜欢两种口味/没有偏好,但都非常喜欢


每个选项的分数将是另一种方法,它可以捕捉到这一点并解决您提到的问题。您可能感兴趣。

关于这个问题有大量的工作要做。它通常被称为。基本问题是将几个人的偏好汇总成对群体的偏好

简而言之,理论方面是一个巨大的问题,没有明确的解决方案。我认为你们的计分系统是在简单和透明的基础上发展起来的

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


另一种方法是询问人们,每种口味的冰淇淋一个蛋筒要花多少钱。这种情况对你来说容易多了,但对用户来说就难多了。

sql和asp标记是必要的吗?这似乎更多地是关于统计模型,而不是实现,你是否考虑过询问:这似乎是一种好方法。我没想到这会像一个多候选人、多席位的投票系统。我相信巴黎排名法相当于第一名得4分,第二名得3分,第三名得2分,第四名得1分。这几乎就是你的积分系统,权重略有不同。虽然冰激凌可能不值得深思,但社会选择理论变得更为繁重,因为一旦你公布了你将如何从回答中确定胜利者,用户将有一种系统性的动机来歪曲他们的实际偏好以达到他们想要的目的。看见