时间序列分析:趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式

Posted SAS知识

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间序列分析:趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式相关的知识,希望对你有一定的参考价值。

上一篇文章介绍运用ARIMA过程建立趋势模型。今天,我们将介绍异常点检测和运用FORECAST过程建立趋势模型。

异常点检测

本文将介绍如何运用ARIMA过程进行序列的异常点检测,并运用这些异常点来改善预测效果。异常点指的是不能从历史观测中推断出来的那些突变的数据点。ARIMA过程中进行异常点检测的基本语法为:

时间序列分析(十一):趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式

其中,使用OUTLIER语句之前必须先使用ESTIMATE语句,选项MAXNUM指定最多检测多少个异常点。OUTLIER语句中可以检测三种类型的异常点(如图17.73所示):

  • 选项ADDITIVE用来指定检测脉冲型异常点,ADDITIVE可以简写为AO。

  • 选项SHIFT用来指定检测永久位移异常点,SHIFT可以简写成LS。

  • 选项TEMP(d1 d2 …)用来检测持续时长为d1或者d2的位移异常点,可以简写成TC(d1 d2 …)。

时间序列分析(十一):趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式

图17.73  三种类型的异常点图示

例17.12: 在例17.11中,使用了各种方法进行建模,但是预测效果始终不是太好。这里考虑在ARIMA(1,1,0)模型的基础上,使用OUTLIER语句对demand序列进行异常点进行检测,然后在此基础上对ARIMA(1,1,0)模型进行改进。

示例代码如下:

时间序列分析(十一):趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式

选项MAXNUM=9指定检测9个异常点,但序列中可能不止存在9个异常点,默认情况下,选项MAXNUM的取值为5。异常点的输出如图17.74所示。

时间序列分析(十一):趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式

图17.74 例17.12中序列DEMAND的OUTLIER详细信息

找到这些异常点之后,即可根据这些异常点的位置极其类型创建新的输入变量,并将这些变量作为输入变量引入模型中。代码如下:

时间序列分析(十一):趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式

模型的参数估计和残差诊断检验结果都显示模型是合适的。相较于前面三个模型,该模型的预测效果也更加合理,如图17.75所示。

时间序列分析(十一):趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式

图17.75 例17.12中序列DEMAND的预测效果图


FORECAST过程建立趋势模型

FORECAST过程可以为成百上千个时间序列快速自动地生成预测。和ARIMA过程不同的是,FORECAST过程仅考虑序列和时间以及自回归项的关系,而不能考虑序列和移动平均项的关系,也不能在建模过程中引入其他输入变量。

运用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过程建立趋势模式

FORECAST过程不输出任何报表。观测值、预测值和残差都保存在work.demandARfor中,参数估计和模型的诊断都保存在work.parameters中。这两个数据集的示例如图17.76和图17.77所示。

时间序列分析(十一):趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式

图17.76 数据集work.demandARfor部分内容

时间序列分析(十一):趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式

图17.77 数据集work. parameters部分内容


本文结束,下一篇文章开始介绍运行AUTOREG过程和ESM过程建立趋势模型。

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

时间序列分析(十一):趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

时间序列分析(十一):趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式

小贴士


读者可以从以下链接获取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 — 数据处理、分析优化与商业应用 》”


时间序列分析(十一):趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式


时间序列分析(十一):趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式

作者介绍

夏坤庄

《深入解析SAS — 数据处理、分析优化与商业应用》第一作者, SAS软件研究开发(北京)有限公司客户职能部总监。在承担研发工作的同时,夏及其团队负责对SAS非英语市场提供技术支持,并且与在美国及其它地区的团队一起,服务于SAS的SaaS/RaaS业务,同时提供和验证关于SAS产品和技术在应用领域的最佳实践。在加入SAS软件研究开发(北京)有限公司之前,夏就职于SAS中国公司,历任资深咨询顾问、项目经理、首席顾问、咨询经理,拥有丰富的咨询和项目实施经验。在长期的从业经历中,不但为SAS的金融行业客户成功实施了众多深受好评的项目,而且在近年领导实施了非金融行业的多个大数据分析项目。


SAS知识    微信:SASAdvisor     长按二维码关注

欢迎大家投稿,一起分享SAS的点滴

投稿邮箱:  sasadvisor@outlook.com


以上是关于时间序列分析:趋势时间序列分析之异常点检测和FORECAST过程建立趋势模式的主要内容,如果未能解决你的问题,请参考以下文章

异常检测 -- Kibana5.4时间序列分析

带你读论文丨异常检测算法及发展趋势分析

带你读论文丨异常检测算法及发展趋势分析

AIOps核心技术和算法要点

2021 高校大数据挑战赛-智能运维中的异常检测与趋势预测1 赛后总结与分析

2021 高校大数据挑战赛-智能运维中的异常检测与趋势预测1 赛后总结与分析