【问题标题】:Adjusting votes based on different numbers of voters根据不同的选民人数调整选票
【发布时间】:2011-10-18 03:50:42
【问题描述】:

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

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

【问题讨论】:

标签: algorithm math voting weighted-average


【解决方案1】:

您正在使用weighted averages

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

 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

【讨论】:

  • 在您的测试用例中,当每个人都投票“5”时,最大可能结果是 2.5
  • OP 提到他正在寻找一种方法来防止大剧院的选票压倒小剧院的选票。或者我完全误解了这个问题。
  • 哦,别介意。这只是一个观察。我也不确定是否理解这个问题
【解决方案2】:

嗯,根据您的目标,您似乎对某种加权平均值感兴趣。

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

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

【讨论】:

  • 嗯,我真的只在 3 个类别中寻找最受欢迎的电影:叙事、纪录片、短片。
【解决方案3】:

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

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

【讨论】:

  • 你不能像这样取消平均值的一部分,预期平均值是 3
  • 如果票数分布均匀的话会是这样,但在大多数情况下,分布将​​是不均匀的,并且倾向于更多的人喜欢或讨厌这部电影。
  • 是的,对于均匀分布,但没有分布可以给你平均 0.2
  • 我所说的期望值是[-3,-2,1,2,3]点的期望值,而不是[1,2,3,4,5]的实际投票.因此,在计算 [-3,-2,1,2,3] 上的均匀分布变量的期望值时,您可以忽略 -3,-2,2,3 值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-11
  • 2016-08-17
  • 1970-01-01
相关资源
最近更新 更多