長期市場構造変化:Bayesian構造変化モデル
Bayesian構造変化モデルは、時系列データの構造変化点(ブレイクポイント)を確率分布として推定する手法である。事前分布とベイズ推定を活用することで、ブレイクポイントの不確実性を考慮しながら分析を行う。
Chow TestやZA検定では、ブレイクポイントの数を1つに固定するか、ブレイクポイントの時点を事前に指定する必要があり、モデルの柔軟性が低いと言える。一方、Bayesian構造変化モデルでは、ブレイクポイントの数と位置を確率的に推定できるため、市場やトレンドの段階的な変化をより精度高く捉えることが可能である。
Model
時系列データ$${y_t}$$が異なる回帰モデルに切り替わる点$${T_B}$$を持つと仮定し、以下の線形回帰モデルを考える。
$${y_t =\begin{cases} \beta_0^{(1)} + \beta_1^{(1)} x_t + \epsilon_t^{(1)}, & t < T_B \\ \beta_0^{(2)} + \beta_1^{(2)} x_t + \epsilon_t^{(2)}, & t \geq T_B \end{cases}}$$
$${T_B}$$は確率変数として扱われ、$${\beta_0^{(1)}, \beta_1^{(1)}}$$ はブレイク前の回帰係数、$${\beta_0^{(2)}, \beta_1^{(2)}}$$ はブレイク後の回帰係数で、$${\epsilon_t^{(1,2)}}$$は誤差項である。
事後確率の推定
事前分布を以下のように設定する。
ブレイクポイント: 一様分布$${P(T_B) \sim \text{Uni}(1, N)}$$
回帰係数: 正規分布$${P(\beta_1^{(0,1)}) \sim \mathcal{N}(0, \sigma^2)}$$
誤差項:$${\epsilon_t \sim \mathcal{N}(0, \sigma^2)}$$
$${y_t}$$の回帰式から、
$${y_t\sim \mathcal{N}(\beta_0^{(j)}+\beta_1^{(j)}x_t,\sigma^2)}$$と書けるから、$${T_B, \beta_0, \beta_1,\sigma^2}$$が与えられた事後確率である尤度関数は以下のように与えられる。
$${P(y_t∣T_B,\beta_0,\beta_1,\sigma^2)=\prod_{t=1}^{T_B} \mathcal{N}(y_t | \beta_0^{(1)} + \beta_1^{(2)} x_t, \sigma^2) \cdot \prod_{t=T_B+1}^{N} \mathcal{N}(y_t | \beta_0^{(2)} + \beta_1^{(2)} x_t, \sigma^2)}$$
対数尤度は$${\log P(y_t∣T_B,\beta_0,\beta_1,\sigma^2)=−\frac{1}{2\sigma^2}\Sigma_{t=1}^N(y_t−(\beta_0^{(j)}+\beta_1^{(j)}x_t))^2}$$となる。
この尤度関数とベイズの定理を使えば、
$${P(T_B, \beta_0, \beta_1 | y_t) \propto P(y_t | T_B, \beta_0, \beta_1) P(T_B) P(\beta_0) P(\beta_1)}$$において、$${\beta_0, \beta_1}$$について積分すれば、
$${P(T_B | y_t)=\displaystyle{\int\int d\beta_0 d\beta_1 {P(T_B, \beta_0, \beta_1 | y_t) \propto P(y_t | T_B, \beta_0, \beta_1) P(T_B) P(\beta_0) P(\beta_1)}}}$$。
よって、
$${P(T_B | y_t) \displaystyle{ \propto P(T_B) \int\int P(y_t∣T_B,\beta_0,\beta_1)P(\beta_0)P(\beta_1)d\beta_0 d\beta_1}}$$
しかしこの積分は解析的に解くのが困難なため、マルコフ連鎖モンテカルロ(MCMC)法が用いられるのが一般的である。
マルコフ連鎖モンテカルロ(MCMC)法
パラメータに適当な初期値、$${T_B^{(0)}, \beta_0^{(0)}, \beta_1^{(0)}, \sigma^{2(0)}}$$を置く。
$${T_B}$$の更新
$${T_B}$$ は離散変数であるから、メトロポリス・ヘイスティングス(Metropolis-Hastings: MH)法 を使用する。近傍の$${T_B'}$$を確率$${\alpha=\displaystyle{\min\left(1,\frac{P(y_t∣T_B')P(T_B')}{P(y_t∣T_B)P(T_B)}\right) }}$$で、$${T_B}$$と更新する。
回帰係数の更新
複数のパラメータを含む事後分布からサンプリングするGibbsサンプリングで更新を行う。各パラメータを他のパラメータを固定した条件付き事後分布からサンプリングし、更新する操作を繰り返すことで、事後分布のサンプルが得られる。
MH法で更新された$${T_B}$$を用いて、回帰係数$${\beta_0, \beta_1}$$ を Gibbsサンプリングで更新する。
ベイズの定理により、事後分布は
$${P(\beta_0, \beta_1 | T_B, y_t) \propto P(y_t | T_B, \beta_0, \beta_1) P(\beta_0) P(\beta_1)}$$
で与えられ、右辺の第一項の尤度$${P(y_t | T_B, \beta_0, \beta_1)}$$は、回帰モデルが正規分布に従うことから、共役事前分布を仮定すれば、事後分布も正規分布になる。
各パラメータの条件付き事後分布からサンプルを生成する。
$${\beta_0}$$の平均値$${\mu_{\beta_0}}$$は、$${y_t}$$の平均値を$${\bar{y}}$$、説明変数の平均値を$${\bar{x}}$$として、
$${\mu_{\beta_0}=\bar{y}−\beta_1 \bar{x}}$$で与えられ、回帰式の分散を$${\sigma^2}$$とすれば、$${\sigma_{\beta_0}^2=\displaystyle{\frac{\sigma^2}{N}}}$$となる。ここで、$${N}$$はデータ長である。
$${P(\beta_0 | \beta_1, T_B, y_t) = \mathcal{N}(\mu_{\beta_0}, \sigma_{\beta_0}^2)}$$で与えられる。つまり、
$${\beta_0^{(t+1)} \sim \mathcal{N}(\mu_{\beta_0}, \sigma^2_{\beta_0})}$$となるから、
$${\beta_0^{(t+1)} = \bar{y} - \beta_1^{(t)} \bar{x} + \mathcal{N}(0, \sigma^2_{\beta_0})}$$
が、更新値である。
同様に、$${\beta_1}$$は、条件付き事後分布$${P(\beta_1 | T_B, y_t, \beta_0)}$$の正規分布に従う。よって、
$${P(\beta_1 | T_B, y_t, \beta_0) \sim \mathcal{N}(\mu_{\beta_1}, \sigma_{\beta_1}^2)}$$であり、ここで、
$${\mu_{\beta_1} =\displaystyle{ \frac{\sum_{t=1}^{N} (x_t - \bar{x}) (y_t - \beta_0)}{\sum_{t=1}^{N} (x_t - \bar{x})^2}}}$$、
$${\sigma_{\beta_1}^2 = \displaystyle{\frac{\sigma^2}{\sum_{t=1}^{N} (x_t - \bar{x})^2}}}$$で与えられている。
これから、$${\beta_1^{(t+1)} \sim \mathcal{N}(\mu_{\beta_1}, \sigma^2_{\beta_1})}$$から、
$${\beta_1^{(t+1)} = \mu_{\beta_1} + \mathcal{N}(0, \sigma^2_{\beta_1}) }$$
と更新される。
$${T_B,\beta_0, \beta_1}$$の更新は逐次的に行われ、収束するまで繰り返す。
解析
事後分布のヒストグラムや密度プロットから、最頻値や中央値をブレイクポイントの推定値とする。信頼区間から、ブレイクポイントの不確実性を評価する。
Bayesian構造変化モデルの発展形としては、複数のブレイクポイントを確率的に推定し、これら異なるブレイクポイントの確立分布を統合して、最適なモデルを選択できる。また、状態空間モデルに拡張可能でもある。
このモデルの適用により、金融危機による市場の変化、政策変更が与える影響の推定、市場のバブル崩壊やレジームシフトの検出が可能である。
計算負荷
ブレイクポイントの探索域は、始めに固定しない限り、全データ長であり、回帰モデルのパラメータ数の数だけサンプリングが必要である。
よって、MCMC法の繰り返し数を$${I}$$、回帰パラメータの数を$${k}$$、データ長を$${N}$$とすれば、計算負荷は、$${O(I\cdot N\cdot K)}$$で与えられる。
繰り返し数はだいたい数千のオーダであるから、最も単純な回帰モデルでパラメータ数を2とし、データ長を$${1000}$$とすると、計算量は 約 ${O(10^7)}$ である。
MCMC法において、変分推論(Variational Inference)を使うと、より高速に事後分布を近似可能となる。
参考文献
Bayesian Analysis of Stochastic Volatility Models E.Jacquier(1994)
Bayesian Inference in the Change-Point Model S.Chib(1998)
Exact and Efficient Bayesian Inference for Multiple Changepoint Problems P.Fearnhead(2006)