LSTNetの論文を読んだのでまとめ記事を書いてみました。
私の理解度に合わせて記事内容は更新される可能性があります。
原著論文:
Lai, G., Chang, W. C., Yang, Y., & Liu, H. (2018, June). Modeling long-and short-term temporal patterns with deep neural networks. In The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval (pp. 95-104).
LSTNetとは
多変量時系列予測アルゴリズムであり,大きく3つのコンポーネントからなる。各コンポーネントとその役割は以下の通り。
1 Convolution component:
多次元入力間の局所的な依存パターンの学習に寄与。
2 Recurrent component:
多次元入力間の長期的な依存パターンの学習に寄与。特に新たな Recurrent layer である,Recurrent-skip layer は時系列データの周期性を利用することで,超長期的な依存パターンの学習に効果を示す。
3 Autoregressive linear component:
Convolution / Recurrent layer によって構築されるニューラルネットワークに並行して組み込むことで,トレンド傾向を示す時系列データに対しても頑健な予測を示す。
Convolution component
LSTNet における最初のコンポーネント。Pooling のない Convolution layer。\(ω*n\) (\(n\)は入力次元)サイズの複数のフィルタからなる。活性化関数は\(RELU(x) = max(0, x\))。
Recurrent component
LSTNetにおける二つ目のコンポーネント。Recurrent layer とその他の layer による2層構造。論文中では以下2種類の構造を検証。
① Recurrent layer + Recurrent-skip layer
② Recurrent layer +Temporal Attention layer
Recurrent layer:
Convolution component の出力を受け取る。Recurrent layer としては Gated Recurrent Unit (GRU) を使用。活性化関数として一般的な\(tanh\)ではなく\(RELU\)を採用。
Recurrent-skip layer:
上述の Recurrent layer 同様に,Convolution componentの出力を受け取る。24時間おきに周期的な変動を見せる電気使用量などの,Seasonality(季節性)を示すデータに対して,効果的な学習を行うことが可能となる。例えば\(p\)時刻おきに一定の変化パターンを示すデータに対して,GRUセルの隠れ状態を\(p\)個スキップしながら学習することで,重要な依存パターンを学習するための時間幅を拡張しているとのこと。
Temporal Attention layer:
Recurrent-skip layer では明示的にスキップする隠れ状態の個数\(p\)を決定する必要があるが,これでは季節性を示さないデータや,周期が同的に変化する時系列データに対しては適用が困難となる。そこで,Attention layer を用いて過去系列の隠れ状態の注目度を求め,予測に使用する過去系列の重要度を決定することで,明示的に\(p\)を求める必要性をなくしている (?)。
Autoregressive linear component
Convolution layer や Recurrent layer によって構成されるニューラルネットワークの欠点として,出力のスケールが入力のスケールに対して敏感ではない点が挙げられる。
そこで,論文では Autoregressive model (自己回帰モデル) に基づく出力であるAR成分を求め,Recurrent component の出力と併せることで,スケール変化の大きいデータセットに対しても頑健な予測を実現している。
そこで,論文では Autoregressive model (自己回帰モデル) に基づく出力であるAR成分を求め,Recurrent component の出力と併せることで,スケール変化の大きいデータセットに対しても頑健な予測を実現している。
論文内の結果について
Traffic, Solar-Energy, Electricity, Exchange-Rate の4データセットを対象に LSTNet の効果検証。
LSTNet 以外の種々の時系列予測アルゴリズムと精度比較をした結果,以下の図の通り大抵の状況において LSTNet が最もよい精度を示す模様。Exchange-Rate については,AR / LRidge / LSVR といったモデルが LSTNet と比して良い精度を示しているが,これらのモデルはその他のデータセットに対しては高い精度を示していない。その点,LSTNet はどのデータセットに対しても頑健な予測を出力している。
また論文では,Ablation Study として LSTNet における構成要素の一部をモデルから除去した場合の影響を検討しているが,基本的にはどの要素を抜いてもモデルの精度は低下するとのこと。特に Autoregressive model の除去時に最も顕著な影響が出るとのこと。
これまで日常業務の中では時系列予測の際に,Long-short term memory (LSTM) や GRU を基本的には用いてきましたが,トレンド傾向に対する対処として AR 成分を持ち込むというのは有りな気がしていますがどうなんでしょうかね。LSTNet の構築をしてみてその効果について検討してみたいですが,論文のまとめとしてはここまでということで。とりあえず数式的な部分は無視したまとめ記事にしてしまいましたが,気が向いたらそのあたりを追記していくかもしれません。
コメント