【发布时间】:2011-02-15 03:48:03
【问题描述】:
用户在 t 时间访问我的网站,他们可能会或可能不会点击我关心的特定链接,如果他们这样做,我会记录他们点击该链接的事实,以及自他们点击它t以来的持续时间,称之为d。
我需要一个允许我创建这样的类的算法:
class ClickProbabilityEstimate {
public void reportImpression(long id);
public void reportClick(long id);
public double estimateClickProbability(long id);
}
每次展示都有一个唯一的id,在报告点击时使用它来指明点击属于哪个展示。
我需要一种算法,该算法将返回一个概率,该概率基于自报告展示以来已经过去了多少时间,该展示将获得一次点击,具体取决于之前的点击所需的时间。显然,如果仍然没有点击,这个概率会随着时间的推移而降低。
如有必要,我们可以设置一个上限,超出该上限我们认为点击概率为 0(例如,如果距离展示发生一小时后,我们可以确定不会有点击) .
该算法应该既节省空间又节省时间,并希望尽可能少地做出假设,同时保持优雅。易于实施也很好。有什么想法吗?
【问题讨论】:
标签: algorithm statistics probability