目录

时间序列

1.时间序列数据

2.时间序列要素

3.时间序列分解

4.Spss实际操作

5.时间序列分析的步骤

6.建立时间序列分析模型

指数平滑模型

Simple模型

线性趋势模型(linear trend)​

阻尼趋势模型(Damped)​

简单季节性模型(Simple seasonal)​

温特加法模型(Winters’ additive)​

温特乘法模型(Winters’ multiplicative)​

7.一元时间序列分析的模型

时间序列的平稳性

差分方程

滞后算子

AR§模型

MA(q)模型

ARMA(p,q)模型

ACF自相关系数

模型选择:AIC和BIC准则(选小原则)​

检验模型是否识别完全

8.Spss时间序列建模的思路

例题1:销量数据预测

例题2:人口数据预测

例题3:上证指数预测


时间序列

        时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可分成三大部分,分别是描述过去分析规律预测未来

        本讲将主要介绍时间序列分析中常用的三种模型:

  1. 季节分解、
  2. 指数平滑方法
  3. ARIMA模型,

并将结合Spss软件对时间序列数据进行建模。

1.时间序列数据

时间序列数据:对同一对象不同时间连续观察所取得的数据

例如:
(1)从出生到现在,你的体重的数据(每年生日称一次)。
(2)中国历年来GDP的数据。
(3)在某地方每隔一小时测得的温度数据。


2.时间序列要素

时间序列由两个组成要素构成:

  1. 第一个要素是时间要素;年、季度、月、周、日、小时、分钟、秒
  2. 第二个要素是数值要素。
  • 时间序列根据时间和数值性质的不同,可以分为时期时间序列时点时间序列
  • 时期序列中,数值要素反映现象在一定时期内发展的结果;
  • 时点序列中,数值要素反映现象在一定时点上的瞬间水平
     

区分时期和时点时间序列 :

例如:
(1)从出生到现在,你的体重的数据(每年生日称一次)。
(2)中国历年来GDP的数据。
(3)在某地方每隔一小时测得的温度数据。
(1)和(3)是时点时间序列;(2)是时期时间序列

时期序列可加,时点序列不可加。

  • 时期序列中的观测值反映现象在一段时期内发展过程的总量,不同时期的观测值可以相加,相加结果表明现象在更长一段时间内的活动总量;
  • 时点序列中的观测值反映现象在某一瞬间上所达到的水平,不同时期的观测值不能相加,相加结果没有实际意义。(灰色预测模型里面有一个累加的过程)

3.时间序列分解

因为时间序列是某个指标数值长期变化的数值表现,所以时间序列数值变化背后必然蕴含着数值变换的规律性,这些规律性就是时间序列分析的切入点。
一般情况下,时间序列的数值变化规律有以下四种:

一个时间序列往往是以上四类变化形式的叠加。

长期趋势:T

长期趋势(Secular trend,T)指的是统计指标在相当长的一段时间内,受到长期趋势影响因素的影响,表现出持续上升或持续下降的趋势,通常用字母T表示。

例如,随着国家经济的发展,人均收入将逐渐提升;随着医学水平的提高,新生儿死亡率在不断下降


季节趋势:S

季节趋势(Seasonal Variation,S)是指由于季节的转变使得指标数值发生周期性变动。这里的季节是广义的,一般以月、季、周为时间单位,不能以年作单位。例如雪糕和棉衣的销量都会随着季节气温的变化而周期变化;每年的长假(五一、十一、春节)都会引起出行人数的大量增加


循环变动:C 

循环变动(Cyclical Variation,C)与季节变动的周期不同,循环变动通常以若干年为周期,在曲线图上表现为波浪式的周期变动。这种周期变动的特征表现为增加和减少交替出现,但是并不具严格规则的周期性连续变动。

最典型的周期案例就是市场经济的商业周期和的整个国家的经济周期


不规则变动: I

不规则变动(Irregular Variation,I)是由某些随机因素导致的数值变化,这些因素的作用是不可预知和没有规律性的,可以视为由于众多偶然因素对时间序列造成的影响(在回归中又被称为扰动项)


        以上四种变动就是时间序列数值变化的分解结果。有时这些变动会同时出现在一个时间序列里面,有时也可能只出现一种或几种,这是由引起各种变动的影响因素决定的。正是由于变动组合的不确定性,时间序列的数值变化才那么千变万化。
        四种变动与指标数值最终变动的关系可能是叠加关系,也可能是乘积关系。

  1.  如果四种变动之间是相互独立的关系,那么叠加模型可以表示为:

  2. 如果四种变动之间存在相互影响关系,那么应该使用乘积模型:

 (1)数据具有年内的周期性时才能使用时间序列分解,例如数据是月份数据(周期为12)、季度数据(周期为4) ,如果是年份数据则不行。
(2)在具体的时间序列图上,如果随着时间的推移,序列的季节波动变得越来越大,则反映各种变动之间的关系发生变化,建议使用乘积模型;反之,如果时间序列图的波动保持恒定,则可以直接使用叠加模型;当然,如果不存在季节波动,则两种分解均可以。

随着时间变化,搜索美赛数据的季节波动越来越大,那么使用乘积模型会更精确。

 随着时间变化,销售数据的季节波动越来越大,那么使用乘积模型会更精确。


4.Spss实际操作

处理时间序列中的缺失值: 

缺失值发生在时间序列的开头或者尾部,可采用直接删除的方法;
缺失值发生在序列的中间位置,则不能删除(删除后原有的时间序列会错位),可采用替换缺失值的方法。

替换缺失值的五种方法 

 


Spss定义时间变量:

 SPSS时间序列图

SPSS季节性分解 

结果: 

画出分解后的时序图 


5.时间序列分析的步骤

 具体步骤:

  1. 做时间序列图
  2. 判断时间序列包含的变动成分
  3. 时间序列分解(有周期性且包含长期趋势,季节变动或循环变动)
  4. 建立时间序列分析模型
  5. 预测未来的指标数值

6.建立时间序列分析模型

指数平滑模型:

 Simple模型:

简单指数平滑法预测: 

线性趋势模型(linear trend)

阻尼趋势模型(Damped)

 简单季节性模型(Simple seasonal)

 温特加法模型(Winters’ additive)

 温特乘法模型(Winters’ multiplicative)

7.一元时间序列分析的模型

下面的这些概念只介绍一个大概,要完全弄懂还需要大家课后自己努力。如果实在学习这小部分有困难,大家可以选择放弃理论部分,不用细究每一个细节和概念,我们的重心可以放在运用上。

时间序列的平稳性

 


差分方程

 滞后算子


AR§模型

 AR§模型平稳的条件:

 


MA(q)模型

 MA模型和AR模型的关系


ARMA(p,q)模型

自回归移动平均模型(Autoregressive Moving Average,ARMA),就是设法将自回归过程AR和移动平均过程MA结合起来,共同模拟产生既有时间序列样本数据的那个随机过程的模型


 ACF自相关系数

 模型选择:AIC和BIC准则(选小原则)

检验模型是否识别完全

估计完成时间序列模型后,我们需要对残差进行白噪声检验

  • 如果残差是白噪声,则说明我们选取的模型能完全识别出时间序列数据的规律,即模型可接受;
  • 如果残差不是白噪声,则说明还有部分信息没有被模型所识别,我们需要修正模型来识别这一部分的信息。

8.Spss时间序列建模的思路

下面的步骤是自己在思考建模的过程哦,不是写在论文中的:

  1. (1)处理数据的缺失值问题、生成时间变量并画出时间序列图;
  2. (2)数据是否为季度数据或者月份数据(至少有两个完整的周期,即两年),如果是的话则要观察图形中是否存在季节性波动。
  3. (3)根据时间序列图大致判断数据是否为平稳序列(数据围绕着均值上下波动,无趋势和季节性)
  4. (4)打开Spss,分析‐‐时间序列预测—创建传统模型(高版本的Spss可能才有这个功能哦,)看看Spss专家建模器得出的最优的模型类型。
  5. (5)如果最后的结果是ARIMA(p,0,q)模型,那么我们就可以画出时间序列的样本ACF和PACF图形进行分析; 如果得到的是ARIMA(p,1,q)模型,我们可以先对数据进行1阶差分后再用ACF和PACF图形分析;如果得到的结果与季节性相关,那么我们可以考虑使用时间序列分解

例题1:销量数据预测


准备工作:

 Spss时间序列建模器:

 操作步骤:

 常用的评价指标:

参数估计值表格:

 白噪声进行残差检验

 预测的结果和效果图:


例题2:人口数据预测


预测结果: 

残差的白噪声检验

预测结果图: 


例题3:上证指数预测

 

剔除异常值后重新建模

预测结果展示图 :

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐