统计

时序分析

2020-08-21  本文已影响0人  zidea
machine_learning.jpg

时序预测

time_series.jpg

概述

我们用机器学习模型通过对历史数据来学习拟合,从而来对未来进行预测。这次分享我们主要以传统

主要从这三个方面来展开对时序分析

时序应用

时序分析是一个比较有特点研究领域,这个领域始于对金融业,例如股市趋势预测、投资风险评估。后来有渗透到其他领域,对未来市场预测、动态定价、用电量预测以及在生物医药也有其一席之地。

考虑因素

颗粒度

预测范围

y_{t:t+T} = f(x_{t-1},x_{t-2},\dots,x_1,temperature_t,dow_t,month_t)

时间序列的定义

数学定义一般都是比较简短、严谨和抽象的语言来描述一个概念。按时间序列排序的一组随机数变量.
X_1,X_2,\dots,X_t
表示一个随机事件的时间序列,简记为\{X_t,t \in T\}

在时序预测中,每一个数据也就是我们看到的数值其实都是一个随机变量的观察值,随机变量服从一定分布。其实我们看到值也可以称为观察值其实是时间随机序列的一个实现,或者叫做实例,所有我们看到历史数据就是随机时间序列一组样本。

其实我们通过分析来把握这个随机时序的性质

因为我们知道每一个点都是服从整体分布。只要我们通过数据得到这些随机时序的性质,也就是掌握随机变量的模样。其实就是一个数理统计过程,也有点类似机器学习中生成模型。

其实上面就简述了时间序列任务总体方案

  1. 随机抽样
  2. 观察值序列
  3. 通过观察值我们分析出随机序列性质
  4. 根据这些性质建立模型,所谓的模型就是我们数学方式将这些分析性质描述和表示出来
  5. 使用模型进行预测

有了整体方案,我们一步一步按照这些步骤去去做,然后把需要填填上就完成时序预测。

时间序列分析

上面内容一看任务的关键步骤就是时间序列分析,那么什么是时间序列分析呢?一句话时间序列分析就是对时间序列进行统计分析。

时间序列分析方法

那么具体分析方法有那些呢?主要有两种,分别是描述性时序分析和统计时序分析。

machine_learning.jpg

平稳性

时间序列分析理论中有两种平稳性定义

严平稳

所谓严就是说严平稳的所有统计性质都不随时间的变化而变化。这是严平稳性质也是严平稳的定义.
以后我们对于一些概念都可以尝试用数学语言描述一下,
F_n(x_1,x_2,\dots,x_n;t_1,t_2,\dots,t_nx_1,x_2,\dots,x_n;t_1 + \epsilon,t_2 + \epsilon,\dots,t_n + \epsilon)

弱平稳

也称协方差平稳(covariance stationary)、二阶平稳(second-order stationary)或宽平稳(wide-sense stationary),弱平稳时间序列的一阶矩和二阶矩不随时间的变化而变化。

判断时间序列的平稳性有助随后选择模型,那么的平稳性是时间序列一个重要性质,可以用来给时间序列进行分类。

我们会谈谈严平稳和弱平稳之间的关系,满足严平稳的序列具有弱平稳性,但是严平稳并不能全部涵盖弱平稳。为什么说严平稳并不能全部涵盖弱平稳?这是因为柯西分布是严平稳时间序列,但是不存在二阶矩或一阶矩,所以柯西分布就是不满足弱平稳的严平稳。

当时间序列为正态分布序列,则由二阶矩描述了正态分布的所有统计性质,此时弱平稳的正态序列也是严平稳。

因为在实际中多数时间序列都是弱平稳,所以今天我们也要重点谈谈弱平稳。

平稳性定义

如果时间序列\{y_t\}的二阶矩有限
E(y_t) = E(y_{t-j}) = \mu
我们看随着时间变化,时间序列的均值是一个常数。
Var(y_t) = Var(y_{t-j}) = \sigma^2
方差同均值一样也是常数,方差是二阶矩
Cov(y_t,y_{t-s}) = Cos(y_{t-j},y_{t-j-s}) = \gamma_s
协方差也是二阶矩,不同时刻的点是否有规律性,因为弱平稳的协方差或者准确地说自协方差是一个时间间隔的函数。当时间间隔协方差是相当的,当间隔不相同的时候对应协方差就不相同,当 s 变化 \gamma_s 就会变化

其实我们就是在找(y_t,y_{t-1})(y_t,y_{t-2})之间的关系,这里用 \gamma(s) s 表示不同的时间间隔,例如(y_t,y_{t-s})

那么也就是说弱平稳时间序列的自协方差只与时滞 s 有关,与时间的起始位置 t 无关。

自协方差Cov(y_t,y_{t-s})简记为仅与时滞s 相关的一元函数形式\gamma_ss=0 时,\gamma_0 就等同于方差
\gamma_0 = \sigma^2
平稳时间序列的自相关系数也可以简记为与时滞 s 相关的一元函数形式p_s
p_s \frac{\gamma_s}{\gamma_0} = \frac{\gamma_s}{\sigma^2}

E[X_{t+k} - a][X_t - a] = \gamma(k) \forall t,t + k \in T

平稳时间序列的应用特性

时间序列模型平稳性的判断

如果一个模型生成时间序列是平稳的,那么就说明该模型是平稳,否则就是非平稳的

模型平稳性的判别原因

这里有一段话大家可以理解一下,AR、MA和ARMA模型都是常用的平稳序列的拟合模型,但并非所有的AR、MA和ARMA模型都是平稳的。

模型的平稳性判别方法

好我们回到线性差分方程,我们重点说一下差分方程两种表达方式,其中我们先说一下什么是滞后算子。
假设已知时间序列\{y_t\}\{z_t\} 有如下关系
z_t = y_{t-1}
其实就是我们不用y_{t-1}来表示t-1是的y 而表达成为y_t = Ly_{t-1} 就是我们在程序中看到 lag 也有用 B 表示的,以此类推
\begin{aligned} y_{t-1} = L y_t\\ y_{t-2} = LL y_t \end{aligned}
所以用滞后算子表达出多项式
A(L) = \alpha_0 + \alpha_1L +\alpha_1L^2 + \dots + \alpha_p L^p

A(L)y_t = (\alpha_0 + \alpha_1L +\alpha_1L^2 + \dots + \alpha_p L^p) y_t

差分算子

阶差分

步差分

求解p阶线性差分方程的特征根法

典型的 p 阶线性差分方程为
y_t = c + \alpha_1 y_{t-1} + \alpha_2 y_{t-2} + \alpha_p y_{t-p} + \epsilon_t

machine_learning.jpg

今天我们主要说时间序列的一些推导公式,之前看些资料,其中关于时间序列中常用AR模型、MA模型背后推导说的比较深,不易于理解。最近看了一些资料,适当地总结一些。

时间序列

时间序列虽然简单、但是要是想真正弄懂也需要花费一些功夫,将序列分解为一下形式。
X_t = T_t + S_t + R_t, t =1,2,\dots

这通过加法模型将这些项来表示时间序列,其中趋势项和季节项我们是可以通过模型来拟合,因为他们都是有规律可循的,需要我们能够通过模型学出来

\begin{aligned} GDP_t = GDP_{t-1}(1 + 0.07)^1\\ GDP_t = GDP_{t-2}(1 + 0.07)^2 \end{aligned}
GPD 就是一个趋势模型,而且是随着时间而不断成指数增长。

超市的人流,具有周期性,每周的人流在周末人流要相对于周一到周五人要多一些。每天人流下午要相对于上午人流要多一些。

X_t - T_t - S_t = R_t, t =1,2,\dots
那么也就是说明我们对 R_t ,我们之前讨论过时间序列是一个随机过程,也就是f(x_1,x_2,\dots,x_t) 的联合分布,通常我们研究一个联合分布是一个比较复制的问题。
这是我们在统计模型时候,最早的NPL 分析用到链式法则来表示联合概率一种
p(x_1)p(x_2|x_1)p(x_3|x_1,x_2)\dots p(x_n|x_{n -1},x_{n-2},\dots,x_1)
学习过概都知道条件概率,时序每一个时刻随机变量都是和他之前的随机时间点的概率是相关。这就是联合概率,要计算这个联合概率是需要相当大的计算量。

x_t = 0.8x_{t-1} + \epsilon_t

x_t = ax_{t-1} + \epsilon_t
当 a 小于 1 说明模型是稳定,反之说明模型是不稳定,为什么会有这样结论。我们可以结合小球的落地原理来项这个问题。
其实我们非齐次项差分方程
x_t - 0.8x_{t-1} = \epsilon_t
下面是差分方程通解
x_t - 0.8x_{t-1} = 0
Bx_t = x_{t-1}
其中 B 也即是滞后算子L,这里用 B 来表示,这里还是再演示一下吧
\begin{aligned} x_{t-1} = Bx_t \\ x_{t-2} = B^2x_t \\ \end{aligned}
x_t - 0.8Bx_t = \epsilon_t
接下来计算特征解,提取左边x_t
(I - 0.8B)x_t = \epsilon_t
x_t = (I - 0.8B)^{-1}\epsilon_t

\frac{1}{1 - 0.8Z}
\frac{1}{1-x} = \sum_{n=0}^{\infty} x^n = 1 + x+ x^2 + \dots x^n + ,|x|<1
可以表示无限变量只和形式,这个大家应该不会陌生,而且\frac{1}{1 + x} 类似\frac{1}{1 - 0.8Z},所以替换替换等比数列之和。
\begin{aligned} \frac{1}{1 - 0.8z} = \sum_{n=0}^{\infty}(0.8z)^n\\ (I - 0.8B)^{-1} = \sum_{n=0}^{\infty}(0.8B)^n \end{aligned}

x_t = \sum_{n=0}^{\infty}(0.8)^nB^n \epsilon_t = \sum_{n=0}^{\infty} 0.8 \epsilon_{t-n}

B^n\epsilon_t = (B,B\dots,B)\epsilon_t

重点相关性研究x_tx_{t-k}可以用a_1,\dots,a_p计算出来。AR序列相关性是随着负指数衰减,MA(q) 模型是有限相关性,
X_t = b_1 \epsilon_{t-1} + \dots + b \epsilon_{t-q} 有限时间序列相关(X_t,X_{t-q-1})=0

根据均方差最小原则,来进行预测
f(x_{t-1},\dots,x_{t-p}) = E(x_t|x_t\dots x_{t-p})
也就是我们讨论的AR模型,那么AR模型就可以用于时间序列分析
a_1x_{t-1} + \dots + a_p x_{t-p}

f(x_1,x_6,x_7) = f(x_2,x_7,x_8) 这样时间序列步长间隔相同间分布是一致,这样时间序列才是平稳的时间序列。线性filter

f(x) = \sum_{n=0}^{\infty} a_n \sin nx + \sum_{n=1}^{\infty} b_n \cos nx
这是研究时间序列另一种模型,通过频域来研究时间序列

x_t = a_1 x_{t-1} + \dots + a_p x_{t-p} + \epsilon_t

上一篇 下一篇

猜你喜欢

热点阅读