ARIMA(p,d,q)模型全称为差分自回归移动平均模型(Autoregressive Integrated Moving Average Model,简记ARIMA),AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数。
所谓ARIMA模型,是指将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型。ARIMA模型根据原序列是否平稳以及回归中所含部分的不同,包括移动平均过程(MA)、自回归过程(AR)、自回归移动平均过程(ARMA)以及ARIMA过程。
*什么时候要取对数:原序列的前后数值相差较大或者数量级相差较大时,一般取对数将指数趋势转化为线性趋势,而且还不会改变变量之间的统计性质,同时得到较平稳的序列;可以消除异方差,让方差恒定,即让波动相对稳定

http://www.zhihu.com/question/22012482

 

以数据集robot为例

1.打开数据并转换格式

data(robot)

  x<-data.frame(robot)
  ro<-ts(x)

2.模型拟合,参数估计

> air.fit <- arima(aplog,order=c(0,1,1), seasonal=list(order=c(0,1,1), period=12))
> m1=arima(x = ro, order = c(1, 0, 0))
> m2=arima(x = ro, order = c(0, 1, 1))

3.绘制自相关图和偏自相关图

> acf(ro,80)
> pacf(ro,30)

4.导出R的数据

> write.table(robot,"robot.csv",sep=",")

5.绘制时间序列图,一次差分时间序列图,一次差分与季节差分时间序列图

> plot.ts(ro)
> plot.ts(diff(aplog)
> aplog1<-diff(aplog,diff=1)
> aplog222<-diff(aplog1,lag = 12)

6.绘制标准残差图,绘制残差自相关图,残差正态性检验

> plot(rstandard(m1),type="o")
> plot(rstandard(m2),type="o")
> acf(rstandard(m1))
> acf(rstandard(m2))
> shapiro.test(ro)

当p-value<0.05时,我们拒绝原假设,拒绝其符合正态分布

7.模型检验

#对估计进行诊断,判断残差是否为白噪声

> tsdiag(data.fit)

随机变量X(t)(t=1,2,3……),如果是由一个不相关的随机变量的序列构成的,即对于所有S不等于T,随机变量Xt和Xs的协方差为零,则称其为纯随机过程。对于一个纯随机过程来说,若其期望和方差均为常数,则称之为白噪声过程。白噪声过程的样本实称成为白噪声序列,简称白噪声。之所以称为白噪声,是因为他和白光的特性类似,白光的光谱在各个频率上有相同的强度,白噪声的谱密度在各个频率上的值相同。

8.模型预测

> m4 <- arima(ro, order = c(1, 0, 1))
> airfore4<-forecast.Arima(m4,h=5,level=c(99.5))

 

posted on 2015-08-15 10:19  planet  阅读(9481)  评论(0编辑  收藏  举报