如何快速的做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. 上传数据

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

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

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

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

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

预测的数据集展示:

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

如何使用?

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

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

结语

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

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

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180731G14JEZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区