作者简介
饭饭爱吃饭,携程高级数据分析师,主要负责旅游领域数据赋能相关工作。对旅游趋势识别与推荐、旅游广告投放、旅游LBS等领域有浓厚兴趣。
一、背景
随着大数据的发展,自然科学、社会科学、工业工程、金融科技等领域都积累了海量的数据,在这些海量的数据中,时间序列数据(按时间戳顺序依次到达的数据)是其中重要的组成部分。利用这些时间序列数据来预测其未来一段时间的状态有着广泛的应用场景,比如在金融领域被使用来做现金流量预测、股票价格预测,在零售行业被使用来做业务收入预测、库存消耗预测,在旅游行业被使用来预测旅游订单量、客服服务量等,在气象、人口密度预测等方面也被广泛使用来帮助决策者做出有数据支撑的重要决策。
在携程也有一些时间序列预测相关的业务场景,比如下单量预测、话务量预测、客流量预测等,以下将介绍我们在处理时间序列预测相关问题使用的一些方法与思考。
二、时间序列预测比较常见的工具方法
通常来说,时间序列预测工具方法可以归结为三大类:一类是基于业务场景理解的因子预测模型,一类是传统时间序列预测模型,比如均值回归、ARIMA、指数平滑预测法(比如Holt-Winters)等,还有一类是机器学习模型,比如支持向量机、树模型(比如GBM、QRF)、神经网络模型(比如RNN、CNN)等。
2.1 基于业务场景理解的因子预测模型
基于因子的时序预测是一种传统的预测手法,在一些特定场景有着比较好的表现,比如某条业务线刚起步,历史数据的积累有限的时候。同时该方法基于其业务解释性强、准确率也比较高的特点,可以作为时序预测项目的baseline,并且在黑盒模型做输出时,可以帮助进行后置校准,避免输出较大的偏差。
以下举几个案例:
1)需要展示的客流量预测
需要进行展示的客流量预测这样的场景,是一个模型解释性要求比较高,同时周期性较强的场景。那么对于这样的业务场景,可以考虑分解出最重要的周期因子,来进行可解释地稳定地预测。具体实施的时候:考虑到时间序列数值除了受本身业务的影响,存在固定的周期性波动,同时还会受到已知或者未知事件的影响。因此在预测时,会单独将一些已知的重要事件单独进行预估,在基础预测的再叠加事件的影响。
这样的场景,因子预测的公式可以是:某日话务量 = 日话务基准量 * 周规律因子 * 事件影响因子
周规律因子的计算逻辑:基于对一段时间的周规律因子总结,可以得到周规律因子(可以以日话务量与周话务总量的比例关系来做因子,也可以以相邻几天日话务量之间的比例关系来做因子)