# 干预分析
干预分析旨在识别并量化外部事件对时间序列数据的影响。
# 通用干预模型
一个受干预的时间序列 yt 可被分解为两部分:
yt=mt+Nt
其中:
- Nt 是不受干预影响的自然过程,通常建模为 ARIMA 过程(可以是季节性或非季节性的)。
- mt 是由干预事件引起的均值变化,即干预效应。
# 阶跃干预 (Step Intervention)
阶跃干预指的是在某个时间点 T 之后,干预效果持续存在。
- 阶跃函数:
St(T)={10t≥Tt<T
- 建模:干预效应 mt 可以用一个 AR(1) 过程来建模,其误差项由阶跃函数替代:
mt=δmt−1+wSt−1(T)
该模型可写为:mt=1−δBwBSt(T)
解得:mt=j=0∑∞δjwSt−1−j(T)
- 当初始条件 m0=0 时的解:
mt={1−δw(1−δt−T)0t>Tt≤T
- 极限行为:
t→∞limmt=⎩⎨⎧w1−δww(t−T)δ=0δ∈(0,1)δ=1
- 干预效果的半衰期:当干预效果衰减到其稳定水平的一半所需的时间。
1−δt−T=0.5⟹t=T+log(δ)log(0.5)
# 脉冲干预 (Pulse Intervention)
脉冲干预指的是只在某个特定时间点 T 产生影响的干预。
- 脉冲函数:
Pt(T)={10t=Tt=T
- 建模:干预效应 mt 同样可以由 AR(1) 过程建模,其误差项由脉冲函数替代:
mt=δmt−1+wPt−1(T)
该模型可写为:mt=1−δBwBPt(T)
# 复杂干预
复杂的干预可以通过叠加不同的干预模型来构建。
- 叠加示例:
mt=1−δBw1BPt(T)+1−Bw2BPt(T)
- 更一般的模型:干预效应 mt 可以用 ARMA 模型来描述:
mt=δ(B)w(B)Pt(T)
# 参数估计
干预模型的参数通常采用最大似然估计 (MLE) 方法进行估计。
# 时间序列离群值检测
时间序列离群值是数据中与序列其余部分行为不一致的观测值。主要分为两类。
# 加性离群值 (Additive Outlier, AO)
加性离群值直接影响单个观测值 yT,但对后续观测值没有持续影响。
# 新生离群值 (Innovational Outlier, IO)
新生离群值影响时间序列的误差项 εT,因此其影响会通过模型的动态结构传播到后续观测值中,但会逐渐衰减。
- 模型:
εt′=εt+wIPt(T)
- 对观测值的影响:将未受干扰的原始过程 yt 写成 MA(∞) 形式:
yt=j=0∑∞ψjεt−j=εt+ψ1εt−1+ψ2εt−2+…
则受影响的观测过程 yt′ 为:yt′=yt+ψt−TwI
由于 ψ0=1 且 ψj=0 (当 j<0),新生离群值的影响会通过 ψj 系数传播,并随时间逐渐减弱。
# 离群值检测方法
离群值检测通常基于模型残差。
-
AO 检测:
- 残差模型:将原始过程写成 AR(∞) 形式:
at=yt′−π1yt−1′−π2yt−2′−…
则受 AO 影响的残差可表示为:at=εt−wAπt−T
其中 π0=−1 且 πj=0 (当 j<0)。
- AO 大小估计:wA 的最小二乘估计量为:
w^A,T=−ρ2t=1∑nπt−Tat
其中 ρ2=(1+π12+⋯+πn−T2)−1,估计量的方差为 ρ2σ2。
- 假设检验:在零假设 H0(没有 AO)下,检验统计量为:
λA,T=ρσw^A,T≈N(0,1)
如果 ∣λA,T∣>1.96(或根据 Bonferroni 准则调整),则拒绝 H0,认为存在 AO。
-
IO 检测:
- 残差模型:受 IO 影响的残差为:
at={wI+εtεtt=Tt=T
- 假设检验:在零假设 H0(没有 IO)下,检验统计量为:
λI,T=σaT≈N(0,1)
如果 ∣λI,T∣>1.96(或根据 Bonferroni 准则调整),则拒绝 H0,认为存在 IO。
-
离群点类型判定:
- 当离群点时间 T 未知时,通常采用 Bonferroni 准则进行多重检验校正。计算所有可能时间点的检验统计量,并取最大值:λ=max1≤t≤n∣λt∣。
- 判定规则:如果 ∣λI,T∣>∣λA,T∣,则判定该离群点为 IO;否则,判定为 AO。