如何快速的做ARIMA时间序列分析

Posted 小罗说统计

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何快速的做ARIMA时间序列分析相关的知识,希望对你有一定的参考价值。

硕士毕业,小罗在基层疾控参加了工作,十分深切的感受到了基层疾控的业务繁忙;同时也感到略微的伤感,因为小罗深爱的数据分析在这里并不能派上用场。但数据分析、编程、数学已经深入了小罗的骨髓,一天不学,一天不做,心里憋得慌。所以工作之余,小罗仍在坚持学习,坚持与大家分享与R和数据分析相关的东西。

废话不多说了,今天小罗用R语言中强大的shiny包为大家写了一个快速做ARIMA时间序列分析的小软件。这个软件是基于网页技术(html, css, javascript)和R内核的。目的是帮助刚学习了ARIMA的理论知识,但是又不太会R编程的同学,快速上手R,完成ARIMA时间序列分析。


什么是ARIMA?

ARIMA模型全称为自回归积分滑动平均模型(Autoregressive Integrated Moving Average Model,简记ARIMA),是由博克思(Box)和詹金斯(Jenkins)于70年代初提出一著名时间序列(Time-series Approach)预测方法。其表达形式为ARIMA(p,d,q)。

如果大家要深入了解ARIMA的理论部分,小罗推荐一本书:

JonathanD.Cryer, Kung-SikChan. 时间序列分析及应用:R语言[M]. 机械工业出版社, 2011.


什么是Shiny?

shiny是RStudio公司开发的R语言软件包,用来快速开发交互式的小程序。若大家想入门shiny,小罗推荐一个网站:

http://yanping.me/shiny-tutorial/


平台概况

下面,小罗为大家展示一下平台界面:



界面主要分为左边和右边两部分,左边从用户上传自己的CSV格式数据开始,下面是指定显示用户数据集的行数,指定用以进行时间序列分析的变量名,指定想要预测的期数,指定和时间序列的周期长度,最后是用户下载模型预测数据的按钮。

右边是用户所上传数据的显示窗口,拟合的模型信息,原始序列图以及预测图。

下面小罗以自己的数据进行演示:


1. 上传数据

如何快速的做ARIMA时间序列分析

2. 指定数据集显示的行数以及时间序列变量

如何快速的做ARIMA时间序列分析

可以看到,在指定了分析变量以后,所拟合的模型结果就已经出来了,并且所有的图片都提供右键点击下载哟。如果您的时间序列数据的周期并不是默认的12,那么您可以在"The period of your time series" 那一栏进行修改。

顺便提一句,模型的评价是基于summary函数的,包含ARIMA需要展示的参数以及模型评价的AIC,BIC等指标,可以说是比较全面的。


3. 改变预测长度以及下载预测数据集

如何快速的做ARIMA时间序列分析

点击 download 按钮,即可下载预测的数据。


预测的数据集展示:


如何快速的做ARIMA时间序列分析


最左边一列是预测期数的指示变量,第二列是点估计的结果,剩下的四列分别是不同 comfidence level 的区间估计结果。


如何使用?

通过外网发布的版本目前还在开发阶段,并且界面会更加友好,更加智能。但目前只能使用线下版本,即下载小罗的源代码,在本地使用R进行打开。但大家放心,需要大家做的工作只有 Ctrl + Enter 。


首先把ARIMA文件夹放在一个您熟悉的位置,然后运行下面代码即可,注意,把runApp()括号里面的路径改一下。


结语

自从SAS、SPSS、R等统计分析软件出来以后,统计分析的时间已经大幅度缩短,程式化的过程是目前统计分析的一大特点,那么下一步,我们应该朝着智能化,集成化以及自动化的统计分析迈进。

需要源代码文件的同学,给小罗留邮箱。

以上是关于如何快速的做ARIMA时间序列分析的主要内容,如果未能解决你的问题,请参考以下文章

如何预测股票分析--自动ARIMA

时间序列分析-如何写出ARIMA模型的公式

时间序列分析-如何写出ARIMA模型的公式

时间序列分析-如何写出ARIMA模型的公式

arima模型python 怎么看平稳性

时间序列笔记-季节性ARIMA模型(一)