时间序列分析:趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式
Posted SAS知识
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间序列分析:趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式相关的知识,希望对你有一定的参考价值。
上一篇文章介绍运用ARIMA过程建立趋势模型。今天,我们将介绍异常点检测和运用FORECAST过程建立趋势模型。
异常点检测
本文将介绍如何运用ARIMA过程进行序列的异常点检测,并运用这些异常点来改善预测效果。异常点指的是不能从历史观测中推断出来的那些突变的数据点。ARIMA过程中进行异常点检测的基本语法为:
其中,使用OUTLIER语句之前必须先使用ESTIMATE语句,选项MAXNUM指定最多检测多少个异常点。OUTLIER语句中可以检测三种类型的异常点(如图17.73所示):
选项ADDITIVE用来指定检测脉冲型异常点,ADDITIVE可以简写为AO。
选项SHIFT用来指定检测永久位移异常点,SHIFT可以简写成LS。
选项TEMP(d1 d2 …)用来检测持续时长为d1或者d2的位移异常点,可以简写成TC(d1 d2 …)。
图17.73 三种类型的异常点图示
例17.12: 在例17.11中,使用了各种方法进行建模,但是预测效果始终不是太好。这里考虑在ARIMA(1,1,0)模型的基础上,使用OUTLIER语句对demand序列进行异常点进行检测,然后在此基础上对ARIMA(1,1,0)模型进行改进。
示例代码如下:
选项MAXNUM=9指定检测9个异常点,但序列中可能不止存在9个异常点,默认情况下,选项MAXNUM的取值为5。异常点的输出如图17.74所示。
图17.74 例17.12中序列DEMAND的OUTLIER详细信息
找到这些异常点之后,即可根据这些异常点的位置极其类型创建新的输入变量,并将这些变量作为输入变量引入模型中。代码如下:
模型的参数估计和残差诊断检验结果都显示模型是合适的。相较于前面三个模型,该模型的预测效果也更加合理,如图17.75所示。
图17.75 例17.12中序列DEMAND的预测效果图
FORECAST过程建立趋势模型
FORECAST过程可以为成百上千个时间序列快速自动地生成预测。和ARIMA过程不同的是,FORECAST过程仅考虑序列和时间以及自回归项的关系,而不能考虑序列和移动平均项的关系,也不能在建模过程中引入其他输入变量。
运用FORECAST过程进行时间序列预测的基本语法为:
其中:
当要为多个时间序列进行预测时,BY语句中的分类变量的不同水平即代表不同的时间序列的名称。
选项TREND=1表示使用无趋势模型,TREND=2表示使用线性趋势模型,TREND=3表示使用二次趋势模型。
选项AR=n表示在模型中最多考虑n阶自回归项。
选项METHOD=STEPAR表示使用逐步回归的方法进行自回归项的选择,这方法的原理和线性回归中的STEPWISE方法类似,只是这里选择的自变量都是自回归项。当选项METHOD=EXPO时表示使用指数平滑法。
选项SLENTRY=和SLSTAY=等号后面的取值规则也和线性回归中类似,SLENTRY=和SLSTAY=等号后面的取值都必须在0和1之间,用于控制自回归项是否进入模型,或者是否被剔除出模型,仅在METHOD=STEPAR是起作用。默认情况下,SLENTRY=0.2,当自回归项的参数的p值小于0.2时,该自回归项被选入模型;默认SLSTAY=0.05,当模型中自回归项的参数的p值大于0.05时,则该自回归项将被剔除出模型。
例17.13: 使用FORECAST过程对序列demand进行预测。
示例代码如下:
FORECAST过程不输出任何报表。观测值、预测值和残差都保存在work.demandARfor中,参数估计和模型的诊断都保存在work.parameters中。这两个数据集的示例如图17.76和图17.77所示。
图17.76 数据集work.demandARfor部分内容
图17.77 数据集work. parameters部分内容
本文结束,下一篇文章开始介绍运行AUTOREG过程和ESM过程建立趋势模型。
回复【数据和代码】可以下载《深入解析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
以上是关于时间序列分析:趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式的主要内容,如果未能解决你的问题,请参考以下文章