DYNOTEARSはNOTEARSを動的(時系列要素を加味)にしたもの。
モデル¶
Notation¶
データセットを次のように表す
{xm,t∈Rd∣m=1,…,M,t=0,…,T} 変数の数:d
独立な時系列の本数:M
各時系列の長さ:T+1
モデル(SVAR)¶
同時因果(intra-slice)と時間遅れ因果(inter-slice)を同時に扱うため、 構造ベクトル自己回帰(SVAR)型SEM モデルを使う
xm,t⊤=xm,t⊤W+xm,t−1⊤A1+⋯+xm,t−p⊤Ap+um,t⊤ W∈Rd×d:同時(intra-slice)因果行列
Ak∈Rd×d:k 期遅れ(inter-slice)因果行列
p:自己回帰次数
um,t:平均0の独立誤差項
同時因果行列 W は DAG(非巡回) であると仮定する。一方、Ak は時間方向を持つため巡回制約を必要としない。
行列表現¶
すべての時系列をまとめると、モデルは次のように表される:
X=XW+Y1A1+⋯+YpAp+U ここで、
X∈Rn×d:観測データ行列
Yk:k 期ラグを取ったデータ行列
n=M(T+1−p):有効サンプルサイズ
さらに
Y=[Y1∣⋯∣Yp],A=[A1⊤∣⋯∣Ap⊤]⊤ と定義すると、モデルは簡潔に
X=XW+YA+U と書ける。
識別性(Identifiability)¶
以下のいずれかが成り立つとき、同時因果行列 W は識別可能である
誤差 um,t が 非ガウス(LiNGAMと同様)
誤差が 等分散ガウス かつ W が DAG
DYNOTEARSはいずれかの条件が成立すると仮定する。
パラメータの推定¶
基本目的関数¶
観測データ X,Y が与えられたとき、W,A を推定するために以下の二乗誤差損失を最小化する:
ℓ(W,A)=2n1∥X−XW−YA∥F2 スパース性の導入¶
高次元設定を考慮し、W,A に ℓ1 正則化を加える:
f(W,A)=ℓ(W,A)+λW∥W∥1+λA∥A∥1 λW,λA:正則化係数
∥⋅∥1:要素ごとの ℓ1 ノルム
非巡回性制約¶
全体のネットワークが非巡回であるためには、同時因果行列 W のみが DAG であれば十分である。
NOTEARSを提案したZheng et al. (2018) により、次の関数を用いて DAG 制約を滑らかに表現できることが明らかにされている:
h(W)=tr(eW∘W)−d ここで ∘ はアダマール積を表す。このとき、
h(W)=0⟺W は DAG が成り立つ。そのため、制約付き最適化問題としてパラメータ推定を行う。
制約付き最適化問題¶
最終的な最適化問題は次のように定式化される:
W,Aminf(W,A)subject toh(W)=0 解法(拡張ラグランジュ法)¶
制約付き問題を、以下の拡張ラグランジュ関数を用いて解く:
F(W,A)=f(W,A)+2ρh(W)2+αh(W) ρ:ペナルティ係数
α:ラグランジュ乗数
これにより問題は 滑らかな非線形最適化問題 となり、
L-BFGS-B などの標準的な数値最適化手法で解くことができる。