1、一周总结,底稿供参考我们通过案例来说明:假设我们拿到一个时间序列数据集:某男装生产线销售额。一个产品分类销售公司会根据过去 10 年的销售数据来预测其男装生产线的月销售情况。现在我们得到了 10 年 120 个历史销售数据,理论上讲,历史数据越多预测越稳定,一般也要 24 个历史数据才行!大家看到,原则上讲数据中没有时间变量,实际上也不需要时间变量,但你必须知道时间的起点和时间间隔。当我们现在预测方法创建模型时,记住:一定要先定义数据的时间序列和标记!这时候你要决定你的时间序列数据的开始时间,时间间隔,周期!在我们这个案例中,你要决定季度是否是你考虑周期性或季节性的影响因素,软件能够侦测到你的
2、数据的季节性变化因子。定义了时间序列的时间标记后,数据集自动生成四个新的变量:YEAR、QUARTER、MONTH 和DATE(时间标签)。接下来:为了帮我们找到适当的模型,最好先绘制时间序列。时间序列的可视化检查通常可以很好地指导并帮助我们进行选择。另外,我们需要弄清以下几点: 此序列是否存在整体趋势?如果是,趋势是显示持续存在还是显示将随时间而消逝? 此序列是否显示季节变化?如果是,那么这种季节的波动是随时间而加剧还是持续稳定存在?这时候我们就可以看到时间序列图了!我们看到:此序列显示整体上升趋势,即序列值随时间而增加。上升趋势似乎将持续,即为线性趋势。此序列还有一个明显的季节特征,即年度
3、高点在十二月。季节变化显示随上升序列而增长的趋势,表明是乘法季节模型而不是加法季节模型。此时,我们对时间序列的特征有了大致的了解,便可以开始尝试构建预测模型。时间序列预测模型的建立是一个不断尝试和选择的过程。spss 提供了三大类预测方法:1-专家建模器,2-指数平滑法,3-ARIMA 指数平滑法指数平滑法有助于预测存在趋势和/或季节的序列,此处数据同时体现上述两种特征。创建最适当的指数平滑模型包括确定模型类型(此模型是否需要包含趋势和/或季节),然后获取最适合选定模型的参数。1-简单模型预测(即无趋势也无季节)首先我们采用最为简单的建模方法,就是简单模型,这里我们不断尝试的目的是让大家熟悉各
4、种预测模型,了解模型在什么时候不适合数据,这是成功构建模型的基本技巧。我们先不讨论模型的检验,只是直观的看一下预测模型的拟合情况,最后我们确定了预测模型后我们再讨论检验和预测值。从图中我们看到,虽然简单模型确实显示了渐进的上升趋势,但并不是我们期望的结果,既没有考虑季节性变化,也没有周期性呈现,直观的讲基本上与线性预测没有差异。所以我们拒绝此模型。2-Holt 线性趋势预测Holt 线性指数平滑法,一般选择:针对等级的平滑系数 lapha=0.1,针对趋势的平滑系数gamma=0.2;从上面的拟合情况看,Holt 预测模型更平滑了,也就是说 Holt 模型比简单模型显现了更强的平滑趋势,但未考
5、虑季节因素,还是不理想,所以还应放弃此模型。3-简单季节性模型当我们考虑了季节性变化后,简单季节性预测模型基本上较好的拟合了数据的大趋势,也就是考虑了趋势和季节。4-Winters 相乘法预测模型我们再次选择 Winters 预测模型此时,在数据集的时间跨度为 10 年,并且包含 10 个季节峰值(出现在每年十二月份)中,简单季节模型和 Winters 模型都扑捉到了这 10 个峰值与实际数据中的 10 个年度峰值完全匹配的预测结果。此时,我们基本上可以得到了一个比较满意的预测结果。此时也说明,无论采用指数平滑的什么模型,只要考虑了季节因素,都可以得到较好结果,不同的季节性指数平滑方法只是细微
6、差异了。但是,我们仔细看预测值和拟合值,还是有一些上升和下降的趋势和结构没有扑捉到。预测还有改进的需求!5-ARIMA 预测模型 ARIMA 模型是自回归 AR 和移动平均 MA 加上差分考虑, 我们采用专家建模器,但指定仅限 ARIMA 模型,并考虑季节性因素。此时,我们看到模型拟合并相比较简单季节性和 Winters 模型没有太大的优势,结果可接受,但是大家注意到没有,实际上我们一直没有考虑自变量的进入问题,假如我们有其它变量可能会影响到男装销售收入,情况又会发生什么变化呢?时间序列预测技术之三含自变量的 ARIMA 模型预测下面的数据延续前两篇的案例,只是增加了自变量,(因为手头这个案例
7、没有干预因素变量)在我们增加了 5 个自变量后,采用预测建模方法,选择专家建模器,但限制只在 ARIMA模型中选择。确定后,得到分析结果,我们现在来看一下与原来的模型有什么不同。从预测值看,比前一模型有了改进,至少这时候的模型捕捉了历史数据中的下降峰值,这可以认为是当前比较适合的拟合值了。如果我们观察预测结果,可以发现模型选择了两个预测变量。注意:使用专家建模器时,只有在自变量与因变量之间具有统计显著性关系时才会包括自变量。如果选择ARIMA 模型,“变量”选项卡上指定的所有自变量(预测变量)都包括在该模型中,这点与使用专家建模器相反;当确定了最终选择的预测模型和方法后,我们就可以预测未来了,
8、当然你要指定预测未来的时间点,这里我们时间包括年、季度和月份;假定我们预测未来半年的销售收入。我们分别设定:预测值输出,95%置信度的上下限。注意:SPSS 中文环境有个小 Bug,必须改一下名字!在选项中,选择你的预测时间,预测期将根据你事先定义的数据时间格式填写。(后面的模型为了让大家看清楚,实际上我预测了一年的数据,也就是 2010 年的 4 个季度的12 个月)。自变量的选择问题,在预测未来半年的销售收入中,ARIMA 模型可以把其它预测变量纳入考虑,但如何确定未来这些预测变量的值呢?主要方法可以考虑:1)选择最末期数据;2)选择近三期数据的平均;3)选择近三期的移动平均这里我们选近三
9、期移动平均作为预测自变量数值。上面就是预测结果!于此同时,SPSS 活动数据集中也存储了预测值!最后,我们要解决时间序列预测的检验和统计问题! 实际上我们可以通过软件得到各种统计检验指标和统计检验图表!最后我们看一眼统计检验指标结果:比如:Sig 值越大越好,平稳得 R 方也是越大越好 Sig.列给出了 Ljung-Box 统计量的显著性值,该检验是对模型中残差错误的随机检验;表示指定的模型是否正确。显著性值小于 0.05 表示残差误差不是随机的,则意味着所观测的序列中存在模型无法解释的结构。 平稳的 R 方:显示固定的 R 平方值。此统计量是序列中由模型解释的总变异所占比例的估计值。该值越高(最大值为 1.0),则模型拟合会越好。 检查模型残差的自相关函数 (ACF) 和偏自相关函数 (PACF) 的值比只查看拟合优度统计量能更多地从量化角度来了解模型。合理指定的时间模型将捕获所有非随机的变异,其中包括季节性、趋势、循环周期以及其他重要的因素。如果是这种情况,则任何误差都不会随着时间的推移与其自身相关联(自关联)。这两个自相关函数中的显著结构都可以表明基础模型不完整。