我正在寻找一种方法来衡量我的结果,以获得“最佳”评分最高的结果。
我有一个包含评级(0-5),提及和名称的表格。
即
RATING MENTIONS NAME
2.5 15 Bob
4.4 14 Susan
1 60 John
5 2 Steve
提及和评级都很重要,因此仅按评级排序将无法获得所需的结果。
这个例子;虽然史蒂夫评分最高,但他很少提及,所以我不太自信他是“最好”评分最高的人。苏珊有几次提及和高评价所以她应该超越史蒂夫。约翰的评分非常低,但很多提及,如果他提到了大量的提及,他应该只会超过任何其他人。
理想的结果将类似于
RATING MENTIONS NAME
4.4 14 Susan
5 2 Steve
2.5 15 Bob
1 60 John
感谢帮助!
答案 0 :(得分:2)
最简单的方法是
RATING * RATING * Mentions
这将提供以下内容:
RATING MENTIONS NAME SCORE
2.5 15 Bob 93.75
4.4 14 Susan 271.04
1 60 John 60
5 2 Steve 50
这是一种非常简单的“权衡”评级值的方法。
显然你可以走得更复杂,但我认为上面的内容已经足够了,而且查询很简单,所以如果你喜欢这种方法,我会让你自己尝试解决这个问题!
显然你可以添加另一个RATING,如果你想要很高的评级或者将它乘以一个固定的数量 - 但是平方/ POWER是关键(你可以尝试RATING ^ 2.5
)(^是POWER)
答案 1 :(得分:1)
当我遇到这个问题时,我经常采用将评级降低一个标准误的方法。标准错误的公式为:
standard deviation for the group / sqrt(group size)
如果您有每组的标准差,我会使用以下方式订购:
order by (case when mentions > 1 then stdev / sqrt(mentions) end)
这并不像埃文米勒的建议那样“惩罚”(Juergen指出)。这基本上使置信区间更像是60%而不是95%。不可否认,我的偏好有点经验(基于经验)。但是,多重比较存在问题,您无需估计确切的置信区间 - 您只需知道它们的相对顺序。
您可以使用函数stdev()
计算标准偏差。
答案 2 :(得分:0)
嗯,我的统计数据并不是很好,但是根据你的预期结果,我相信你需要找到每个属性的重要性。哪一个比另一个更重要,我想你可以使用下面的等式:
values = weight * RATING + (1-weight) * MENTIONS
你可以玩重量值,直到你得到你想要的东西..对我来说0.8种有意义..
RATING MENTIONS NAME SCORE
4.4 14 Susan 6.32
2.5 15 Bob 5
5 2 Steve 4.4
1 60 John 2