繁体   English   中英

标准分数的时间范围

[英]Time frames for Standard score

为了查找热门话题,我将标准分数与移动平均线结合使用:

z-score = ([current trend] - [average historic trends]) / [standard deviation of historic trends]

(非常感谢,Nixuz)

到目前为止,我是这样做的:

无论时间是什么,对于历史趋势,我只需 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM