[英]Time frames for Standard score
为了查找热门话题,我将标准分数与移动平均线结合使用:
z-score = ([current trend] - [average historic trends]) / [standard deviation of historic trends]
到目前为止,我是这样做的:
无论时间是什么,对于历史趋势,我只需 go 返回 24 小时。 假设我们现在是 1 月 12 日下午 3:45:
当前趋势 = 命中 [1 月 11 日 3:45 - 1 月 12 日 3:45]
historical_trends = hits [Jan 10, 3:45 - Jan 11, 3:45] + hits [Jan 9, 3:45 - Jan 10, 3:45] + hits [Jan 8, 3:45 - Jan 9, 3: 45] +...
但这真的足够了吗? 如果我总是在 00:00 点开始不是更好吗? 例如,以这种方式处理相同的数据(下午 3:45):
当前趋势 = 命中 [1 月 11 日 0:00 - 1 月 12 日 0:00]
historical_trends = hits [Jan 10, 0:00 - Jan 11, 0:00] + hits [Jan 9, 0:00 - Jan 10, 0:00] + hits [Jan 9, 0:00 - Jan 9, 0: 0] +...
我相信结果会有所不同。 但是哪种方法会给你带来更好的结果呢?
我希望你已经理解我的问题并且可以帮助我。 :) 提前致谢!
我认为您在当前实施中可能遇到的问题是 23 小时前的热门话题现在正在影响您的排名。 我在您提出的新实施方案中看到的问题是,您要在午夜时分清空过去,因此昨晚很热门的话题在第二天早上似乎不会很热门(但它们应该如此)。
我建议您考虑实施一种 Digg 风格的算法,其中主题的热度会随着年龄的增长而衰减。 为此,您可以计算过去 24 小时内每个时段的点击次数/小时,然后将每个时段得分除以该时段发生的小时数。 将 24 个周期相加得到分数。
辣度 = (score24 / 24) + (score23 / 23) +... + (score2 / 2) + score1
其中 score24 是一个主题在 24 小时前的一小时内获得的“点击”次数(可能不是准确的点击,而是该小时的归一化分数)。
这样,24 小时前的热门话题仍会计入您的算法,但不会像 1 小时前的热门话题那样重要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.