Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

CausalImpact

CausalImpact は BSTS(ベイズ構造時系列モデル)で予測した「架空の対照群」と「処置群(実測値)」とを比較することで平均処置効果を推定する手法。

Bayesian Structural Time Series (BSTS)

Scott & Varian (2014) Predicting the present with Bayesian structural time series.

統計学者Steven Scottと経済学者Hal Varianが提案したnowcastingモデル(直近の予測や現時点の欠測値を予測することもできる)

構造時系列モデル(状態空間モデル)

  • 観測方程式:yt=ZtTαt+εt,εt∼N(0,σt2)y_t = Z_t^{\mathrm{T}} \alpha_t+\varepsilon_t, \quad \varepsilon_t \sim \mathcal{N}\left(0, \sigma_t^2\right)

  • 状態方程式:αt+1=Ttαt+Rtηt,ηt∼N(0,Qt)\alpha_{t+1} = T_t \alpha_t+R_t \eta_t, \quad \eta_t \sim \mathcal{N}\left(0, Q_t\right)

状態の構成要素

局所線形トレンド(local linear trend)

μt+1=μt+δt+ημ,t,ημ,t∼N(0,σμ2)δt+1=δt+ηδ,t,ηδ,t∼N(0,σδ2)\begin{aligned} \mu_{t+1} & =\mu_t+\delta_t+\eta_{\mu, t}, & \eta_{\mu, t} \sim \mathcal{N}\left(0, \sigma_\mu^2\right) \\ \delta_{t+1} & =\delta_t+\eta_{\delta, t}, & \eta_{\delta, t} \sim \mathcal{N}\left(0, \sigma_\delta^2\right) \end{aligned}
  • μt\mu_t:水準

  • δt\delta_t:傾き

季節成分(Seasonality)

γt+1=−∑s=0S−2γt−s+ηγ,t\gamma_{t+1}=-\sum_{s=0}^{S-2} \gamma_{t-s}+\eta_{\gamma, t}
  • SSは季節数(例:S=7S=7なら曜日効果)

  • 総和がゼロになるように構成

回帰成分(Regression Component)

静的または動的係数による回帰

yt=xt⊤βt+εty_t=x_t^{\top} \beta_t+\varepsilon_t
  • 静的:βt=β\beta_t = \beta

  • 動的:βt+1=βt+ηβ,t\beta_{t+1} = \beta_t + \eta_{\beta,t}

spike and slab 事前分布

多次元の説明変数に対応するためモデルの変数選択

p(ρ,β,1/σε2)=p(ρ)p(σε2∣ρ)p(βρ∣ρ,σε2)p\left(\rho, \beta, 1 / \sigma_{\varepsilon}^2\right)=p(\rho) p\left(\sigma_{\varepsilon}^2 \mid \rho\right) p\left(\beta_\rho \mid \rho, \sigma_{\varepsilon}^2\right)

ここで ρ=(ρ1,…,ρJ)⊤\rho = (\rho_1, \dots, \rho_J)^\top は各変数が選ばれるかどうかのベクトル

  • ρj=1\rho_j = 1:変数jjが選ばれる(βj≠0\beta_j \neq 0)

  • ρj=0\rho_j = 0:除外される

p(ρ)=∏jπjρj(1−πj)1−ρjβρ∣σε2∼N(bρ,σε2(Λρ−1)−1)1σε2∼Gamma⁡(νε2,sε2)\begin{aligned} p(\rho) & =\prod_j \pi_j^{\rho_j}\left(1-\pi_j\right)^{1-\rho_j} \\ \beta_\rho \mid \sigma_{\varepsilon}^2 & \sim \mathcal{N}\left(b_\rho, \sigma_{\varepsilon}^2\left(\Lambda_\rho^{-1}\right)^{-1}\right) \\ \frac{1}{\sigma_{\varepsilon}^2} & \sim \operatorname{Gamma}\left(\frac{\nu_{\varepsilon}}{2}, \frac{s_{\varepsilon}}{2}\right) \end{aligned}
Source
<Figure size 500x300 with 1 Axes>

パラメータの推論

MCMC(Gibbsサンプリング)で状態α\alphaとパラメータθ\thetaを交互更新。

Causal Impact

時系列データを元に平均処置効果を推定する方法。
処置前の結果変数 YY の時系列をベイズ構造時系列モデル(BSTS)で学習し、処置後の時点における反実仮想の対照群の値 yt(ct)y_t^{(ct)} をBSTSで予測し、実測の処置後の値 yt(obs)y_t^{(obs)} との差分から処置効果を推定する。

効果の推定

BSTSで反実仮想の事後予測分布から介入効果を予測する

時点ごとの効果(pointwise impact):

ϕt(τ)=yt−y~t(τ)\phi_t^{(\tau)}=y_t-\tilde{y}_t^{(\tau)}

累積効果:

∑t′=n+1tϕt′(τ)∀t=n+1,…,m\sum_{t^{\prime}=n+1}^t \phi_{t^{\prime}}^{(\tau)} \quad \forall t=n+1, \ldots, m

移動平均効果(running average effect):

1t−n∑t′=n+1tϕt′(τ)∀t=n+1,…,m\frac{1}{t-n} \sum_{t^{\prime}=n+1}^t \phi_{t^{\prime}}^{(\tau)} \quad \forall t=n+1, \ldots, m

どのくらいの精度で推定できるのか?

動的線形回帰で人工データを作り、どれくらい有意に検出できるかを実験した

yt=βt,1zt,1+βt,2zt,2+μt+εty_t=\beta_{t, 1} z_{t, 1}+\beta_{t, 2} z_{t, 2}+\mu_t+\varepsilon_t
  • βt\beta_t はランダムウォーク:βt+1∼N(βt,0.012)\beta_{t+1} \sim N(\beta_t, 0.01^2)

  • μt\mu_t はローカルレベル:μt+1∼N(μt,0.12)\mu_{t+1} \sim N(\mu_t, 0.1^2)

評価結果

  • 効果が1%未満の場合、検出力は低い。

  • 効果が10%でも有意になる比率は30%ほど

  • 効果が25%以上であれば80%以上で検出。

  • 95%信頼区間の被覆率も理論値に近い。

CausalImpactがうまくいくデータ、うまくいかないデータ

Evaluating the power of the causal impact method in observational studies of HCV treatment as prevention - PMC は人工データでのシミュレーションにより、どういったデータセットだとCausalImpact Method(CIM)がうまくいかなくなるのかを検証

  • 時系列長:介入前および介入後の観測数が増えるほど、CIMの検出力が上がる。逆に観測が少ないと検出力は低下。

  • 変動性:目的変数の変動が大きい(ノイズが多い)と、効果を検出しにくい。

  • 相関度:処置群と対照群の目的変数が高い相関を持つほど、CIMが介入効果を識別しやすい。

  • 計測誤差:目的変数、特に対照系列に含まれる誤差があると、推定された介入効果にバイアス(過大または過小)を引き起こし、検出力を大きく低下させた。

  • 拡張版(誤差を考慮):計測誤差をモデルに取り込むことで、性能低下の一部を回復できることが示された。

全体として、「大規模データ・対照群多数・低ノイズ・高相関」という理想的条件下では CIM は良好に機能するが、これらの条件を満たさないと性能が保証されない。

References
  1. Scott, S. L., & Varian, H. R. (2014). Predicting the present with Bayesian structural time series. International Journal of Mathematical Modelling and Numerical Optimisation, 5(1/2), 4. 10.1504/ijmmno.2014.059942