时间序列分析(十四):季节时间序列模型 - 季节性诊断

Posted SAS知识

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间序列分析(十四):季节时间序列模型 - 季节性诊断相关的知识,希望对你有一定的参考价值。

上一篇文章介绍时间序列模型的确定性季节因素和随机季节因素。今天,我们将介绍季节性诊断。

季节性诊断

在我们开始研究一个时间序列的时候,通常并不知道它是否存在季节性,也不知道它的周期是多少。因此,拿到一个时间序列,除了要看它是否是平稳序列之外,也要分析它是否存在季节因素以及周期为多长。诊断季节性因素的方法主要有两种,一种是通过观察序列的自相关系数图,一种是运用SPECTRA过程对序列进行傅里叶分解,并从中得出序列的周期信息。

对于passengers序列,我们来观察它的自相关系数图,如图17.88所示。

时间序列分析(十四):季节时间序列模型 - 季节性诊断

图17.88  PASSENGERS序列的自相关图

在图17.88中,我们看到在延迟为12的地方,自相关系数出现峰值,也就是说,每隔11个时段,观测之间具有显著的相关关系,这就是暗示了序列中可能存在周期为12的季节性因素。

在进行了向后12阶差分后,延迟为12的自相关系数峰值消失,落在了2倍标准误差范围以内,说明进行差分可以消除季节因素(如图17.89所示)。

时间序列分析(十四):季节时间序列模型 - 季节性诊断

图17.89  PASSENGERS序列进行12阶差分后的自相关图

运用SPECTRA过程检查数据是否具有周期性,基本语法为:

时间序列分析(十四):季节时间序列模型 - 季节性诊断

其中,SPECTRA过程不输出任何报表,选项P指定系统将周期图参数输出到输出数据集中,周期图参数存储为变量P_xx,例如P_01表示第一个分析变量的周期图参数;选项S指定系统将谱密度参数输出到输出数据集中,谱密度参数存储为变量S_xx,例如S_01表示第一个分析变量的谱密度参数;COEF指定系统将傅里叶系数输出到输出数据集中,WEIGHT语句决定了对周期图进行平滑的方法。

SPECTRA过程的原理涉及时间序列分析的另一种方法,这里不展开讲,只结合例子介绍如何根据SPECTRA过程输出的结果对序列进行周期性的判定。

例17.17: 运用SPECTRA过程检查数据集work.air1990_2000中passengers序列的周期性。

示例代码如下:

时间序列分析(十四):季节时间序列模型 - 季节性诊断

由于SPECTRA过程只输出数据集,为了更直观地观察到passengers序列的周期,我们运用SGPLOT过程作出passengers序列的谱密度图(这里的三个REFLINE语句都是根据观察谱密度图后作出),输出结果如图17.90所示。

时间序列分析(十四):季节时间序列模型 - 季节性诊断

图17.90 序列PASSENGERS的谱密度图

在Period=12、Period=4和Period=2.4处,谱密度参数存在极值,并且在Period=12处,极值比其余极值大。因此,可以认为passengers序列中的主要周期为12,和自相关函数判断出的结果一致。

至此,已经判断出序列passengers存在周期为12的季节性因素,但是要判断这个季节性因素是适合用确定性季节因素来处理,还是运用随机季节模型(即进行季节差分)来处理,没有明确的判断标准,在进行建模的时候可以都进行尝试,可建立多个备选模型。

在前面的介绍中,我们知道用ADF检验法可以进行平稳性检验,事实上,它也可以用来检验是否需要季节性差分,称为季节性ADF检验。和平稳性检验类似,季节性ADF检验的原假设为需要进行季节性差分,备择假设为不需要进行季节差分。

例17.18: 检查序列passengers是否需要进行季节差分。

示例代码如下:

时间序列分析(十四):季节时间序列模型 - 季节性诊断

在上述程序中,第一个IDENTIFY语句用来进行平稳性检验;第二个IDENTIFY语句,在选项STATIONARITY中增加了选项DLAG=12,表示检验是否需要进行步长为12的季节性差分,来看检验结果。

时间序列分析(十四):季节时间序列模型 - 季节性诊断

图17.91 例17.18中序列PASSENGERS的单位根检验报表

ADF单位根检验表示序列是趋势平稳的(如图17.91所示)。

时间序列分析(十四):季节时间序列模型 - 季节性诊断

图17.92 例17.18中序列PASSENGERS的季节性单位根检验报表

季节性ADF检验显示不能拒绝需要进行季节性差分的原假设(如图17.92所示)。

例17.19:在例17.16到例17.18中,我们分别通过自相关函数图、SPECTRA过程及ADF平稳性检验、季节性ADF检验,得知passengers序列具有趋势性,且含有周期为12的季节性因素,同时还创建了三角函数变量S4、C4、S12、C12,季节虚拟变量MON1-MON11,以及趋势变量TIME,存储在数据集work.air1990_2000,基于以上分析现在对passengers序列建立模型。

Box和Jenkins针对旅客数量提出了经典的时间序列分析(十四):季节时间序列模型 - 季节性诊断模型,并且只在模型中包含了1阶MA项和12阶MA项,我们来看该模型的拟合效果。代码如下:

时间序列分析(十四):季节时间序列模型 - 季节性诊断

模型的参数都是显著的,如图17.93所示。

时间序列分析(十四):季节时间序列模型 - 季节性诊断

图17.93  例17.18中时间序列分析(十四):季节时间序列模型 - 季节性诊断

模型参数估计报表

残差的相关诊断显示延迟3、4、5、6没有通过白噪声检验,模型拟合不足,仅在模型中考虑1阶MA项和 12阶MA项是不够的(如图17.94所示)。

时间序列分析(十四):季节时间序列模型 - 季节性诊断

图17.94  例17.18中时间序列分析(十四):季节时间序列模型 - 季节性诊断

模型残差诊断

经过多次尝试,我们在模型中添加了1阶AR项,即模型变成了时间序列分析(十四):季节时间序列模型 - 季节性诊断,代码如下:

时间序列分析(十四):季节时间序列模型 - 季节性诊断

参数估计和诊断检验如图17.95和图17.96所示,所有的参数都是显著的,并且通过了白噪声检验。

时间序列分析(十四):季节时间序列模型 - 季节性诊断

图17.95  例17.18中时间序列分析(十四):季节时间序列模型 - 季节性诊断

模型参数估计报表

时间序列分析(十四):季节时间序列模型 - 季节性诊断

图17.96 例17.18中时间序列分析(十四):季节时间序列模型 - 季节性诊断

模型残差诊断

模型信息如图17.97所示。

时间序列分析(十四):季节时间序列模型 - 季节性诊断

图17.97 例17.18中时间序列分析(十四):季节时间序列模型 - 季节性诊断模型信息

模型可以写成如下形式:

时间序列分析(十四):季节时间序列模型 - 季节性诊断

预测效果如图17.98所示。

时间序列分析(十四):季节时间序列模型 - 季节性诊断

图17.98 例17.18中时间序列分析(十四):季节时间序列模型 - 季节性诊断

模型预测效果图

除了ARIMA过程,我们在前面文章中,介绍了ESM过程也可以对带季节和趋势的时间序列进行建模,读者可以自行尝试。


结语

本系列文章涵盖了时间序列预测的基础知识和用SAS进行时间序列分析的一般步骤和常用技术。首先介绍了时间序列的概念、数字特征,以及常见的平稳模型和非平稳模型,然后结合SAS的ARIMA过程,介绍了运用Box-Jenkins方法对平稳序列建模的基本步骤。在此基础上继续介绍了如何运用ARIMA过程进行单位根检验判断序列的平稳性,以及对趋势时间序列进行建模的方法。此外,还通过例子介绍了如何运用FORECAST过程、AUTOREG过程和ESM过程建立趋势时间序列模型。最后介绍了运用自相关函数图和SPECTRA过程对时间序列的周期进行探索的方法,并结合1990年到2000年美国国内航班旅客人数的实例,介绍了运用ARIMA过程建立季节随机模型的方法。


本文结束,下一篇文章开始介绍SAS数据挖掘的一般流程。

回复【数据和代码】可以下载《深入解析SAS》一书的数据和代码。

时间序列分析(十四):季节时间序列模型 - 季节性诊断

查询往期文章,请回复下列关键字:

安全】==>【SAS智能平台安全管理】系列文章

Base基础】==>【Base SAS基础】系列文章

编程概念】==>【SAS编程基本概念】系列文章

描述性统计】==>【SAS统计分析系列:描述性统计分析】系列文章

读外部数据】==>【读取外部数据到SAS数据集】系列文章

假设检验】==>【参数估计与假设检验】系列文章

单数据集处理】==>【单数据集处理】系列文章

方差分析】==>【方差分析】系列文章

主成分与因子分析】==>【主成分分析与因子分析】系列文章

多数据集处理】==>【多数据集处理】系列文章

判别分析】==>【判别分析】系列文章

聚类分析】==>【聚类分析】系列文章

线性回归】==>【线性回归】系列文章

数据汇总展现】==>【数据汇总与展现】系列文章

SQL语言】==>【SQL语言】系列文章

LOGISTIC回归分析】==>【LOGISTIC回归分】系列文章

宏语言】==>【SAS宏语言】系列文章

时间序列分析(十四):季节时间序列模型 - 季节性诊断

小贴士


读者可以从以下链接获取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模型(一)

【时间序列分析】为啥要做季节调整?对数处理?差分?(理论篇)

时间序列模型分解,季节调整分析基础

时间序列分析之季节模型的R脚本

推荐收藏基于趋势和季节性的时间序列预测实战

怎样处理时间序列的季节成分?