时间序列完整教程(R)
简介
在商业应用中,时间是最重要的因素,能够提升成功率。然而绝大多数公司很难跟上时间的脚步。但是随着技术的发展,出现了很多有效的方法,能够让我们预测未来。不要担心,本文并不会讨论时间机器,讨论的都是很实用的东西。 
本文将要讨论关于预测的方法。有一种预测是跟时间相关的,而这种处理与时间相关数据的方法叫做时间序列模型。这个模型能够在与时间相关的数据中,到一些隐藏的信息来辅助决策。 
当我们处理时序列数据的时候,时间序列模型是非常有用的模型。大多数公司都是基于时间序列数据来分析第二年的销售量,网站流量,竞争地位和更多的东西。然而很多人并不了解时间序列分析这个领域。 
所以,如果你不了解时间序列模型。这篇文章将会你介绍时间序列模型的处理步骤以及它的相关技术。 
本文包含的内容如下所示: 
目录 
* 1、时间序列模型介绍 
* 2、使用R语言来探索时间序列数据 
* 3、介绍ARMA时间序列模型 
* 4、ARIMA时间序列模型的框架与应用
1、时间序列模型介绍
本节包括平稳序列,随机游走,Rho系数,Dickey Fuller检验平稳性。如果这些知识你都不知道,不用担心-接下来这些概念本节都会进行详细的介绍,我敢打赌你很喜欢我的介绍的。
平稳序列
判断一个序列是不是平稳序列有三个评判标准: 
1. 均值,是与时间t 无关的常数。下图(左)满足平稳序列的条件,下图(右)很明显具有时间依赖。 
1. 方差,是与时间t 无关的常数。这个特性叫做方差齐性。下图显示了什么是方差对齐,什么不是方差对齐。(注意右的不同分布。) 
2. 协方差,只与时期间隔k有关,与时间t 无关的常数。如下图(右),可以注意到随着时间的增加,曲线变得越来越近。因此红序列的协方差并不是恒定的。 
我们为什么要关心平稳时间序列呢?
除非你的时间序列是平稳的,否则不能建立一个时间序列模型。在很多案例中时间平稳条件常常是不满足的,所以首先要做的就是让时间序列变得平稳,然后尝试使用随机模型预测这个时间序列。有很多方法来平稳数据,比如消除长期趋势,差分化。
随机游走
这是时间序列最基本的概念。你可能很了解这个概念。但是,很多工业界的人仍然将随机游走看一个平稳序列。在这一节中,我会使用一些数学工具,帮助理解这个概念。我们先看一个例子 
例子:想想一个女孩在一个巨型棋盘上面随意移动。这里,下一个位置只取决于上一个位置。 
 
现在想象一下,你在一个封闭的房间里,不能看见这个女孩。但是你想要预测不同时刻这个女孩的位置。怎么才能预测的准一点?当然随着时间的推移你预测的越来越不准。在t=0时刻,你肯定知道这个女孩在哪里。下一个时刻女孩移动到附件8块方格中的一块,这个时候,你预测到的可能性已经降为1/8。继续往下继续预测,现在我们将这个序列公式化:
$X(t) = X(t-1) + Er(t)$
这里的$Er_t$代表这这个时间点随机干扰项。这个就是女孩在每一个时间点带来的随机性。
现在我们递归所有x时间点,最后我们将得到下面的等式:
$X(t) = X(0) +Sum(Er(1),Er(2),Er(3).....Er(t))$
现在,让我们尝试验证一下随机游走的平稳性假设: 
1. 是否均值为常数?
E[X(t)] = E[X(0)] + Sum(E[Er(1)],E[Er(2)],E[Er(3)].....E[Er(t)])
我们知道由于随机过程的随机干扰项的期望值为0.到目前为止:E[X(t)] = E[X(0)] = 常数 
2. 是否方差为常数?
Var[X(t)] = Var[X(0)] + Sum(Var[Er(1)],Var[Er(2)],Var[Er(3)].....Var[Er(t)])
Var[X(t)] = t * Var(Error) = 时间相关
因此,我们推断,随机游走不是一个平稳的过程,因为它有一个时变方差。此外,如果我们检查的协方差,我们看到协方差依赖于时间。
时间的脚步
我们看一个更有趣的东西
我们已经知道一个随机游走是一个非平稳的过程。让我们在方程中引入一个新的系数,看看我们是否能制定一个检查平稳性的公式。 
Rho系数