设为首页 加入收藏

TOP

时间序列分析算法【R详解】(二)
2017-10-10 12:08:32 】 浏览:6208
Tags:时间序列 分析 算法 详解
ers数据开始的时间
> end(AirPassengers)
 [1] 1960 12
#这个是Airpassengers数据结束的时间
> frequency(AirPassengers)
 [1] 12
#时间序列的频率是一年12个月
 > summary(AirPassengers)
 Min. 1st Qu. Median Mean 3rd Qu. Max.
 104.0 180.0 265.5 280.3 360.5 622.0

矩阵中详细数据

#The number of passengers are distributed across the spectrum
> plot(AirPassengers)
#绘制出时间序列
>abline(reg=lm(AirPassengers~time(AirPassengers)))
# 拟合一条直线

clip_image018

有一些更多的操作需要做

> cycle(AirPassengers)
#打印每年的周期

 

2 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

3 1949 1 2 3 4 5 6 7 8 9 10 11 12

4 1950 1 2 3 4 5 6 7 8 9 10 11 12

5 1951 1 2 3 4 5 6 7 8 9 10 11 12

6 1952 1 2 3 4 5 6 7 8 9 10 11 12

7 1953 1 2 3 4 5 6 7 8 9 10 11 12

8 1954 1 2 3 4 5 6 7 8 9 10 11 12

9 1955 1 2 3 4 5 6 7 8 9 10 11 12

10 1956 1 2 3 4 5 6 7 8 9 10 11 12

11 1957 1 2 3 4 5 6 7 8 9 10 11 12

12 1958 1 2 3 4 5 6 7 8 9 10 11 12

13 1959 1 2 3 4 5 6 7 8 9 10 11 12

14 1960 1 2 3 4 5 6 7 8 9 10 11 12

 
>plot(aggregate(AirPassengers,FUN=mean))
#This will aggregate the cycles and display a year on year trend
> boxplot(AirPassengers~cycle(AirPassengers))
#Box plot across months will give us a sense on seasonal effect

clip_image020

clip_image022

重要推论

  1. 每年的趋势显示旅客的数量每年都在增加
  2. 七八月的均值和方差比其他月份要高很多
  3. 每个月的平均值并不相同,但是方差差异很小。因此,可以看出具有很强的周期性。,一个周期为12个月或更少。

查看数据,试探数据是建立时间序列模型最重要的一部-如果没有这一步,你将不知道这个序列是不是平稳序列。就像这个例子一样,我们已经知道了很多关于这个模型的很多细节。
接下来我们会建立一些时间序列模型以及这些模型的特征,也会最一些预测。

3、ARMA时间序列模型

ARMA也叫自回归移动平均混合模型。ARMA模型经常在时间序列中使用。在ARMA模型中,AR代表自回归,MA代表移动平均。如果这些术语听起来很复杂,不用担心-下面将会用几分钟的时间简单介绍这些概念。
我们现在就会领略这些模型的特点。在开始之前,你首先要记住,AR或者MA并不是应用在非平稳序列上的。
在实际应用中可能会得到一个非平稳序列,你首先要做的就是将这个序列变成平稳序列(通过差分化/转换),然后选择可以使用的时间序列模型。
首先,本文将介绍分开介绍两个模型(AR&MA)。接下来我们看一看这些模型的特点。

自回归时间序列模型

让我们从下面的例子理解AR模型:
现状一个国家的GDP(x(t))依赖与去年的GDP(x(t-1)).这个假设一个国家今年的GDP总值依赖与去年的GDP总值和今年的新开的工厂和服务。但是GDP的主要依赖与去年去年的GDP。
那么,GDP的公式为:

x(t) = alpha *  x(t – 1) + error (t)

这个等式就是AR公式。公式(1)表示下一个点完全依赖与前面一个点。alpha是一个系数,希望能够找到alpha最小化错误率。x(t-1)同样依赖x(t)。

例如,x(t)代表一个城市在某一天的果汁的销售量。在冬天,极少的供应商进果汁。突然有一天,温度上升了,果汁的需求猛增到1000.然而过了几天,气温有下降了。但是众所周知,人们在热天会喝果汁,这些人会有50%在冷天仍然喝果汁。在接下来的几天,这个比例降到了25%(50%的50%),然后几天后逐渐降到一个很小的数。下图解释了AR序列的惯性:
clip_image024

移动平均时间序列模型

接下来另一个关于移动平均的例子。
一个公司生成某种类型的包,这个很容易理解。作为一个竞争的市场,包的销售量从零开始增加的。所以,有一天他做了一个实验,设计并制作了不同的包,这种包并不会被随时购买。因此,假设市场上总需求是1000个这种包。在某一天,这个包的需求特别高,很快库存快要完了。这天结束了还有100个包没卖掉。我们把这个误差成为时间点误差。接下来的几天仍有几个客户购买这种包。下面通过一个简单的公式来描述这个场景:

x(t) = beta *  error(t-1) + error (t)

尝试把这个图画出来,就是这个样子的:
clip_image026

注意到MA和AR模型的不同了没?在MA模型中,噪声/冲击迅速小时。在AR模型中会受到长时间的影响。

AR模型与MA模型的不同

AR与MA模型的主要不同在于时间序列对象在不同时间点的相关性。
MA模型用过去各个时期的随机干扰或预测误差的线性组合来表达当前预测值。当n>某一个值时,x(t)与x(t-n)的相关性总为0.AM模型仅通过时间序列变量的自身历史观测值来反映有关因素对预测目标的影响和作用,步骤模型变量相对独立的假设条件约束,所构成的模型可以消除普通回退预测方法中由于自变量选择、多重共线性等造成的困难。即AM模型中x(t)与x(t-1)的相关性随着时间的推移变得越来越小。这个差别要好好利用起来。

利用ACF和PACF绘图

一旦我们得到一个平稳时间序列。我们必须要回答两个最重要的问题;
Q1:这个是AR或者MA过程?
Q2:我们需要利用的AR或者MA过程的顺序是什么?

解决这两个问题我们要借助两个系数:
时间序列x(t)滞后k阶的样本自相关系数(ACF)和滞后k期的情况下样本偏自相关系数(PACF)。公式省略。
AR模型的ACF和PACF:
通过计算证明可知:
- AR的ACF为拖尾序列,即无论滞后期k取多大,ACF的计算值均与其1到p阶滞后的自相关函数有关。
- AR的PACF为截尾序列,即当滞后期k>p时PACF=0的现象。
clip_image028       clip_image030

上图蓝线显示值与0具有显著的差异。很显然上面PACF图显示截尾于第二个滞后,这意味这是一个AR(2)过程。
MA模型的ACF和PACF:
- MA的ACF为截尾序列,即当滞后期k>p时PACF=0的现象。
- AR的PACF为拖尾序列,即无论滞后期k取多大,ACF的计算值均与其1到p阶滞后的自相关函数有关。
clip_image030[1]       clip_image032[4]

很显然,上面ACF图截尾于第二个滞后,这以为这是一个MA(2)过程。
目前,本文已经介绍了关于使用ACF&PACF图识别平稳序列的类型。现在,我将介绍一个时间序列模型的整体框架。此外,还将讨论时间序列模型的实际应

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇R语言各种假设检验实例整理(常用.. 下一篇R语言写2048游戏

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目