在阅读了处理伯努利参数置信区间的How Not To Sort By Average Rating之后,您将如何将其扩展到两个以上的级别?
例如:项目得分在 1 到 5 之间(1 是最差的,5 是最好的)。调整每个项目的平均分数以考虑它收到的分数数量的最佳方法是什么(一个 5 分不应该给它平均 5 分!)?

在阅读了处理伯努利参数置信区间的How Not To Sort By Average Rating之后,您将如何将其扩展到两个以上的级别?
例如:项目得分在 1 到 5 之间(1 是最差的,5 是最好的)。调整每个项目的平均分数以考虑它收到的分数数量的最佳方法是什么(一个 5 分不应该给它平均 5 分!)?

解决问题的一种方法是将其视为贝叶斯估计问题。
基本上,这意味着对你的平均值有一个先验,并随着时间的推移根据每个新的观察来更新平均值。
实现此目的的一种实用但理论上存在争议的方法是根据语料库中的平均值和您对该项目的实际观察结果来计算平均值。更准确地说,在推荐系统设置中,这可能意味着您将平均值初始化为您正在处理的项目类别的平均值(在您的示例中可能是“统计书籍”),然后在每次用户提供时更新它对该特定项目的评分。
您可以设计一个具有统计基础的巧妙更新规则,或者依靠常识快速生成一个基本更新规则,如下所示:
X : item
r_X^i : i-th rating for item X
C : all item in the same category as X, discarding empty ratings
mean_C = (1/|C|) * sum_{c in C} sum_{i} (r_c^i)
# when no rating => use category mean
mean_X^0 = mean_C
# when j ratings => ponderate category mean with actual ratings
mean_X^j = (1/n+1)(mean_C + sum_{i=1..n}(r_X^i))
在处理这类问题时,我建议阅读Koren 等人关于 Netflix 挑战的工作。他们通过对用户和内容变量使用无监督学习获得了相当多的性能——使用类别的想法意味着是一个相似但幼稚的表亲。
在您给出的示例中,只有一个人审查并给出了 5/5 的分数。在这一点上,我想说你没有足够的信息来给出平均值(或中位数)的信息估计。可能的分数是 1、2、3、4 或 5,所以你只能说平均数在 1 到 5 之间,并且地球上的一个人真的很喜欢这本书。
但是,如果您有更多人评论,您可以为该真实平均评论分数构建一个置信区间。这样你就可以给出一个置信水平和评级的一些上限和下限。(例如 95% 的人认为这本书的评分在 4.2 到 4.8 之间)。您拥有的审阅者越多,这些界限就越严格,因此它们确实会考虑收到的分数数量。
但是,典型的基于高斯的置信区间理论仅在您有来自某些总体的随机样本时才成立。这里的人群没有明确定义,也许是那些通过那个网站买过书的人。另外,我不会说在线评论者是一个随机样本。我发现书评(与许多在线评论一样)会吸引那些极端喜欢或讨厌该产品的人。但也许最好不要过多关注这些问题......
我认为你所暗示的想法是,如果一个人给一本书 5/5,这可能不应该被认为比 200 人评论的平均 4.5/5 更好。你提到了“平均”,所以也许你只想要一个可以轻松排序的数字摘要。
我对威尔逊分数区间不太熟悉,但它看起来类似于高斯置信区间,但它的构造是基于分数统计的。
您可能想研究某种加权平均数,该加权平均数会因样本量小而受到惩罚。