文档
变点检测:精确定位流量的变化日期
使用 CUSUM 和二元分割法,找出每日点击量或展示量转入新水平的日期,并给出每次变化的幅度和置信度。
资源 → 高级 → 变点检测运行分析阅读需 1 分钟
变点检测会找出每日点击量或展示量稳定在新水平并持续下去的日期,而不是个别异常的日子。对于每个变点,报告会给出变化前后的平均值、以日常波动为基准衡量的变化幅度,以及置信度得分。在着手排查原因之前,可以用它精确确定下滑或增长是从哪一天开始的。
变化是如何被找出的
- 在整个时间窗口内,报告会累加每一天与窗口平均值的偏差,即累积和(CUSUM)。当水平发生变化时,这条累计曲线会出现拐折,离零线最远的那一天就是最可能的分割点。
- 分割点两侧各至少要有 7 天的数据。
- 变化幅度的计算方式是:两侧平均值之差除以两侧的合并标准差,也就是以正常的日常波动为单位。只有该数值达到你设定的灵敏度,这个分割点才会保留。
- 置信度来自置换检验:将该时间段内的各天顺序打乱 200 次,置信度即为打乱后 CUSUM 极差小于真实极差的次数所占的比例。
- 每个保留下来的分割点,会在其两侧继续搜索(二元分割法),最多找出 8 个变点。
灵敏度的范围是 0.5 到 3 个标准差,默认值为 1.5。数值越低,越能发现较小的变化。变点的日期是新水平的第一天。NIST 手册将 CUSUM 描述为适用于检测均值发生小幅、持续偏移的方法,这正是它在这里要处理的情形。
如何解读结果
- 指标卡片:检测到的变点(含分段数)、最大变化幅度(以百分比表示,并附该序列的日常波动)、最近一个变点(含方向和置信度),以及从第一段平均值到最后一段平均值的变化。
- 含变点的序列图会绘制每日数值、7 天平滑线以及各分段的平均值,并在每个变点处用虚线标出,同时显示变化百分比。
- CUSUM 统计量图展示累积和本身:这条曲线上斜率的变化,就对应序列中水平的变化。
- 表格列出日期、方向(上升或下降)、变化前平均值、变化后平均值、变化量、幅度(标准差单位)、置信度、变化前天数和变化后天数。
运行后如果更改指标或灵敏度,检测会在浏览器中重新计算。每次运行至少覆盖 90 天;如果所选范围更短,会向前延长,并有提示说明实际使用的日期。
它的前提假设
- 流量按平直的台阶变化。模型由一系列水平加上噪声构成。持续稳步攀升并没有单一的断点,因此可能被切成多个台阶,也可能一个变点都检测不到。
- 星期规律仍保留在数据中。每周的起伏被视为噪声,这会让较小的变化更难达到阈值。如果网站有很强的周度节律,请结合时间序列分解一起查看。
- 最近的变化需要时间才能显现。由于两侧各需要 7 天,最近六天内开始的变化暂时还无法检出。
- 置信度是参考,不是过滤条件。是否列出某个变点取决于变化幅度,而不是置信度。此外,置换检验把每一天视为相互独立,而相邻几天的流量实际上是相关的,因此请把置信度当作相对值来看,而不是精确的概率。
- 先找最大的断点。二元分割法先找出最强的分割点,再找较小的,所以相隔一周的两次变化可能会被合并报告为一次。
找到变点之后怎么做
把该日期与前后发生的事情对照起来:部署上线、迁移、模板改动、服务中断,或者 Google 排名更新。然后再次运行报告,并按目录、国家/地区或设备筛选,缩小范围,看看是网站的哪一部分发生了变化。找到原因后,可以将其记录为注释。