登录
首页精彩阅读时间序列预测方法
时间序列预测方法
2016-05-04
收藏

时间序列预测方法

预测:是对尚未发生或目前还不明确的事物进行预先的估计和推测,是在现时对事物将要发生的结果进行探讨和研究,简单地说就是指从已知事件测定未知事件。

为什么要预测呢,因为预测可以帮助了解事物发展的未来状况后,人们可以在目前为它的到来做好准备,通过预测可以了解目前的决策所可能带来的后果,并通过对后果的分析来确定目前的决策,力争使目前的决策获得最佳的未来结果。

我们进行预测的总的原则是:认识事物的发展变化规律,利用规律的必然性,是进行科学预测所应遵循的总的原则。

这个总原则实际上就是事物发展的

1-“惯性”原则——事物变化发展的延续性;

2-“类推”原则——事物发展的类似性;

3-“相关”原则——事物的变化发展是相互联系的;

4-“概率”原则——事物发展的推断预测结果能以较大概率出现,则结果成立、可用;

时间序列预测主要包括三种基本方法:

1-内生时间序列预测技术;2-外生时间序列预测技术;3-主观时间序列预测技术;

当然今天我们主要讨论内生时间序列预测技术——也就是只关注时间序列的下的预测问题!

从数据分析的角度来考虑,我们需要研究:
  1. 序列是否在固定水平上下变动?
  2. 此水平是否也在变动?
  3. 是否有某种上升或下降的趋势呢?
  4. 是否存在有季节性的模式?
  5. 是否季节性的模式也在变更呢?
  6. 是否存在周期性规律和模式?
时间序列有一明显的特性就是记忆性(memory),记忆性系指时间数列中的任一观测值的表现皆受到过去观测值影响。

时间序列主要考虑的因素是:

长期趋势(Long-term trend) 

  1. 时间序列可能相当稳定或随时间呈现某种趋势。
  2. 时间序列趋势一般为线性的(linear),二次方程式的 (quadratic)或指数函数(exponential function)。
  3. 季节性变动(Seasonal variation)
  1. 按时间变动,呈现重复性行为的序列。
  2. 季节性变动通常和日期或气候有关。
  3. 季节性变动通常和年周期有关。
  4. 周期性变动(Cyclical variation)
  5. 相对于季节性变动,时间序列可能经历“周期性变动”。
  6. 周期性变动通常是因为经济变动。
  7. 随机影响(Random effects)
预测技术主要包括两大类:

指数平滑方法(Exponential smoothing models):
    描述时间序列数据的变化规律和行为,不去试图解释和理解这种变化的原因。例如:您可能发现在过去的一年里,三月和九月都会出现销售的高峰,您可能希望继续保持这样,尽管您不知道为什么。

ARIMA模型:
    描述时间序列数据的变化规律和行为,它允许模型中包含趋势变动、季节变动、循环变动和随机波动等综合因素影响。具有较高的预测精度,可以把握过去数据变动模式,有助于解释预测变动规律,回答为什么这样。

时间序列预测技术之二——PASW Statistics 18 软件操作 


下面看看如何采用SPSS软件进行时间序列的预测!
这里我用PASW Statistics 18软件,大家可能觉得没见过这个软件,其实就是SPSS18.0,不过现在SPSS已经把产品名称改称为PASW了!

博易智讯的马博士刚刚把这个产品测试版给我,还是中文版,先睹为快吧!
我们通过案例来说明:(本案例并不想细致解释预测模型的预测的假设检验问题,1-太复杂、2-相信软件)
假设我们拿到一个时间序列数据集:某男装生产线销售额。一个产品分类销售公司会根据过去 10 年的销售数据来预测其男装生产线的月销售情况。

现在我们得到了10年120个历史销售数据,理论上讲,历史数据越多预测越稳定,一般也要24个历史数据才行!

大家看到,原则上讲数据中没有时间变量,实际上也不需要时间变量,但你必须知道时间的起点和时间间隔。

当我们现在预测方法创建模型时,记住:一定要先定义数据的时间序列和标记!

这时候你要决定你的时间序列数据的开始时间,时间间隔,周期!在我们这个案例中,你要决定季度是否是你考 虑周期性或季节性的影响因素,软件能够侦测到你的数据的季节性变化因子。

定义了时间序列的时间标记后,数据集自动生成四个新的变量:YEAR、QUARTER、MONTH和DATE(时间标签)。

接下来:为了帮我们找到适当的模型,最好先绘制时间序列。时间序列的可视化检查通常可以很好地指导并帮助我们进行选择。另外,我们需要弄清以下几点:

• 此序列是否存在整体趋势?如果是,趋势是显示持续存在还是显示将随时间而消逝?

• 此序列是否显示季节变化?如果是,那么这种季节的波动是随时间而加剧还是持续稳定存在?

这时候我们就可以看到时间序列图了!

我们看到:此序列显示整体上升趋势,即序列值随时间而增加。上升趋势似乎将持续,即为线性趋势。此序列还有一个明显的季节特征,即年度高点在十二月。季节变化显示随上升序列而增长的趋势,表明是乘法季节模型而不是加法季节模型。

此时,我们对时间序列的特征有了大致的了解,便可以开始尝试构建预测模型。时间序列预测模型的建立是一个不断尝试和选择的过程。

PASW Statistics提供了三大类预测方法:1-专家建模器,2-指数平滑法,3-ARIMA

指数平滑法

指数平滑法有助于预测存在趋势和/或季节的序列,此处数据同时体现上述两种特征。创建最适当的指数平滑模型包括确定模型类型(此模型是否需要包含趋势和/或季节),然后获取最适合选定模型的参数。

1-简单模型预测(即无趋势也无季节)

首先我们采用最为简单的建模方法,就是简单模型,这里我们不断尝试的目的是让大家熟悉各种预测模型,了解模型在什么时候不适合数据,这是成功构建模型的基本技巧。我们先不讨论模型的检验,只是直观的看一下预测模型的拟合情况,最后我们确定了预测模型后我们再讨论检验和预测值。

从图中我们看到,虽然简单模型确实显示了渐进的上升趋势,但并不是我们期望的结果,既没有考虑季节性变化,也没有周期性呈现,直观的讲基本上与线性预测没有差异。所以我们拒绝此模型。

2-Holt线性趋势预测

Holt线性指数平滑法,一般选择:针对等级的平滑系数lapha=0.1,针对趋势的平滑系数gamma=0.2;

从上面的拟合情况看,Holt预测模型更平滑了,也就是说Holt模型比简单模型显现了更强的平滑趋势,但未考虑季节因素,还是不理想,所以还应放弃此模型。

3-简单季节性模型

当我们考虑了季节性变化后,简单季节性预测模型基本上较好的拟合了数据的大趋势,也就是考虑了趋势和季节。

4-Winters相乘法预测模型

我们再次选择Winters预测模型,实际上这时候非统计专业人士其实已经可以不用考虑Winters模型的原理了,因为对于大部分经营分析人员,如果期望把每一个预测方式的细节都搞清楚,并不容易,也容易陷入数量层面的纠葛中,我们只要相信软件算法就可以了。

此时,在数据集的时间跨度为10年,并且包含 10 个季节峰值(出现在每年十二月份)中,简单季节模型和Winters模型都扑捉到了这10个峰值与实际数据中的10个年度峰值完全匹配的预测结果。此时,我们基本上可以得到了一个比较满意的预测结果。

此时也说明,无论采用指数平滑的什么模型,只要考虑了季节因素,都可以得到较好结果,不同的季节性指数平滑方法只是细微差异了。

但是,我们仔细看预测值和拟合值,还是有一些上升和下降的趋势和结构没有扑捉到。预测还有改进的需求!

5-ARIMA预测模型

ARIMA模型是自回归AR和移动平均MA加上差分考虑,但ARIMA模型就比较复杂了,对大部分经营分析人员来讲,要搞清楚原理和方程公式,太困难了!期望搞清楚的人必须学过随机过程,什么平稳过程、白噪声等,大部分人头都大了,现在有了软件就不问为什么了,只要知道什么数据In,什么结果Out,就可以了。

我们采用专家建模器,但指定仅限ARIMA模型,并考虑季节性因素。


此时,我们看到模型拟合并相比较简单季节性和Winters模型没有太大的优势,结果可接受,但是大家注意到没有,实际上我们一直没有考虑自变量的进入问题,假如我们有其它变量可能会影响到男装销售收入,情况又会发生什么变化呢?


数据分析咨询请扫描二维码

客服在线
立即咨询