(19)时间序列分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(19)时间序列分析相关的知识,希望对你有一定的参考价值。
参考技术A 一)时间序列分析简介二)季节分解法
三)专家建模法
一、时间序列分析简介
时间序列就是按时间顺序排列的一组数据序列。
时间序列分析就是发现这组数据的变动规律并用于预测的统计技术。
时间序列分析有三个基本特点:
1)假设事物发展趋势会延伸到未来
2)预测所依据的数据具有不规则性
3)不考虑事物发展之间的因果关系
目的:通过分析序列进行合理预测,做到提前掌握未来的发展趋势,为业务决策提供依据,这也是决策科学化的前提。
并不是所有的时间序列都一定包含四种因素,如以年为单位的诗句就可能不包含季节变动因素。
四种因素通常有两种组合方式。
1)四种因素相互独立,即时间序列是四种因素直接叠加而成的,可用加法模型表示。
Y=T+S+C+I
2)四种因素相互影响。即时间序列是四种因素相互综合的结果,可用乘法模型表示。
Y=T*S*C*I
其中,原始时间序列值和长期趋势可用绝对数表示;
季节变动、循环变动、不规则变动可用相对数(变动百分比)表示。
二、季节分解法
当我们对一个时间序列进行预测时,应该考虑将上述四种因素从时间序列中分解出来。
为什么要分解这四种因素?
1)分解之后,能够克服其他因素的影响,仅仅考量一种因素对时间序列的影响。
2)分解之后,也可以分析他们之间的相互作用,以及他们对时间序列的综合影响。
3)当去掉这些因素后,就可以更好的进行时间序列之间的比较,从而更加客观的反映事物变化发展规律。
4)分界之后,序列可以用来建立回归模型,从而提高预测精度。
所有的时间序列都要分解这四种因素吗?
通常情况下,我们考虑进行季节因素的分解,也就是将季节变动因素从原时间序列中去除,并生成由剩余三种因素构成的序列来满足后续分析需求。
为什么只进行季节因素的分解?
1)时间序列中的长期趋势反映了事物发展规律,是重点研究的对象;
2)循环变动由于周期长,可以看做是长期趋势的反映;
3)不规则变动由于不容易测量,通常也不单独分析。
4)季节变动有时会让预测模型误判其为不规则变动,从而降低模型的预测精度
综上所述:当一个时间序列具有季节变动特征时,在预测值钱会先将季节因素进行分解。
步骤:
1、定义日期标示变量
即先将序列的时间定义好,才能分析其时间特征。
2、了解序列发展趋势
即序列图,确定乘性还是加性
3、进行季节因素分解
4、建模
5、分析结果解读
6、预测
1、定义日期标示变量
时间序列的特点就是数据根据时间点的顺序进行排列,因此分析之前,SPSS需要知道序列的时间定义,然后才能进行分析时间特征。
根据源数据的格式进行选择,并输入第一个个案的具体数值。
此时会在源文件中生成三个新的变量。
2、了解序列发展趋势
完成日期标示变量的定义之后,需要先对时间序列的变化趋势有所了解,便于选择合适的模型。即通过序列图,确定模型是乘性还是加性。
变量为”销售数据“,时间轴标签为”DATE--“,也就是我们自定义的时间。
数据销量序列图
如何根据序列图来判断模型的乘性或加性?
1)如果随着时间的推移,序列的季节波动变得越来越大,则建议使用乘法模型。
2)如果序列的季节波动能够基本维持恒定,则建议使用加法模型。
本例很明显:随着时间变化,销售数据的季节波动越来越大,那么使用乘法模型会更精确。
3、进行季节因素分解
变量为”销售数据“,且根据序列图我们知道时间序列模型为乘性。
提示您会新生成四个变量
1)ERR(误差序列)
从时间序列中移除季节因素、长期趋势、和循环变动之后留下的序列,也就是原始序列中的不规则变动构成的序列。
2)SAS(季节因素校正后序列):是移除原始序列中的季节因素后的校正序列。
3)SAF(季节因子):是从序列中分解出的季节因素。其中的变量值根据季节周期的变动进行重复,如本例中季节周期为12个月,所以这些季节因子没12个月重复一次。
4)STC(长期趋势和循环变动趋势):这是原始序列中长期趋势和循环变动构成的序列。
如图,周期为12个月,季节因子12个月循环一次。
完成季节因素分解后的序列和原始序列之间有什么差异?
通过回执序列图的方法把原始序列和除去季节因子的三个序列(误差序列、季节因素校正后序列、长期无视和循环变动序列)进行比较。
要做四个序列图,会有四个变量
原始序列:使用变量”销售数据“;
误差序列:使用变量”ERR“;
季节因素校场后序列:使用变量”SAS“
长期趋势和循环变动序列:使用变量”STC“
蓝色线:原始序列
紫色线:长期趋势和循环变动序列
浅棕色:季节因素校正后序列
绿色线:误差序列(不规则变动)
因为误差序列数值非常小,所以长期趋势和循环变动序列(长期趋势+循环变动)与季节因素校正后序列(长期趋势+循环变动+不规则变动,即误差)能够基本重合。
在单独做”季节因子SAF“的序列图
因为是做”季节因子“的序列图,所以只有一个变量”季节因子SAF“
我们看出:季节因素的周期是12个月,先下降,然后上升到第一个顶点,再有略微的下降后,出现明显的上升趋势,到第七个月时达到峰值,然后一路下跌,直到最后一个月份有所回升,之后进入第二个循环周期。
通过对原始序列的季节分解,我们更好的掌握了原始序列所包含的时间特征,从而选用适当的模型进行预测。
三、专家建模法
时间序列的预测步骤有四步:
1)绘制时间序列图观察趋势
2)分析序列平稳性并进行平稳化
3)书剑序列建模分析
4)模型评估与预测
平稳性主要是指时间序列的所有统计性质都不会随着时间的推移而发生变化。
对于一个平稳的时间序列,具备以下特征:
1)均数和方差不随时间变化
2)自相关系数只与时间间隔有关,与所处的时间无关
自相关系数是研究序列中不同时期的相关系数,也就是对时间序列计算其当前和不同滞后期的一系列相关系数。
平稳化的方法----差分
差分就是指序列中相邻的两期数据之差。
一次差分=Yt-Yt-1
二次差分=(Yt-Yt-1)-(Yt-1-Yt-2)
具体的平稳化操作过程会有专家建模法自动处理,我们只需要哼根据模型结果独处序列经过了几阶差分即可。
时间序列分析操作:
要分析所有变量,所以选择”销售数据“
【专家建模器】--【条件】,勾选”专家建模器考虑季节性模型“
勾选”预测值“,目的是生成预测值,并保存模型
时间序列分析结果解读
该表显示了经过分析得到的最优时间序列模型及其参数,最优时间U型猎魔性为ARIMA(0,1,1)(0,1,1)
求和自回归移动平均模型ARIMA(p,d,q)(P,D,Q)
p:出去季节性变化之后的序列所滞后的p期,通常为0或1,大于1的情况很少;
d:除去季节性变化之后的序列进行了d阶差分,通常取值为0,1或2;
q:除去季节性变化之后的序列进行了q次移动平均,通常取值0或1,很少会超过2;
P,D,Q分别表示包含季节性变化的序列所做的事情。
因此本例可解读为:
对除去季节性变化的序列和包含季节性变化的序列分别进行了一阶差分和一次移动平均,综合两个模型而建立出来的时间序列模型。
该表主要通过R方或平稳R方来评估模型拟合度,以及在多个模型时,通过比较统计量找到最优模型。
由于原始变量具有季节性变动因素,所以平稳的R方更具有参考意义,等于32.1%,拟合效果一般。
该表提供了更多的统计量可以用来评估时间序列模型的拟合效果。
虽然平稳R方仅仅是32.1%,但是”杨-博克斯Q(18)“统计量的显著性P=0.706,大于0.05(此处P>0.05是期望得到的结果),所以接受原假设,认为这个序列的残差符合随机分布,同时没有离群值出现,也都反映出数据的拟合效果还可以接受。
时间序列应用预测:
未来一年是到2016年12月,手动输入即可
这是未来一年的销售趋势
如果想从全局来观察预测趋势,可以在把这一年的趋势和以前的数据连接起来
此时的变量应该是”原始的销售数量“和”2016年的预测销售数量“
也可以在表中查看具体的数值
时间序列分析
参考技术A在R中生成时间序列的前提是我们将分析对象转成时间序列函数对象,包括观测值、起始时间、种植时间、及周期(月、季度、年)的结构。这些都能通过ts( )函数实现。
R语言中,对时间序列数据进行分析处理时,使用差分函数要注意:差分函数diff()不带参数名的参数指滞后阶数,也就是与滞后第几阶的数据进行差分。如果要指定差分的阶数,则一定要使用带名称的参数:diff=2。
例如: sample表示样本数据。
1、diff(sample,2)表示是对滞后2阶的数据进行差分,一阶差分,等同于: diff(sample,lag=2)
2、diff(sample,diff=2)才是表示二阶差分
意:在函数中尽量避免使用没有命名的参数。在《时间序列分析及应用-R语言(第2版)》中,P315,描述到: 我们得到的教训就是,除非完全了解相关参数的位置,否则使用未命名参数是非常危险的。
截尾是指时间序列的自相关函数(ACF)或偏自相关函数(PACF)在某阶后均为0的性质(比如AR的PACF);
拖尾是ACF或PACF并不在某阶后均为0的性质(比如AR的ACF)。
拖尾 :始终有非零取值,不会在k大于某个常数后就恒等于零(或在0附近随机波动)
截尾 :在大于某个常数k后快速趋于0为k阶截尾
AR模型:自相关系数拖尾,偏自相关系数截尾;
MA模型:自相关系数截尾,偏自相关函数拖尾;
ARMA模型:自相关函数和偏自相关函数均拖尾。
根据输出结果, 自相关函数图拖尾,偏自相关函数图截尾 ,且n从2或3开始控制在置信区间之内,因而可判定为AR(2)模型或者AR(3)模型。
以上是关于(19)时间序列分析的主要内容,如果未能解决你的问题,请参考以下文章