时间序列预测技术之三——含自变量的ARIMA模型预测

    本想早点完成这个时间序列的主题,但最近一直非常多的事情,又耽搁了这么长时间。朋友们问的问题没有收尾总是不好,抓紧时间完成吧。

因为,后天要参加中国电信集团的一个EDA论坛,要仔细准备发言稿!在交流的过程中,发现大家都对预测问题非常关注,尤其是数据挖掘领域,有时候分类问题与预测问题在表达上区分不开,有时候分类就是预测,比如通过判别分析、C5.0规则或Logistics回归进行监督类建模,得到的结论说该客户是什么类别等级,似乎也可以说是预测;当然,如果能够预测该消费者什么时候流失,也就是进行了分类;这样说吧,其实有时候并不需要严格区分分类和预测,关键是时间点。从这也可以看出,预测问题内涵和外延是非常宽泛的,但研究者心中要有数,这决定了你得到的结果该如何应用。

前面的博文提到,如果我们考虑时间序列预测包含有预测和干扰变量如何解决的问题。

从方法角度讲,过去没有统计分析软件要完成预测可以说是困难的,现在有了软件工具就方便多了。

从技术角度讲:

  • 预测模型如果能够排除因为异常原因造成的时间点事件和时间段时间,就好了。例如某天停电没有开业,或者某一段时间比如发生甲型H1NI一周没有营业收入,这些事件必须能够告诉模型未来不会再发生了;
  • 当然,我们也要把未来会重复发生的干扰因素纳入模型,例如:我们学校某天要开运动会,小卖部的可乐销量一定提高,或者我们学校7-8月份放暑假,销量一定减少,像这样的时间点和时间段事件未来会重复出现,我们如果能够告诉模型,那么预测会更准确。
  • 当然如果我们建立的模型能够预测未来,并能够将未来可预见的事件,包括时间点和时间段干扰纳入预测是非常好的事情啦!
  • 甚至,我们应该能够把预测模型中的,预测未来周期内的不可预见的时间点和时间段随时干预预测结果,这就需要考虑如何将预测模型导入生产经营分析系统了。

下面的数据延续前两篇的案例,只是增加了自变量,(因为手头这个案例没有干预因素变量)
在我们增加了5个自变量后,采用预测建模方法,选择专家建模器,但限制只在ARIMA模型中选择。

确定后,得到分析结果,我们现在来看一下与原来的模型有什么不同。
    从预测值看,比前一模型有了改进,至少这时候的模型捕捉了历史数据中的下降峰值,这可以认为是当前比较适合的拟合值了。
如果我们观察预测结果,可以发现模型选择了两个预测变量。注意:使用专家建模器时,只有在自变量与因变量之间具有统计显著性关系时才会包括自变量。如果选择ARIMA模型,“变量”选项卡上指定的所有自变量(预测变量)都包括在该模型中,这点与使用专家建模器相反;

当确定了最终选择的预测模型和方法后,我们就可以预测未来了,当然你要指定预测未来的时间点,这里我们时间包括年、季度和月份;假定我们预测未来半年的销售收入。
我们分别设定:预测值输出,95%置信度的上下限。注意:SPSS中文环境有个小Bug,必须改一下名字!
    在选项中,选择你的预测时间,预测期将根据你事先定义的数据时间格式填写。(后面的模型为了让大家看清楚,实际上我预测了一年的数据,也就是2010年的4个季度的12个月)。

自变量的选择问题,在预测未来半年的销售收入中,ARIMA模型可以把其它预测变量纳入考虑,但如何确定未来这些预测变量的值呢?
主要方法可以考虑:1)选择最末期数据;2)选择近三期数据的平均;3)选择近三期的移动平均
这里我们选近三期移动平均作为预测自变量数值。
上面就是预测结果!于此同时,SPSS活动数据集中也存储了预测值!

最后,我们要解决时间序列预测的检验和统计问题!说实在话,我比较关注偏好商业应用,就是看得见就做得到!从上面的分析,我们基本上就知道了哪种预测模型更好,也就不去较真只有专业统计学者才关心的统计和检验问题,把这些交给统计专家或学术研究吧!(如果你是写学术论文,就必须强调这一点了!)
实际上我们可以通过软件得到各种统计检验指标和统计检验图表!

最后我们看一眼统计检验指标结果:
    大家可以把我们前面做的结果进行相互比较,或许你能够看出哪些指标更好,哪些指标该如何评测了!

我看出来了,比如:Sig值越大越好,平稳得R方也是越大越好吧!

  • Sig.列给出了 Ljung-Box 统计量的显著性值,该检验是对模型中残差错误的随机检验;表示指定的模型是否正确。显著性值小于0.05 表示残差误差不是随机的,则意味着所观测的序列中存在模型无法解释的结构。
  • 平稳的R方:显示固定的R平方值。此统计量是序列中由模型解释的总变异所占比例的估计值。该值越高(最大值为 1.0),则模型拟合会越好。
  • 检查模型残差的自相关函数 (ACF) 和偏自相关函数 (PACF) 的值比只查看拟合优度统计量能更多地从量化角度来了解模型。合理指定的时间模型将捕获所有非随机的变异,其中包括季节性、趋势、循环周期以及其他重要的因素。如果是这种情况,则任何误差都不会随着时间的推移与其自身相关联(自关联)。这两个自相关函数中的显著结构都可以表明基础模型不完整。

如果你一定要理解RMSE或者MAE等统计检验量,只好找来教科书好好学习了!我想,等我要写教科书的时候,一定会告诉大家如何检验这些统计量,并给出各种计算公式!但我的学生或读者大部分是文科或企业经营分析人员,讲这些东西他们都会跑了!

大家不要忘了,SPSS时间序列预测模块还包含模型应用,也就是可以把预测模型转存为XML模型文件,以后预测的时候就可以不用原始数据了!

我记得早期SPSS公司推出时间序列预测模型软件DecisionTime & What-if,非常好用,而且还可以进行更为细致的分析,甚至结果输出都是自动报告!

当然,我找机会用PASW Modeler 13操作一次上述时间序列预测建模过程,也就是数据挖掘工具中的时间序列预测方法,会更方便、更简单、更好部署!

备注:PASW Modeler 13就是SPSS公司的Clementine 13.0版本!
博易智讯的马博士说:SPSS公司已经把SPSS软件改名叫PASW Statistics,Clementine叫PASW Modeler