时间序列分析是一种统计技术, 专注于对随时间变化的数据序列进行深入研究, 旨在解决一系列问题, 包括预测未来趋势, 解释观察变化的驱动因素, 识别周期和持续时间以及监控异常情况.
虽然基于神经网络的万能逼近定理, 传统的时间序列分析技术在大规模数据量上的预测效果相比于神经网络毫无优势, 但时间序列技术依然因为良好的数学解释性具有一定的价值, 可用于剔除异常数据和小规模数据预测.
本文将聚焦于传统的时间序列分析技术, 在后续的文章中再讨论深度学习对于时间序列分析的应用.
第一章 时间序列分析的基本概念
在统计研究中, 按时间序列排列一组随机变量
$$
X_1, X_2, \cdots, X_t, \cdots
$$
来表示一个随机事件的时间序列, 记为$\{X_t, t \in T\}$或$\{X_t\}$. 并且用
$$
x_1, x_2, \cdots, x_t, \cdots
$$
表示该随机序列的$n$个有序观察值
第二章 时间序列的预处理
拿到一个观察值序列后, 首先需要对它的平稳性和纯随机性进行检验.
特征统计量
对于时间序列$\{X_t, t \in T\}$, 任取$t,s \in T$, 可有如下定义
自协方差函数:
$$
\gamma(t,s) = E[(X_t - \mu_t)(X_s - \mu_s)]
$$
自相关系数:
$$
\rho(t,s) = \frac{\gamma(t,s)}{\sqrt{DX_t \cdot DX_s}}
$$
平稳时间序列
严平稳: 序列的所有统计性质都不会随时间的推移而变换. 实践中一般不会出现严平稳随机序列.
宽平稳: 序列的所有统计性质主要由它的低阶矩决定.
平稳时间序列具有如下的统计性质
- 常数均值
- 自协方差函数与自相关系数只依赖时间平移长度而与时间的起止无关
纯随机检验
如果一个事件序列的纯随机的, 得到一个观察期数为n的观察序列, 那么这个序列的延迟非零期的样本自相关系数将近似服从均值为零, 方差为序列观察期数的倒数的正态分布, 即
$$
\hat{\rho_k} \sim N(0, \frac{1}{n}), \forall k \ne 0
$$
基于上述原理, 采用假设检验的方法即可判断一个序列是否为纯随机序列
提出原假设: 延迟期数小于或等于m期的序列值之间相互独立, 即
$$
H_0: \rho_1 = \rho_2 = \cdots = \rho_m = 0
$$
为了检验上述假设, 构造Q统计量
$$
Q = n \sum_{k=1}^m \hat{\rho_k}^2
$$
根据正态分布与卡方分布的关系, 可知Q统计量近近似服从自由度为$m$的卡方分布, 因此当该统计量的$P$值小于$\alpha$时, 可以以$1-\alpha$的置信水平拒绝原假设, 认为该序列并非白噪声序列.
对于小样本场景, 可使用LB统计量替换Q统计量, 即
$$
LB = n(n+2) \sum_{k=1}^m \frac{\hat{\rho_k}^2}{n-k}
$$
通常将LB统计量和Q统计量均统称为Q统计量
第三章 平稳时间序列分析
差分运算
相距1期的两个序列值之间的减法运算称为1阶差分运算, 记为
$$
\nabla x_t = x_t - x_{t-1}
$$
对1阶差分后的序列在进行一次1阶差分运算, 称为2阶差分, 记为
$$
\nabla^2 x_t = \nabla x_t - \nabla x_{t-1}
$$
依次类推, 对$p-1$阶差分后序列在进行一次差分运算称为$p$阶差分.
相距$k$期的两个序列值之间的减法运算称为$k$步差分运算, 记为
$$
\nabla_k x_t = x_t - x_{t-k}
$$
延迟算子
延迟算子是一个操作, 将该操作作用于一个事件序列的值可以得到该时刻前一个时刻的值, 例如
$$
x_{t-1} = Bx_t
$$
$$
x_{t-2} = B^2x_t
$$
基于以上定义, 易得
$$
\nabla x_t = x_t - x_{t-1} = (1- B)x_t
$$
$$
\nabla^2 x_t = \nabla x_t - \nabla x_{t-1} = (1- B)^2 x_t
$$
AR模型
AR模型通常指$p$阶自回归模型, 记为$AR(p)$, 即
$$
x_t = \phi_0 + \phi_1x_{t-1}+ \cdots + \phi_p x_{t-p} + \epsilon_t
$$
并且满足:
- $\phi_p \ne 0$, 即保证为$p$阶
- $\epsilon_t$为零均值白噪声序列
- $E(x_s \epsilon_t)=0, \forall s < t$, 即当期的随机干扰与过去的序列值无关.
如果$\phi_0 = 0$, 则称该模型为中心化$AR(p)$模型. 任意的非中心化序列可通过一定的变换转换为中心化序列.
MA模型
MA模型通常指$q$阶移动平均(moving average)模型, 记为$MA(q)$, 即
$$
x_t = \mu + \epsilon_t - \theta_1 \epsilon_t-1 - \cdots -\theta_q \epsilon_{t-q}
$$
并且满足:
- $\theta_q \ne 0$, 即保证为$q$阶
- $\epsilon_t$为零均值白噪声序列
ARMA模型
将AR模型与MA模型组合起来, 即可得到ARMA模型, 通常记为$ARMA(p,q)$, 即
$$
x_t = \phi_0 + \phi_1x_{t-1}+ \cdots + \phi_p x_{t-p} + \epsilon_t - \theta_1 \epsilon_t-1 - \cdots -\theta_q \epsilon_{t-q}
$$
就数学表达上来说, 感觉参数量太小, 对于较为复杂的实际问题, 可能难以获得较好的预测效果. 或者说当且仅当需要预测的序列确实按照上述规律生成, 才可能具有较好的预测效果.
中断时间序列分析(Interrupted Time Series, ITS)
ITS 的基本原理
观察“中断”: 假设你有一条连续的、按时间顺序记录某个结果(如某疾病发病率、商品销售量、交通事故率)的数据流(时间序列)。在某个特定时间点(T)发生了一个干预(如新政策实施、新药上市、法规变动)。
比较前后趋势: ITS 的核心思想是,将这个干预时间点(T)视为一个潜在的“中断点”。分析的目标是检查:
在干预点 T 之后,结果数据的水平(Level,即数值的平均位置)是否发生了显著的、即时的变化(像台阶一样向上或向下跳跃)?
在干预点 T 之后,结果数据的长期趋势(Trend,即随时间变化的速率/斜率)是否发生了显著的改变(变陡峭、变平缓或甚至方向逆转)?
分离干预效应: ITS 的关键在于,不仅仅比较干预前和干预后的简单平均值。它特别关注并尝试区分:
干预前已存在的自然趋势(例如,发病率本身就在缓慢下降)。
干预事件本身所引起的额外变化(真正的“中断”效应:水平跳跃和/或趋势改变)。
目标是将干预效应从背景噪音和持续存在的趋势中分离出来。
ITS 要解决的关键问题
评估不可随机化干预的真实影响: 这是最核心的问题! 当无法或很难进行随机对照试验(RCT)时(例如:评估国家医保政策改革、评估新交通法规的效果、评估工厂安全培训计划的成效),如何判断该干预措施是否真的有效(或无效/有害)?
避免“简单前后对比”的陷阱: 如何判断观察到的干预前后变化不是由以下因素造成的?
干预前的固有趋势: 如果干预前数据本身在上升(或下降),干预后数据继续上升(或下降),简单的平均数比较可能会错误地将这种持续的趋势归功于(或归咎于)干预。ITS 通过建模趋势来排除这种混淆。
同时发生的其他事件(混杂因素): 在干预实施前后,可能发生了其他事件(如经济波动、季节因素、竞争对手行动等)也影响了结果。ITS 虽然不能完全消除这种混杂(尤其是没有控制组时),但通过时间序列分析能部分揭示趋势变化的模式,并提示需要警惕混杂因素。
向均数回归: 如果干预恰好是在事件发生特别多(或特别少)之后实施的,接下来的数据自然可能趋向平均水平。简单的前后比较会错误地归因于干预。
量化和区分干预的即时效应和长期效应: 干预的效果是立竿见影(水平跳跃)?还是逐渐显现(趋势改变)?抑或两者兼有?ITS 能够量化这两种不同类型的效应。
利用观测数据(现有数据)进行因果推断: ITS 是一种准实验方法,它利用自然的(非人为随机分配的)干预发生作为“实验点”,试图从纵向观测数据中提取因果关系的证据(尽管强度低于 RCT)。它解决了在观察性研究中评估时间点事件(如政策变化、突发事件处理)影响的特殊挑战。
ITS 利用干预前后足够长的时间序列数据,通过建模分离出干预点前的固有趋势和水平,并识别干预点后发生的、显著超出该固有趋势的“中断”效应(水平跳跃和/或趋势改变),从而在难以进行随机试验的情况下,为特定时间点干预/事件的真实影响提供强有力的评估证据。 其核心挑战和目标是对抗干扰信号的自然趋势和潜在混杂因素。
参考资料
关于时间序列的理论分析证明, 可以阅读下面的讲义
关于时间序列的Python版操作, 可以阅读下面的指南
最后更新: 2025年06月14日 13:08
版权声明:本文为原创文章,转载请注明出处