1

我有一个 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 到最大票数。我正在寻找 3 个类别中最受欢迎的电影:叙事、纪录片、短片。我所说的受欢迎是指最高平均票数和票数的组合。

似乎加权平均数是我正在寻找的,对较大剧院的投票给予较小的权重,而对较小剧院的投票给予更多的权重以平衡事情。

4

3 回答 3

2

您正在使用加权平均值

而不是仅仅加起来除以元素的总数(算术平均值):

 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-18T04:04:12.297 回答
1

好吧,根据您的目标,听起来您对某种加权平均值感兴趣。

继续您的电影示例,在我看来,您正在尝试评价电影的“好”程度。为此,您不希望将任何特定电影的观看次数过多地考虑到最终决定中。但是,您必须考虑到这一点,因为一部仅被观看 5 次且平均评分为 +2.7 的电影的可信度远低于观看次数为 10,000 次且获得相同评分的电影。

您可能会考虑干脆不将一部电影包括在结果中,除非它有最低票数。

于 2011-10-18T04:12:03.567 回答
0

给定 {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 星的评价,那它就不是一部好电影,不是吗?

所以我建议的最终解决方案是:将您描述的所有分数相加,然后除以去过电影院的总人数。虽然并不完美(无论完美意味着什么),但它应该让您了解人们喜欢什么和不喜欢什么。这实质上意味着选择不看电影的人在总分上加零,但仍会影响平均值,因为最终结果除以更大的数字。

于 2011-10-18T07:14:43.233 回答