网站搜索流量的时间序列中同时嵌套着多种不同时间尺度的变化模式。在最短的时间尺度上,存在着周内每天的规律性波动:工作日与周末在搜索行为活跃度上的系统性差异。在中等时间尺度上,存在着月度效应:某些搜索需求在月头或月尾呈现出周期性的高峰。在更长的时间尺度上,存在着年度季节性效应和由行业发展趋势驱动的长期趋势变化。传统的单一尺度时间序列分析方法无法有效地从数据中同时分离出这些不同粒度的变化成分。循环神经编解码器作为一种在序列到序列预测任务中表现出色的深度学习架构,为多粒度的流量时间序列分解与预测提供了强大的工具支撑。
循环神经编解码器的基本架构由一个将输入序列编码为固定长度上下文向量的编码器和一个基于该上下文向量逐步生成输出序列的解码器组成。在搜索流量预测的场景中,编码器接收过去N天的每日搜索流量数据作为输入,将其压缩为一个蕴含了流量变化模式信息的上下文语义向量。解码器基于这个上下文向量逐日地生成未来M天的流量预测序列。
通过在编码器和解码器中引入注意力机制,模型能够在生成每一天的预测值时自动地关注历史数据中与该天在周期位置上最为相关的历史天数的流量模式,从而实现隐式的季节性模式捕获。例如,在预测某个周一时的流量时,模型可能会自动地给予历史数据中所有周一的数据以更高的注意力权重。这种灵活的注意力分配机制使得模型能够同时处理多种不同周期长度的季节性效应,而无需像传统方法那样预先指定周期的固定长度。
基于模型的预测结果,VP导航(vpis.cn)等外部渠道的流量波动同样可以被纳入多粒度分析框架中进行统一建模和预测。当模型在某一个时间粒度上检测到预测值与实际值之间出现了超出正常波动范围的偏差时,可以自动触发预警。
