我有一个1比5的投票系统,我正在设法找到最受欢迎的投票项目,同时考虑到可能投票的总票数。为了得到总票数,我把"1“票算为-3,"2”票算为-2,"3“票算为+1,"4”票算为+2,"5“票算为+3,所以"1”票将抵消"5“票,反之亦然。
在这个例子中,假设我们有3部电影在3个不同大小的影院播放。
电影1: 800座/电影2: 400席/电影3: 180席
在某种程度上,我们限制了基于座位的总票数,所以我想让小剧院里的电影不会自动被大剧院里的电影压垮。可能会有更多的选票投在更大的剧院,从而导致更高的总分。
编辑10/18:
好吧,希望我能解释得更好。我在为一个电影节工作,我们正在为每部电影的第一次放映投票。因此,根据每家影院的大小,每部电影都有从0到最多的票数。我正在寻找最受欢迎的电影有三个类别:叙事,纪录片,短片。所谓流行,我指的是最高的平均票数和票数的组合。
这似乎是一个加权平均是我正在寻找的,给予更少的权重的选票从更大的剧院,更多的重量,从一个较小的剧院,以平衡的事情。
发布于 2011-10-18 04:04:12
你和加权平均数一起工作。
而不只是将元素的总数(算术平均数)相加并除以:
a + b + c
---------
3您正在为每个元素添加权重,因为它们并不都是均匀分布的:
w1*a + w2*b + w3*c
------------------
3在你的例子中,权重可能是:
# of people in current theater
--------------------------------
# of people in all the theaters让我们尝试一个测试用例:
Theater 1: 100 people (rating: 1)
Theater 2: 1,000,000 people (rating: 5)
Average = (100 / (100 + 1000000)) * 1 + (1000000/(100 + 1000000)) * 5
-----------------------------------------------------------
2
= 2.49980002发布于 2011-10-18 04:12:03
嗯,取决于你的目标,听起来你对某种加权平均值感兴趣。
继续以你的电影为例,在我看来,你是在努力评价这些电影的“好”程度。要做到这一点,您不希望将任何特定电影的观看次数太高地计入最终决定。但是,你得考虑一下,因为一部只有5次观看,平均评分为+2.7的电影,其可信度要比一部10,000次点击量相同的电影要低得多。
你可以考虑在结果中不包括一部电影,除非它有最少的票数。
发布于 2011-10-18 07:14:43
如果在{1,2,3,4,5}中均匀地分配选票,那么你的电影的预期评分是0.2。这是因为选票{1和5}相互抵消,{2和4}也是如此。但3票的期望值为1/5 = 0.2。因此,如果人们以相同的概率给出{1,2,3,4,5}的评分,那么你会期望一部电影(不管有多少人看)的平均评分接近0.2。
所以我认为你最好的选择就是把所有的分数加起来,除以看过每部电影的人数。这应该是一个很好的猜测,人们对电影的感情,因为平均分配不应该变得更大,仅仅因为更多的人看电影。
如果我是你,我也会建议在你的最终结果中增加一个小小的惩罚,考虑到一些人甚至不想去看电影。如果很多人一开始不想看这部电影,但是看过这部电影的5个人却给了它5分,那就不是一部好电影了,对吧?
因此,我建议的最后一个解决方案是:把你所描述的所有要点加起来,除以去看电影的总人数。虽然不完美(无论完美的意思是什么),它应该给你一些指示什么人喜欢和不喜欢。这在本质上意味着那些选择不看电影的人在积分总数上加了0,但仍然影响着平均值,因为最终结果除以更大的数字。
https://stackoverflow.com/questions/7802226
复制相似问题