使用每日访问量确定网站是否处于活动状态


15

内容:

我有一组网站,每天记录访问量:

W0 = { 30, 34, 28, 30, 16, 13, 8, 4, 0, 5, 2, 2, 1, 2, .. } 
W1 = { 1, 3, 21, 12, 10, 20, 15, 43, 22, 25, .. }
W2 = { 0, 0, 4, 2, 2, 5, 3, 30, 50, 30, 30, 25, 40, .. } 
...
Wn 

一般问题:

  • 如何确定哪些站点最活跃?

我的意思是最近几天访问量增加或访问量突然增加。出于说明目的,在上面的小示例中,W0最初会很流行,但开始表现出抛弃状态,W1表现出稳定的人气(带有一些孤立的峰值),W3处于平静的启动之后是重要的上升)。

最初的想法:

在SO上找到了这个线程,其中描述了一个简单的公式:

// pageviews for most recent day
y2 = pageviews[-1]
// pageviews for previous day
y1 = pageviews[-2]
// Simple baseline trend algorithm
slope = y2 - y1
trend = slope * log(1.0 +int(total_pageviews))
error = 1.0/sqrt(int(total_pageviews))
return trend, error

这看起来既好又容易,但是我遇到了问题。

该计算基于斜率。很好,这是我感兴趣的功能之一,但是恕我直言,它在非单调系列中存在问题。想象一下,在某些日子里,访问次数恒定(因此坡度= 0),那么上述趋势将为零。

问题:

  • 如何处理两种情况(单调增加/减少)和大量匹配?
  • 我应该使用单独的公式吗?

1
我很惊讶您尚未收到任何答案(尽管这是一个很受欢迎的问题)。由于您的四个项目符号本身都值得提出一个问题,因此如何将这个问题限制为其中一个问题,然后将其他问题张贴在单独的问题中。它们都是非常好的问题,需要采取不同的方法,所有这四个问题都值得单独考虑。
安迪W

嗨,安迪,非常感谢您的回答。我将尝试重述一下,一次只关注一个问题。我最初的想法是使它尽可能广泛(并避免在以后重复相同的问题),但是由于缺少答案,因此似乎有人回答太笼统了。

我编辑了这个问题,以揭示我最感兴趣的两个主要问题。鉴于他们的紧密关系,我选择将它们放在同一问题中。

1
我仍然无法理解为什么只有一个估计值并带有一个很小的误差会使方法“不可用”。
一站式

感谢您的评论。我并不是说方法(趋势计算)不可用,但其错误计算可能会带来潜在问题。鉴于到目前为止我还没有答案,所以我将从问题中删除该项目,以希望它变得更容易回答。

Answers:


4

听起来您正在寻找“在线变更点检测方法”。(这对于谷歌搜索来说是一个有用的短语。)最近一些有用的(可访问的)论文是Adams&MacKay(贝叶斯方法)和Keogh等人。 您可能可以将R 的监视程序包投入使用。可以使用统计过程控制方法来找到大量孤立的匹配。


2

解决这类问题的方法肯定越来越少。从事物的声音来看,您从一个非常简单的解决方案(在SO上找到的公式)开始。考虑到这种简单性,我想我将重新考虑您在帖子(当前版本)中提出的一些要点。

到目前为止,您已经说过要对“站点活动”进行度量以捕获:

  • “过去几天”内每天访问量的斜率变化
  • “过去几天”中每天访问量的幅度变化

正如@ jan-galkowski指出的那样,您似乎(至少是默认地)对这些维度上站点相对于彼此的排名感兴趣。

如果该描述是准确的,我将建议探索将这三个量度(变化,大小,等级)作为单独的组成部分的最简单解决方案。例如,您可以获取:

  • 捕获坡度变化的SO解决方案的结果(尽管我会合并3或4天的数据)
  • 每个站点最近访问量/天的值(y2)除以该站点的平均访问量/天(Y):

y2 / mean(Y)

分别对于W0,W1和W2,得出0.16、1.45和2.35。(为便于解释,请考虑一个站点,其最近的“每日访问量”值等于“每日平均访问量”的结果为1)。请注意,您还可以调整此度量以捕获最近2天(或更长时间):

y2 + y1 / 2 * mean(Y)

这将为您的三个样本站点生成0.12、1.33、1.91。

实际上,如果您使用每个站点的访问/天分布的平均值进行这种度量,那么我还将查看分布的标准差以了解其相对波动性。每个站点的访问/天分布的标准差是:12.69、12.12和17.62。考虑y2/mean(Y)相对于标准偏差的度量是有帮助的,因为它可以让您保持站点W2上最近活动的大小(更大的标准偏差=总体上不稳定/不一致)。

最后,如果您对排名感兴趣,也可以朝着这个方向扩展这些方法。例如,我认为了解站点的每日最新访问量值以及每个站点每天平均访问​​量的排名(mean (Y)每个Win 的排名Wn)可能会很有用。同样,您可以根据自己的需要进行定制。

您可以将所有这些计算的结果显示为表格,或者创建定期更新的可视化文件以每天进行跟踪。


1

警告:网站的用户到达率是令人讨厌的序列,往往过于分散(从Poisson的角度来看),因此请考虑负二项式分布来查看到达率及其拟合度。另外,您可能希望检查站点每天的订单统计信息,而不是它们的数量。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.