按分数和相对频率对项目进行排名

时间:2014-10-09 07:38:09

标签: algorithm ranking

我想通过比较篮子1中频率与另一篮子2中频率的比率来对项目类型进行排名。

例如,如果项目类型A在篮子1中有大约5个计数,在篮子2中有0个计数,那么它应该比B类高得多,比如篮子1中的10个项目和篮子2中的10个项目。我使用赔率比率abs(log(freq in basket1/freq in basket2)),但这并未表明我应将abs(log(10/100))设为abs(log(1/10))的优先级。

我在考虑是否将此结果乘以总计数,例如(10+100)abs(log(10/100)),但是这个数量似乎又压倒了日志值。

衡量对数值的好建议是什么?

1 个答案:

答案 0 :(得分:0)

这些类型任务的标准方法是将项目建模为生成篮子的偏向硬币,B1概率为p,B2为1 - p。直观地说,这意味着项目类型具有底层真实比率的篮子,这在篮子之间产生特定的项目分割。所以“90%A”可能会产生[9,1]但也会产生[10,0]甚至[0,10],尽管这个结果的概率非常低。

然后,您可以查看[5,0]和[10,1]等样本,并计算参数p的置信区间,然后按区间的下限对项类型进行排名。这种方式[10,2]将排在[5,1]之上。即使两个样本中的比例相同,[10,2]也会有较窄的置信区间,因此其下限会更高。

这个想法和一些更详细的公式描述于:http://www.evanmiller.org/how-not-to-sort-by-average-rating.html