假设我的网站上的一篇文章有以下数据集:
Article 1
2/1/2010 100
2/2/2010 80
2/3/2010 60
Article 2
2/1/2010 20000
2/2/2010 25000
2/3/2010 23000其中,列1是日期,列2是文章的页面浏览量。要确定这篇文章在最近3天内是上涨还是下跌,可以进行什么基本速度计算?
注意,文章不会知道总浏览量,只知道自己的总浏览量。理想情况下是一个介于0和1之间的数字。有没有关于这类算法叫什么的指针?
谢谢!
发布于 2011-06-04 10:01:32
更新:你的数据实际上已经是一个速度列表(页面浏览量/天)。下面的答案简单地展示了如何找到过去三天的平均速度。有关如何计算页面浏览加速的信息,请参阅我的other answer,这可能是您正在寻找的真实统计数据。
速度仅仅是一个值(增量页面浏览量)随时间的变化:
2010年2月3日第一条:
delta pageviews = 100 + 80 + 60
= 240 pageviews
delta time = 3 days
pageview velocity (over last three days) = [delta pageviews] / [delta time]
= 240 / 3
= 80 pageviews/day2010年2月3日的第2条:
delta pageviews = 20000 + 25000 + 23000
= 68000 pageviews
delta time = 3 days
pageview velocity (over last three days) = [delta pageviews] / [delta time]
= 68,000 / 3
= 22,666 + 2/3 pageviews/day现在我们知道了最大速度,我们可以缩放所有速度以获得0到1之间(或0%到100%之间)的相对速度:
relative pageview velocity of article 1 = velocity / MAX_VELOCITY
= 240 / (22,666 + 2/3)
~ 0.0105882353
~ 1.05882353%
relative pageview velocity of article 2 = velocity / MAX_VELOCITY
= (22,666 + 2/3)/(22,666 + 2/3)
= 1
= 100%发布于 2011-06-07 01:00:02
“页面浏览趋势”可能指的是页面浏览加速,而不是速度。你的数据集实际上已经是一个速度列表(页面浏览量/天)。页面浏览量是非递减值,因此页面浏览量速度永远不能为负值。下面介绍如何计算pageview加速,可能是负值。
PV_acceleration(t1,t2) = (PV_velocity{t2} - PV_velocity{t1}) / (t2 - t1)
("PV" == "Pageview")解释:加速度仅仅是速度的变化除以时间的变化。由于您的数据集是页面查看速度的列表,因此您可以将它们直接插入公式中:
PV_acceleration("2/1/2010", "2/3/2010") = (60 - 100) / ("2/3/2010" - "2/1/2010")
= -40 / 2
= -20 pageviews per day per day注意:未使用"2/2/2010“的数据。另一种方法是计算三个PV_accelerations (使用仅返回一天的日期范围)并取其平均值。您的示例中没有足够的数据来完成这三天的操作,但以下是最后两天的操作方法:
PV_acceleration("2/3/2010", "2/2/2010") = (60 - 80) / ("2/3/2010" - "2/2/2010")
= -20 / 1
= -20 pageviews per day per day
PV_acceleration("2/2/2010", "2/1/2010") = (80 - 100) / ("2/2/2010" - "2/1/2010")
= -20 / 1
= -20 pageviews per day per day
PV_acceleration_average("2/3/2010", "2/2/2010") = -20 + -20 / 2
= -20 pageviews per day per day这种替代方法不会对文章1的数据产生影响,因为这两天的页面视图加速没有变化,但它会对文章2产生影响。
发布于 2011-06-04 09:39:24
这只是一篇关于“流行”算法reddit,SUs和HN使用的文章的链接。
https://stackoverflow.com/questions/6234123
复制相似问题