时间序列分析:趋势时间序列分析之运用ARIMA过程建立趋势模型
Posted SAS知识
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间序列分析:趋势时间序列分析之运用ARIMA过程建立趋势模型相关的知识,希望对你有一定的参考价值。
上一篇文章介绍确定性时间趋势。今天,我们将介绍运用ARIMA过程建立趋势模型。
运用ARIMA过程建立趋势模型
在例17.9中,通过Prod的时序图可以观察到序列具有一定的趋势,但是如果序列的变异很大,有些时候不一定能够从时序图中看出确定性的趋势。这时可以借助TIMESERIES过程将序列中的趋势周期、季节周期等因素进行分解,以便更加明确的判断是否存在趋势或者季节等因素。
使用TIMESERIES过程进行因素分解的语法为:
其中:
选项SEASONALITY=可以指定季节周期的长度。例如,SEASONALITY=3表示序列中每三个数据形成一个季节周期。如果没有使用选项SEASONALITY=指定季节周期的长度,系统将根据ID语句中的选项INTERVAL来判断季节周期,例如,INTERVAL=MONTH,则表示SEASONALITY=12。
在一个TIMESERIES过程中,只能使用一个DECOMP语句。DECOMP语句用来进行趋势、季节等因素的分解,常见的选项有ORIG(原始序列)、TCC(trend-cycle component)、SC(seasonal component)等。选项MODE=ADD时表示所有因素是相加的关系,选项MODE=MULT时表示所有因素是相乘的关系。
例17.11: 数据集ex.demanding中包含了某种工业原料从2003年1月到2009年9月的市场需求数据。试分析序列demand,并进行建模分析。
第一步:用TIMESERIES过程对序列demand的趋势和季节成分进行分解,观察序列中是否存在明显的趋势或者季节成分。代码如下:
图17.57是序列demand中的趋势成分(这里暂不输出季节成分)。
图17.57 例17.11中序列DEMAND的趋势周期成分
该序列的变异比较大,并且存在一些异常值,图中的趋势周期成分帮助我们观察到序列可能存在二次趋势。
在上面的代码中,还指定输出了序列的相关关系图以及白噪声概率图,输出如图17.58所示。
图17.58 例17.11中序列DEMAND的相关性分析
在PACF图和IACF图中,偏自相关系数和逆自相关系数在一阶延迟之后都迅速衰减成小值振荡,和AR(1)过程的特征相符。白噪声检验揭示该序列不是白噪声序列。
第二步:对序列进行单位根检验,判断序列是否平稳,是否有必要进行一阶差分(如图17.59所示)。
图17.59 例17.11中序列DEMAND的单位根检验报表
单均值和趋势类型下的ADF检验的p值都小于0.05,说明序列是显著平稳的。因为ADF检验结果显示序列是平稳的,不需要进行一阶差分,结合序列的自相关系数图,可以考虑使用AR(1)模型。
但是序列的时序图和TIMESERIES过程都揭示了序列具有二次函数的趋势,这和单位根检验的结果不太一致,因为单位根检验中不能检验二次趋势。因此在建模分析时,可以考虑多个模型,例如,建立包含以二次趋势为输入变量的模型,或者单独根据平稳时间序列的判断建立模型,甚至也可以考虑的非平稳模型。实际操作中,由于各种各样的原因,导致这种时序图和检验结果有差别的情况时有发生,当遇到这种情况时,不能盲目地依赖时序图或者检验结果,在建模型的时候应该充分考虑多种情况。
用ARIMA过程建立包含确定时间趋势序列的模型时,需要预先生成趋势变量。_LINEAR_和_SQAURE_是新生成的代表线性和二次关系的趋势变量。代码如下:
第三步:拟合模型,进行参数估计、诊断检验和预测。
根据ADF检验的结果和序列自相关系数图,先尝试使用平稳序列建模的方法拟合AR(1)模型。代码如下:
为了便于比较,将预测数据输出到数据集work.AR1中(如图17.60至图17.62所示)。
图17.60 例17.11中序列DEMAND的AR(1)模型参数估计和拟合优度报表
图17.61 例17.11中序列DEMAND的AR(1)模型残差诊断
图17.62 例17.11中序列DEMAND的AR(1)模型残差正态诊断
可以看到,模型中的参数AR1,1是显著的,在残差的自相关检验和正态性检验中,都表示AR(1)模型可以充分拟合序列。
预测效果图如图17.63所示。
图17.63 例17.11中序列DEMAND的AR(1)模型预测效果图
虽然诊断结果显示AR(1)对于demand序列的拟合是足够的,但是从预测效果图看来,对未来的预测效果和序列的变化趋势明显不符合的。特别是可以看到,序列的最后六个观测的预测值都明显比实际观测值大,说明预测的偏差可能较大。
ADF检验虽然认为序列是平稳的,但是预测效果不太理想,因此接下来要尝试使用非平稳时间序列分析的方法进行建模。代码如下:
输出一阶差分后,序列的自相关系数图如图17.64所示。
图17.64 序列DEMAND(1)的趋势和相关分析
对于差分后的序列,自相关系数图显示AR(1)或者MA(1)是合适。
根据原始序列demand,对ARIMA(1,1,0)模型进行拟合。代码如下:
图17.65和图17.66中显示的是ARIMA(1,1,0)模型拟合优度报表和诊断检验的结果,表明ARIMA(1,1,0)模型合格。
图17.65 序列DEMAND的ARIMA(1,1,0)模型拟合优度报表
图17.66 序列DEMAND的ARIMA(1,1,0)模型残差诊断
ARIMA(1,1,0)的预测效果如图17.67所示。
图17.67 序列DEMAND的ARIMA(1,1,0)模型预测效果图
ARIMA(1,1,0)的预测效果比较合理,没有出现AR(1)那样明显的偏差。但是该模型95%的预测置信域很宽,置信域越宽表明预测的精度越低。
TIMESERIES过程明显显示序列具有二次趋势,因此,可以继续尝试引入确定性趋势。
参数估计和诊断检验结果如图17.68和图17.69所示。
图17.68 序列DEMAND引入外部变量的模型参数估计和拟合优度报表
图17.69 序列DEMAND引入外部变量的模型残差诊断
参数估计的结果显示线性趋势变量和二次趋势变量的系数都是显著不为零的,但是残差诊断显示,仅根据线性趋势变量和二次趋势变量拟合出的回归模型没有能将序列中的自相关关系考虑进去。因此,仍然需要对残差序列进行建模。此时,可以运用ADF检验对残差序列的平稳性进行检验。这里将ADF检验这一步省略。
上面demand的残差相关诊断中,PACF图和IACF图都显示AR(1)过程可以用来拟合残差。因此,我们有
参数估计和诊断检验的结果如图17.70和图17.71所示。
图17.70 序列DEMAND引入外部变量的AR(1)模型参数估计和拟合优度报表
图17.71 序列DEMAND引入外部变量的AR(1)模型残差诊断
残差诊断检验显示该模型是合适的,但是,参数估计报表显示线性趋势变量的系数不显著。该模型的预测效果图如图17.72所示。
图17.72 序列DEMAND引入外部变量的AR(1)模型预测效果图
95%的置信域其宽度明显收窄,但是预测效果中仍然没有能将序列末端的迅速衰减描述出来,因此,我们猜想,可能序列末端的迅速衰减是和一些外部数据(如,经济指标和商业指标等)相关。如果需要进一步改善预测,需要在预测的过程中加入外部变量。考虑外部变量的时间序列分析不属于本章的范畴,读者如果有兴趣可以参考SAS帮助文档。
第四步:模型比较。
针对这个时间序列建立三个模型,如表17.2所示,其中AIC和SBC值代表各个模型的拟合优度信息。
从拟合优度来看,ARIMA(1,1,0)要优于其他两个模型。
注意:
在选择模型时,要综合考虑其他因素,比如预测效果,模型对数据的解释效果等。不能盲目依赖拟合优度选择模型。
通过例17.11,基本把时间序列分析的整个过程都实践了一遍,接下来,将介绍如何进一步改进模型,提高预测的准确度。
本文结束,下一篇文章开始介绍异常点检测和运行其他过程建立趋势模型。
回复【数据和代码】可以下载《深入解析SAS》一书的数据和代码。
查询往期文章,请回复下列关键字:
【安全】==>【SAS智能平台安全管理】系列文章
【Base基础】==>【Base SAS基础】系列文章
【编程概念】==>【SAS编程基本概念】系列文章
【描述性统计】==>【SAS统计分析系列:描述性统计分析】系列文章
【读外部数据】==>【读取外部数据到SAS数据集】系列文章
【假设检验】==>【参数估计与假设检验】系列文章
【单数据集处理】==>【单数据集处理】系列文章
【方差分析】==>【方差分析】系列文章
【主成分与因子分析】==>【主成分分析与因子分析】系列文章
【多数据集处理】==>【多数据集处理】系列文章
【判别分析】==>【判别分析】系列文章
【聚类分析】==>【聚类分析】系列文章
【线性回归】==>【线性回归】系列文章
【数据汇总展现】==>【数据汇总与展现】系列文章
【SQL语言】==>【SQL语言】系列文章
【LOGISTIC回归分析】==>【LOGISTIC回归分】系列文章
小贴士
读者可以从以下链接获取SAS公司提供的免费版环境:
SAS大学版(SAS® University Edition)是SAS为在校大学生免费提供的基于虚拟机和网页的SAS环境。回复关键字【大学版】,可以查看详细介绍。
下载路径:
https://www.sas.com/en_us/software/university-edition/download-software.html
SAS学术版(SAS® OnDemand for Academics)是 SAS 为学术届人士免费提供的、在线的、基于SAS 私有云上的应用服务环境。
用户首先需要注册,然后按照提示信息就可登录。
注册路径:
http://odamid.oda.sas.com
本文转自《深入解析SAS — 数据处理、分析优化与商业应用 》
如若转载本文,请在文章顶部标注 “本文转自SAS知识 (ID: SASAdvisor),摘自《深入解析SAS — 数据处理、分析优化与商业应用 》”
作者介绍
夏坤庄
《深入解析SAS — 数据处理、分析优化与商业应用》第一作者, SAS软件研究开发(北京)有限公司客户职能部总监。在承担研发工作的同时,夏及其团队负责对SAS非英语市场提供技术支持,并且与在美国及其它地区的团队一起,服务于SAS的SaaS/RaaS业务,同时提供和验证关于SAS产品和技术在应用领域的最佳实践。在加入SAS软件研究开发(北京)有限公司之前,夏就职于SAS中国公司,历任资深咨询顾问、项目经理、首席顾问、咨询经理,拥有丰富的咨询和项目实施经验。在长期的从业经历中,不但为SAS的金融行业客户成功实施了众多深受好评的项目,而且在近年领导实施了非金融行业的多个大数据分析项目。
SAS知识 微信:SASAdvisor 长按二维码关注
欢迎大家投稿,一起分享SAS的点滴
投稿邮箱: sasadvisor@outlook.com
以上是关于时间序列分析:趋势时间序列分析之运用ARIMA过程建立趋势模型的主要内容,如果未能解决你的问题,请参考以下文章
时间序列分析:趋势时间序列分析 - AUTOREG过程和ESM过程