深層学習で未来予測が変わる
3つの要点
✔️ 時系列データの予測について深層学習がどのように適用されているか概観します
✔️ 新しいトレンドとしてハイブリッドモデルを説明します
✔️ さらなるアプローチとして解釈性、事実と異なる予測に関連する手法を説明します
Time Series Forecasting With Deep Learning: A Survey
written by Bryan Lim, Stefan Zohren
(Submitted on 28 Apr 2020 (v1), last revised 27 Sep 2020 (this version, v2))
Comments: Accepted by Philosophical Transactions of the Royal Society A 2020
Subjects: Machine Learning (stat.ML); Machine Learning (cs.LG)
code:
はじめに
時系列データ処理の中で、異常検知と双璧をなすのが予測です。紹介するサーベイ論文では、深層学習により時系列データの予測を行っている代表的な論文をレビューしています。伝統的手法の方が有効性が高いことは、広く常識になっており、その理由を明らかにするとともに、新しいトレンドについて説明します。
時系列モデリングは歴史的に学術研究の主要領域でした。天候、バイオ科学、医薬、小売りや融資での意思決定などのトピックに欠くことのできないアプリケーションを形成しています。ドメイン専門家による知見を元にパラメトリックモデルをつくる伝統的手法(自己回帰、指数関数的スムージング、構造的時系列モデル)に対して、 現代的な機械学習モデルでは純粋にデータドリブンな方法で時間的動特性を学習する方法を取ります。[10] 豊富にデータが入手できるようになり、計算能力が増加している今、機械学習は次世代の時系列予測モデルの不可欠な部分になっています。
SOTA技術
時系列問題は、さまざまな領域にわたって多様性を持っているため、数多くのニューラルネットワーク設計の選択肢が出現しています。この論文では、深層学習を用いた時系列予測の共通手法についてまとめます。取り上げられている各手法は、ほとんどがよく知られているものなので、数式よりはむしろ、時系列予測に適用する場合の特徴、制限、他手法との対照について書かれている内容を中心に紹介します。
まず、単変量で過去のデータから次の時点を予測するone-step-aheadに対して説明しますが、多変量への拡張は容易にできます。多時点(multi-horizon forecasting)への拡張手法は後で述べます。
深層学習を概観すると、自動モデルパラメータ選択、カーネル回帰のような伝統的な機械学習、サポートベクター回帰があります、さらに、ガウシアン過程は時系列予測に多く使用されています。深層ガウシアン過程にも拡張されています。ニューラルネットワークの古いモデルも歴史的に時系列アプリケーションに使用されてきました。
基本的ビルディング・ブロック
もっともシンプルな場合、one-step-ahead予測モデルは次の形になります。
ここで、 $ \hat{y}_{i, t+1} $ はモデルの予測、 $y_{i,t-k;t}={ y_{i,t-k},\cdots , y_{i,t}}$,$x_{i,t-k;t}={ x_{i,t-k},\cdots , x_{i,t}}$はそれぞれターゲットと外因インプットのルックバック・ウィンドウ(lookback window) kにわたる観測値、$ s_i $ はセンサーの位置などのエンティティと関連する静的メタデータです。そしてf()はモデルで学習した予測関数です。深層学習を、時系列に適用した場合、関係する過去の情報を潜在変数$ Z_t $にエンコードしているとみることができます。
$g_{enc}, g_{dec} $はそれぞれエンコーダ、デコーダ関数であり、深層学習アーキテクチャの基本ビルディングブロックを構成します。エンコーダは、Figure 1の(a), (b), (c)の構造を取りえます。
・CNN (Convolutional Neural Network)
CNNを時系列データに適用する場合には、多層の因果(causal)コンボリューション [32, 33, 34]の構造を取ります。過去の情報のみを使用するためです。隠れ層の中間特徴値は次のようになります。
1次元の場合を見ると、FIR(Finite Impulse Response)に類似しています。これは2つの意味を含んでいます。まず、関係が不変であること。続いて、時間ウィンドウ幅は一定であることです。このルックバック・ウィンドウあるいは受容野のサイズは、関連する過去データをすべて取り込むことができるように慎重に設定する必要があります。単層causal CNNに線形の活性関数を組み合わせると、AR(Auto-regressive) モデルと等価になります。
長期データを取り込む計算負荷低減のためにDilated Convolution Layers [32, 33]を用います。
[]は切り捨て関数、$ d_l $はレイヤごとのdilationレートです。下層について、サンプリングレートを落としたconvolutionと見ることができます。普通のcausal convolutionより効率よく過去データを使うことができます。
・RNN (Recurrent Neural Networks)
RNNは予てよりシーケンスのモデルに使用されています。時系列予測についても、多くのモデルが開発されています。[37, 38, 39, 40] コアとして、内部記憶状態を備えています。
RNNでは、明示的にルックバック・ウィンドウの長さを決めなくてよいことに注意してください。
信号処理との比較では、非線形のIIR(Infinite Impulse Response)に似ています。RNNでは、勾配が爆発あるいは消失する問題があります。記憶状態の共鳴と見ることもできます。LSTMでは長期情報を蓄積する"cell state"を用い、この問題に対処しています。
この論文では、LSTMは軽く構造を説明しているだけですが、別の論文でLSTMの優位性を強く論じていますので紹介しておきます。"A Comparative Analysis of Forecasting Financial Time Series Using ARIMA, LSTM, and BiLSTM"では、ARIMAあるいは類型と比較して、LSTMは長期の予測精度が高く、誤差が平均して88%減少するという評価結果を示しています。さらに双方向に学習するBiLSTMでは、ARIMAに対して93%誤差が減少しています。BiLSTMはLSTMより損失の減少にEpoch数がかかり、LSTMでは把握できない特徴まで抽出しているとしています。
カルマンフィルターのようなベイジアンフィルターでは、推論は状態遷移と誤差補正ステップを用い、一連の潜在状態を十分な統計量更新することにより行います。RNNは、メモリーベクトルが予測に必要なすべての関連情報を含むために、これらの両方のステップを同時に近似しているとみなすことができます。[39]
・アテンション (Attention)
アテンション(attention)機構は、動的に生成された重みを用いて、時間的な特徴値を集約します。いくら時間をさかのぼっても、過去の顕著な時点を直接フォーカスできるようにします。複数のアテンション層を同時に使用することもできます。1例では、RNNエンコーダで抽出した特徴値をアテンションで集約しています。[52]トランスフォーマー構造も考慮されており、2つの長所を備えています。1つは、どんなイベントでも直接言及すること。2つ目は、現象の型ごとに切り分けたアテンション重みパターンを用いることにより、それぞれの型特有の時間動特性を学習することができることです。
・損失関数 (Loss function)
ニューラルネットワークは、離散値、連続値のいずれも取り扱うことができます。デコーダとネットワークのアウトプット層を、目的値の希望する型に合わせます。推定の方式には、点推定、確率推定があります。
点推定(Point Estimates)
分類および回帰についての式を示します。
確率推定(Probabilistic Outputs)
Softplus関数などを用いて、各アウトプットでの確率分布を出力します。
モデルの不確定性を理解することにより、異なる領域での意思決定に有用です。
多時点予測法
・繰り返し法 (Iterative Methods)
典型的には、自己回帰深層学習構造を用いて、多時点予測を行います。Figure 2 (a)のように目的値を回帰的に次の時点の入力に与ええます。この手法は簡単ですが、各時点での誤差が積み重なり、大きな誤差を生むリスクがあります。
・直接法 (Direct Methods)
上記の問題を解決するため、直接法では、すべての入力を直接使います。通常、Seq2Seqのシーケンスを利用します。希望する予測時点数に合わせた固定長のベクトルを直接生成する簡易法もあります。ただし、予測範囲の最大値の設定は必要です。
ハイブリッド・モデルでドメイン知識を取り込む
人気があるものの、機械学習の時系列予測についての効果については歴史的に疑問視されてきました。一つの例はM-competitionのような予測コンペティションです。広く言われている常識は、最新式の手法では高精度予測を叩き出すことができず、むしろシンプルなモデルでアンサンブルすることにより良い結果を得る傾向があるということです。[59, 62, 63].
機械学習で性能が劣ることについて説明する2つの主な理由が確認されています。第一に、機械学習手法での柔軟性が両刃の剣になっており、オーバーフィッティングしやすくしています。[59] 第二に、統計モデルでの定常性要求と同様に、機械学習モデルはインプットがどのように前処理されているかに敏感です。 [26, 37, 59] これは、訓練時とテスト時とでデータ分布が同じであることを確保するものです。
最近のトレンドは、ハイブリッドモデルの開発です。上記の2つの限界に対応し、純粋統計手法や機械学習手法に比べて、各種のアプリケーションで改善した特性を示しています。[38, 64, 65, 66] ハイブリッド手法は、よく解析された定量的な時系列モデルと深層学習を結び付けます。そこでは、各時間ステップにおいてモデルパラメータを生成する深層ニューラルネットワークを用いています。一方、ハイブリッドモデルは、ドメイン専門家が既知の情報を用いて、ニューラルネットワークを訓練できるようにします。このことにより、ネットワークの仮定空間を減らし、一般化を促進します。
非確率的ハイブリッドモデル
パラメトリック時系列モデルでは、予測式は通常解析的であり、点推定を出力します。非確率的ハイブリッドモデルでは、このような予測式を統計と深層学習要素を結合するように改造します。
ES-RNN(Exponential Smoothing RNN)では次の式のように、Hult-Winters exponential smoothingモデルを乗数レベルと季節性要素を深層学習の出力と結合して更新します。
確率的ハイブリッドモデル
確率的ハイブリッドモデルは、分布モデリングが重要なアプリケーションで使用されます。ガウシアン過程や線形状態空間モデルのような時間動特性に確率的生成モデルを用いています。予測式を更新するのではなく、各ステップの分布を予測するパラメータをニューラルネットワークを用いて生成しています。
例えば、深層状態空間モデルは、線形状態空間の時変パラメータを下式のようにエンコードし、カルマン・フィルタを通して推論します。
深層学習を用いて決定支援を促進する
モデル作成者は主に予測精度に関心を持つ一方、エンドユーザは概して予測を将来の行動のガイドに用います。時系列予測は欠くことのできない初期段階でも、モデル予測の背景にある時間動特性、モチベーションのより良い理解が、ユーザの意思決定を最適化する助けになります。
時系列データの解釈性
欠くことのできないアプリケーションにニューラルネットワークを適用する際、モデル予測の"how and why"を理解する必要性が高まっています。 最近は、データセットのサイズが増大し複雑さも増しているので、その間の関係性について、エンドユーザはほとんど事前の知識を持っていません。標準的なニューラルネットワークはブラックボックス的であるので、深層学習モデルの解釈手法について新しい研究分野が現れています。
・事後解釈の技法
学習済みのモデルの解釈をするモデルです。元々の重みを変更することなく、重要な特徴値や例を特定することを助けます。1つのアプローチは、ニューラルネットワークのインプットとアウトプットの間のよりシンプルな代理モデルを適用することです。XAIとして知られているLIME (Local Interpretable Model-Agnostic Explanation)[71], SHAP (Shapley additive explanations)[72]などです。
続いて、勾配ベース手法が提案されました。Saliency maps [73, 74], Influence Functions [75]などです。ネットワークの勾配を解析して、どのインプットが損失関数に最も影響を与えるかを求めます。事後解釈性手法は特徴値特性を明らかにする一方、インプット間の逐次依存性は通常無視します。
・アテンション重みで組み込んだ解釈性
もう一つの手法は、説明のできる要素を用いて、直接アーキテクチャを設計するものです。通常アテンション層を戦略的に組み込みます。アテンション重みの解析により、各時点での特徴値の相対的な重みを明らかにします。特定の例でアテンション重みの大きさが、どの時点が予測に対して最も重要だったかを解析している例、[53, 55, 76] アテンションベクトルの分布の時間変化により、季節性など一貫した時間関係を示している例があります。[54]
事実に反する予測、時間にわたる因果推論
加えて、深層学習は、観測値外の予測を行ったり、事実にないケースの予測を行うことにより、意思決定を支援することもできます。事実にないケースの予測は、特に、シナリオ分析アプリケーションに有用です。過去についても、将来についても予測することができます。
静的な設定での因果効果を見積もる大規模な深層学習手法がある一方、時間依存の交絡効果の存在が大きなチャレンジとなります。これは、目的変数に影響を与えうるアクションは、目的変数の観察の条件にもなる循環的な関係のためにです。時間依存交絡を調整することなく、素直に見積もるとバイアスを生んでしまいます。[80]
近年、時間的依存交絡を調整する深層学習法がいくつか現れています。統計的手法では、IPTW(the Inverse-Probability-of-Treatment-Weighting)手法を拡張し、疫学での限界構造モデルで処理の適用確率を見積もっています。[81] 別のアプローチでは、G-computation frameworkを拡張し、ターゲットとアクションの分布を求めます。[82]さらに、ドメインの敵対的学習を採用する損失関数が提案されました。[83]
まとめ
ビッグデータの入手が可能になり、コンピューティングパワーも増加する現在、深層学習を用いた予測は多くの領域で成功を収めています。各ビルディング・ブロックの特性をよく踏まえて活用することが必要だと言えるでしょう。さらに、意思決定に用いる拡張、説明性・実際に起きていないケースの予測についてもまとめました。
一方、弱点もあります。深層学習は通常一定の時間枠に時系列を区切る必要があります。ランダム間隔で現れるデータに対しては、Neural Ordinary Differential Equationなどの検討が始められています。さらに、時系列データは階層的な構造を持つ場合があります。そのような構造を明示的に考慮したモデルの開発も今後の研究課題です。
この記事に関するカテゴリー