長期的市場変化:異常検知 Isolation Forest and Autoencoder
Isolation Forest(iForest)
Isolation Forest (iForest) は、教師なしの異常検知アルゴリズム であり、瞬間的暴落、流動性の急激な低下、および予測困難な市場変動の検出に適している。このアルゴリズムは、データポイントを分割して孤立させることで異常を検出する。特に、少数の分割で孤立するデータ点を異常と見なすため、効率的な異常値検出が可能である。
アルゴリズムの概要:
特徴選択:$${n}$$個の特徴量とタイムスタンプ$${t_1, \cdots t_n}$$からなる時系列データのデータセット $${{\bm Y}=\{{\bf y}_1,{\bf y}_2,...,{\bf y}_m\} }$$から、決定木ごとにランダムに特徴量 $${k}$$ を選び、その特徴量に基づいた時系列データを使用して分割を行う。
分割:$${{\bf y}_k}$$の最大値と最小値の間でランダムに分割値を設定し、その分割値を基にデータを2つのサブセットに分ける。
決定木の構築:この分割を繰り返し、$${t_0, \cdots, t_n}$$の全データポイントが孤立するまで各決定木を成長させる。
経路長の計算:全決定木で、全データポイントが孤立するまでの経路長$${h(t), t\in \{t_0, \cdots t_n\} }$$を計算し、その平均値 $${E[h(t)])}$$ を得る。
基準値:ランダムな二分探索木において、データセットサイズが$${n}$$の時の平均経路長を基準値として、$${E[h(x)]}$$を正規化する必要がある。この基準値は$${c(n) = \displaystyle{2 H(n-1) - \frac{2(n-1)}{n}}}$$ここで、$${H(i)}$$は、$${i}$$番目の調和数で、$${H(i) = \displaystyle{\sum_{k=1}^{i} \frac{1}{k}}}$$で与えられる。
異常スコアの計算:異常スコアは、$${S(t,n) = \displaystyle{2^{-\frac{E(h(t))}{c(n)}}}}$$と定義される。
これから、$${E[h(t)] \ll c(n)}$$ならば、$${S(t,n)\to 1}$$となり、データポイントは異常点で、$${E[h(t)] \sim c(n) }$$ならば、$${S(t,n)\to 0.5}$$より、データポイントは通常点であると判断される。
異常スコアが高い (経路長が短い)ほど、異常なデータ と見なされる。
金融市場への応用:
異常値の検出により、構造ブレイクポイントや市場レジームの変化を判定でき、また、瞬間的暴落、急激な流動性の低下、および 操作的な取引行動 を特定する事ができる市場パターンの観測 によるリスクアセスメントにも応用可能な手段である。
Autoencoder(AE)
AEはニューラルネットワークを用いた異常検出と特徴抽出の手法で、エンコーダにより低次元の潜在空間に圧縮された入力データを、デコーダによって復元されたデータと比較して得られる再構成損失(Reconstruction Loss)を用いて学習する。このモデルが学習している通常のデータは再構成損失が少ないが、モデルが学習していないパターンを持つ異常なデータの再構成損失は高くなる。
アルゴリズムの概要:
エンコーダ(次元削減):入力ベクトル $${{\bf x}}$$を、重み行列$${{\bm W}_e}$$とバイアス$${{\bf b}_e}$$を用いて次元削減する。$${{\bf z} = f({\bf x}) = \psi({\bm W}_e {\bf x} + {\bf b}_e)}$$
デコーダ(復元):エンコーダで得られた$${{\bf z}}$$から、重み行列$${{\bm W}_f}$$とバイアス$${{\bf b}_d}$$により元の次元に復元する。$${\hat{{\bf x}} = g({\bf z}) = \psi({\bm W}_d {\bf z} + {\bf b}_d)}$$
再構成損失(Reconstruction Loss)の計算:$${L = || {\bf x} - \hat{{\bf x}} ||^2}$$
高い損失は、異常データを示す。
金融市場への応用:
価格や取引量の異常検出により、通常とは異なる動きや、新しい価格変動パターンの検出が可能となり、過去の正常な市場状態を学習させることから、トレンドからのズレやボラティリティの変動の検出も可能となる。LSTMと同時に使うことにより、AEは突然に起こる市場崩壊や投機バブルを予想できる。iForsetと同様に、通常とは違う取引パターンやアルゴリズムで操作された取引を、激しく変動する市場から発見することもできる。
iForest & AE
iForestは、市場の価格崩壊などの異常な市場動向を発見することに長けており、AEは構造変化の隠れたパターンを見つけることに向いている。計算負荷的には、iForestの方が軽く、大量データにも適用できるが、AEは負荷が大きい。一方で、iForestは非線形データに関して効率は良くないが、AEは複雑な依存関係を捉える事ができることから、最初にAEで通常の市場動向を学習し、偏差を検出し、その後iForestを用いて再構成エラーを計算して異常値にフラグを立てる。さらにLSTMかGRUを用いて時系列から、異常値がさらに発展していくかを予想する手法が用いられている。