我们的任务是对未来某一天的话务量进行预测(可能是普通工作日,或者节假日)。
其实在项目中最初的任务就是对当年的清明节的话务量进行预测,对于这种一年才会发生一次的时间,我们肯定是需要从往年的该时间段发现有效的Pattern。
其实这种方法也适用于平时话务量的预测,因为每天都有自己的Pattern——星期几,或者这个月的几号。所以我们下面阐述的方法也适用于平时话务量的预测。
还要交代一下的就是,时间序列的预测往往还强调“在线”性,比如股票价格预测,我们说预测明天股价最有用的信息很可能就是今天的股价,所以今天的股价对模型进行Modify很重要。但是我们的话务预测往往不是这样,因为一天之内,我们往往很难对提供话务服务的基站进行有效的调控部署,所以在话务预测方面,预测未来较长时间某天的话务量往往是实际的需求(这也是ARIMA和HMM没有被采用的原因)。
一般做法
那么假设现在是2月1日,而我要预测4月5号(清明节)以及放假这三天全市所有小区的话务量。而我有的数据呢,是一年的话务量(即从去年2月份到今年二月份的话务量)。
其实一个通用的做法就是计算通过Ratio——待预测那一天的话务量和目前话务量的比例值来进行预测。
打个比方,我要预测4月5号的话务量,如果我可以计算出当天24个小时的话务量和去年清明节24个小时话务量的比例值,那么我就可以给出今年4月5号的话务量了。实践证明用比值的方法还是相当有效的。之前有人利用往年的Ratio值来作为今年的Ratio值,还是获得了不错的效果。
这里先给出我们话务预测的框架:
我的做法
但是,我并没有历年清明节的数据(因为话务量的数据量较大,所以网优部门只暂存一年的数据)。那么,我们的大体思路还是拿去年清明节的话务量*Ratio来预测今年清明节的话务量,但是Ratio的计算我们得想想办法了。
这里我们引入一个概念——“基础话务量”,这个量表示的是地区