# 干预分析

干预分析旨在识别并量化外部事件对时间序列数据的影响。

# 通用干预模型

一个受干预的时间序列 yty_t 可被分解为两部分:

yt=mt+Nty_t = m_t + N_t

其中:

  • NtN_t 是不受干预影响的自然过程,通常建模为 ARIMAARIMA 过程(可以是季节性或非季节性的)。
  • mtm_t 是由干预事件引起的均值变化,即干预效应。

# 阶跃干预 (Step Intervention)

阶跃干预指的是在某个时间点 TT 之后,干预效果持续存在。

  • 阶跃函数

    St(T)={1tT0t<TS_t^{(T)}=\begin{cases} 1 & t \ge T \\ 0 & t < T \end{cases}

  • 建模:干预效应 mtm_t 可以用一个 AR(1)AR(1) 过程来建模,其误差项由阶跃函数替代:

    mt=δmt1+wSt1(T)m_t = \delta m_{t-1} + wS_{t-1}^{(T)}

    该模型可写为:

    mt=wB1δBSt(T)m_t = \frac{wB}{1 - \delta B} S_t^{(T)}

    解得:

    mt=j=0δjwSt1j(T)m_t = \sum_{j=0}^{\infty} \delta^j wS_{t-1-j}^{(T)}

  • 当初始条件 m0=0m_0=0 时的解

    mt={w1δ(1δtT)t>T0tTm_t = \begin{cases} \frac{w}{1-\delta}(1-\delta^{t-T}) & t > T \\ 0 & t \le T \end{cases}

  • 极限行为

    limtmt={wδ=0w1δδ(0,1)w(tT)δ=1\lim_{t \to \infty} m_t = \begin{cases} w & \delta = 0 \\ \frac{w}{1-\delta} & \delta \in (0, 1) \\ w(t-T) & \delta = 1 \end{cases}

  • 干预效果的半衰期:当干预效果衰减到其稳定水平的一半所需的时间。

    1δtT=0.5    t=T+log(0.5)log(δ)1 - \delta^{t-T} = 0.5 \implies t = T + \frac{\log(0.5)}{\log(\delta)}

# 脉冲干预 (Pulse Intervention)

脉冲干预指的是只在某个特定时间点 TT 产生影响的干预。

  • 脉冲函数

    Pt(T)={1t=T0tTP_t^{(T)}=\begin{cases} 1 & t = T \\ 0 & t \ne T \end{cases}

  • 建模:干预效应 mtm_t 同样可以由 AR(1)AR(1) 过程建模,其误差项由脉冲函数替代:

    mt=δmt1+wPt1(T)m_t = \delta m_{t-1} + wP_{t-1}^{(T)}

    该模型可写为:

    mt=wB1δBPt(T)m_t = \frac{wB}{1-\delta B} P_t^{(T)}

# 复杂干预

复杂的干预可以通过叠加不同的干预模型来构建。

  • 叠加示例

    mt=w1B1δBPt(T)+w2B1BPt(T)m_t = \frac{w_1B}{1-\delta B}P_t^{(T)} + \frac{w_2B}{1-B}P_t^{(T)}

  • 更一般的模型:干预效应 mtm_t 可以用 ARMAARMA 模型来描述:

    mt=w(B)δ(B)Pt(T)m_t = \frac{w(B)}{\delta(B)}P_t^{(T)}

# 参数估计

干预模型的参数通常采用最大似然估计 (MLE) 方法进行估计。


# 时间序列离群值检测

时间序列离群值是数据中与序列其余部分行为不一致的观测值。主要分为两类。

# 加性离群值 (Additive Outlier, AO)

加性离群值直接影响单个观测值 yTy_T,但对后续观测值没有持续影响。

  • 模型

    yt=yt+wAPt(T)y_t' = y_t + w_A P_t^{(T)}

    其中:
    • yty_t 是未受干扰的原始过程。
    • yty_t' 是受加性离群值影响的观测过程。
    • Pt(T)P_t^{(T)} 是脉冲函数。
    • wAw_A 是离群值的效应大小。

# 新生离群值 (Innovational Outlier, IO)

新生离群值影响时间序列的误差项 εT\varepsilon_T,因此其影响会通过模型的动态结构传播到后续观测值中,但会逐渐衰减。

  • 模型

    εt=εt+wIPt(T)\varepsilon_t' = \varepsilon_t + w_I P_t^{(T)}

  • 对观测值的影响:将未受干扰的原始过程 yty_t 写成 MA()MA(\infty) 形式:

    yt=j=0ψjεtj=εt+ψ1εt1+ψ2εt2+y_t = \sum_{j=0}^{\infty} \psi_j \varepsilon_{t-j} = \varepsilon_t + \psi_1 \varepsilon_{t-1} + \psi_2 \varepsilon_{t-2} + \dots

    则受影响的观测过程 yty_t' 为:

    yt=yt+ψtTwIy_t' = y_t + \psi_{t-T} w_I

    由于 ψ0=1\psi_0=1ψj=0\psi_j=0 (当 j<0j<0),新生离群值的影响会通过 ψj\psi_j 系数传播,并随时间逐渐减弱。

# 离群值检测方法

离群值检测通常基于模型残差。

  • AO 检测

    1. 残差模型:将原始过程写成 AR()AR(\infty) 形式:

      at=ytπ1yt1π2yt2a_t = y_t' - \pi_1 y_{t-1}' - \pi_2 y_{t-2}' - \dots

      则受 AO 影响的残差可表示为:

      at=εtwAπtTa_t = \varepsilon_t - w_A \pi_{t-T}

      其中 π0=1\pi_0 = -1πj=0\pi_j = 0 (当 j<0j<0)。
    2. AO 大小估计wAw_A 的最小二乘估计量为:

      w^A,T=ρ2t=1nπtTat\hat{w}_{A,T} = -\rho^2 \sum_{t=1}^n \pi_{t-T} a_t

      其中 ρ2=(1+π12++πnT2)1\rho^2 = (1 + \pi_1^2 + \dots + \pi_{n-T}^2)^{-1},估计量的方差为 ρ2σ2\rho^2 \sigma^2
    3. 假设检验:在零假设 H0H_0(没有 AO)下,检验统计量为:

      λA,T=w^A,TρσN(0,1)\lambda_{A,T} = \frac{\hat{w}_{A,T}}{\rho \sigma} \approx N(0,1)

      如果 λA,T>1.96|\lambda_{A,T}| > 1.96(或根据 Bonferroni 准则调整),则拒绝 H0H_0,认为存在 AO。
  • IO 检测

    1. 残差模型:受 IO 影响的残差为:

      at={wI+εtt=TεttTa_t = \begin{cases} w_I + \varepsilon_t & t = T \\ \varepsilon_t & t \ne T \end{cases}

    2. 假设检验:在零假设 H0H_0(没有 IO)下,检验统计量为:

      λI,T=aTσN(0,1)\lambda_{I,T} = \frac{a_T}{\sigma} \approx N(0,1)

      如果 λI,T>1.96|\lambda_{I,T}| > 1.96(或根据 Bonferroni 准则调整),则拒绝 H0H_0,认为存在 IO。
  • 离群点类型判定

    • 当离群点时间 TT 未知时,通常采用 Bonferroni 准则进行多重检验校正。计算所有可能时间点的检验统计量,并取最大值:λ=max1tnλt\lambda = \max_{1 \le t \le n} |\lambda_t|
    • 判定规则:如果 λI,T>λA,T|\lambda_{I,T}| > |\lambda_{A,T}|,则判定该离群点为 IO;否则,判定为 AO