时间序列学习笔记之理论基础(一)

我们可以将数据分为两种维度来看,某个时间点的横截面方向的数据和以时间为序列的数据。这个也很容易理解,因为随着时间的推移,数据本身也会发生变化,如果我们只拿某一时刻的数据出来做分析,就是横截面数据,我们最常接触的众多机器学习算法实际上分析的都是这种数据,因为在其情景下,不需要时间这个特殊的维度。但是另外一种时间序列数据,加入了一种非常特殊的维度,也就是时间,描述的是某一个维度随着时间的变化而变化的情况,时间序列分析常用来做金融二级市场的分析或者其他时间预测性的分析,例如分析趋势等等。

时间序列的特点

  • 序列中的数据或数据点的位置依赖于时间,即数据的取值依赖于时间的变化,但不一定是时间t的严格函数。
  • 每一时刻的取值或数据点的位置具有一定的随机性,不可能完全准确地用历史数据预测。
  • 前后时刻(不一定是相邻时刻)的数值或数据点的位置有一定的相关性,这种相关性就是系统的动态规律性。
  • 从整体上看,时间序列往往呈现出某种趋势性或出现周期性变化的现象。
    因此,建立时间序列模型,首先应当仔细分析对象性质,判断其是否满足建模的基本条件。若不满足,应做适当调整。

时间序列的常用模型

  • AR(自回归)模型
  • MA(移动平均)模型
  • ARMA(自回归移动平均)模型
  • ARIMA(求和自回归移动平均)模型

时间序列建模基本步骤

  1. 获取被观测系统时间序列数据;
  2. 对数据绘图,观测是否为平稳时间序列;对于非平稳时间序列要先进行d阶差分运算,化为平稳时间序列;
  3. 经过第二步处理,已经得到平稳时间序列。要对平稳时间序列分别求得其自相关系数ACF 和偏自相关系数PACF ,通过对自相关图和偏自相关图的分析,得到最佳的阶层 p 和阶数 q
  4. 检验模型的有效性。如果拟合模型通不过检验,转向步骤3,重新选择模型再拟合。
  5. 模型优化。如果拟合模型通过检验,仍转向步骤2,充分考虑各种可能,建立多个拟合模型,从所 有通过检验的拟合模型中选择最优模型。
  6. 利用拟合模型,预测序列的将来走势。

时间序列预处理

我们在拿到一份时间序列数据的时候,同样地,首先也是要对数据做预处理。其目的有两个:

  • 检查数据是否是纯随机数据
  • 检查数据是否为平稳的

随机性检验(白噪声检验)

进行随机性检验的目的很简单,就是因为纯随机数据没有分析的价值。假设我们研究前一时刻的数据和现在时刻有什么关联的时候,如果是纯随机数据的话,这个相关性就是0。当然在实际情况下,肯定不是完全是0,但是会很接近。

随机数据又称为白噪声数据,随机性检查也会被称为白噪声检验。我们可以通过LB检验(Ljung-Box Test)来检查数据的随机性,通过该检验,我们会得到一个p值,如果p值大于显著性水平,则说明需要接受序列是随机的原假设,那么可以停止分析了。

平稳性检验

如果一份时序数据是平稳的,那么它们满足以下三点:

  • 均值是一个与时间没有关联的常数。也就是说,随着时间的推移,它们的均值是保持不变的,数据在时间推移的过程中围绕着它的均值上下波动

  • 方差是一个与时间没有关联的常数。方差体现的是波动的情况,如果方差也与时间没有关联的话,那么就意味着数据在围绕均值上下波动的范围是一致的

  • 协方差只与时间间隔有关,与时间无关。意思是数据随着时间波动的前后两个波峰或者波谷之间的距离是相等的,他们的距离就是时间的间隔

关于平稳性的检查目前常用的方法有三个:

  • 1、时序图检验
    平稳:序列始终在一个常数值附近随机波动,且波动范围有界。
    非平稳:有明显的趋势性或周期性。
  • 2、自相关图检验
    平稳:自相关系数会很快衰减向0。
    非平稳:自相关系数衰减向0的速度比较慢。
  • 3、单位根检验(精确判断)

单位根检验的主要方法为ADF检验,其原假设为数据序列有单位根(非平稳的)

单位根检验

  • 单位根检验是建立ARMA模型、ARIMA模型、变量间的协整分析、因果关系检验等的基础。
  • 单位根检验是针对宏观经济数据序列、货币金融数据序列中是否具有某种统计特性而提出的一种平稳性检验的特殊方法,单位根检验的方法有很多种,包括ADF检验、PP检验、NP检验等。
  • 时间序列矩特性的时变行为实际上反映了时间序列的非平稳性质。对非平稳时间序列的处理方法一般是将其转变为平稳序列,这样就可以应用有关平稳时间序列的方法来进行相应得研究。对时间序列单位根的检验就是对时间序列平稳性的检验,非平稳时间序列如果存在单位根,则一般可以通过差分的方法来消除单位根,得到平稳序列。对于存在单位根的时间序列,一般都显示出明显的记忆性和波动的持续性。

平稳性处理

平稳性是时间序列分析的前提。故需要对非平稳序列进行平稳性处理。处理的方法有:

  1. 差分(下面介绍)
  2. 对数变换。主要是减小数据的振动幅度,使线性规律更加明显。 注意:变换的序列需要大于0。
  3. 平滑法 。平滑法具体分为移动平均法和指数平均法。移动平均即利用一定时间间隔内的平均值作为某一期的估计值,指数平均则是用变求权的方法来计算均值。

差分

如果我们在平稳性检验中得出数据是非平稳的这样的结论,那么我们就需要差分来消除在时序数据中的季节性趋势,时序趋势等趋势性数据。我们采用特定时间点和其前一个时间的结果的差值来消除趋势的影响。分别对季节性和趋势进行建模,并将其从原始的时序数据中分离出来,分离后得到残差,再对残差进行平稳性检验看是否变成了平稳性数据

差分的实质

差分运算的实质是使用自回归的方式提取确定性信息。

差分方式的选择

根据序列不同特点选择合适的差分方式:
- 序列蕴含着显著的线性趋势,1阶差分就可以实现趋势平稳。
- 序列蕴含着曲线趋势,2阶或3阶差分就可提取出曲线趋势的影响。
- 蕴含固定周期的序列,选择步长为周期长度的差分运算可以较好地提取周期信息。

时序模型拟合

  • 自回归过程(Auto Regression):当前值是过去p个值的加权和,加上一个扰动项
  • 移动平均过程(Moving Average):前q个扰动项的加权和,加上一个同期的扰动项

自回归过程是从本身,移动平均过程是从残差来对数据进行不同角度的预测。将这个两个过程合并起来就是ARMA,自回归移动平均过程。

  1. ARMA过程达到了一种特定的统计均衡状态,特征不随着时间的变化而变化。
  2. 对于一个MA过程,MA的多项式的所有根的绝对值大于1

接下来需要找到三个参数:

  • AR的参数p,也就是跟过去的p个时间的数据自相关
  • 差分的参数d
  • MA的参数q,跟过去q个时间的残差有关
    我们会有很多种参数的组合,这时可以利用BIC或者AIC来对其进行判断。

猜你喜欢

转载自blog.csdn.net/brucewong0516/article/details/81480507