2つ(原則としてそれ以上)の1xN時系列があり、両方の次の値を予測するようにNNをトレーニングしたいと思います。それらを2xNマトリックスとして配置し、このマトリックスからのウィンドウをNNへの入力としてフィードできますが、NN自体をどのように構成するかわかりません。
私は単一シリーズでかなりまともな仕事をすることができる畳み込みでNNを作成しましたが、シリーズ間相関を活用したいと思います。NNに時系列間の相関関係を通知させるには、どのトポロジが機能しますか?
2つ(原則としてそれ以上)の1xN時系列があり、両方の次の値を予測するようにNNをトレーニングしたいと思います。それらを2xNマトリックスとして配置し、このマトリックスからのウィンドウをNNへの入力としてフィードできますが、NN自体をどのように構成するかわかりません。
私は単一シリーズでかなりまともな仕事をすることができる畳み込みでNNを作成しましたが、シリーズ間相関を活用したいと思います。NNに時系列間の相関関係を通知させるには、どのトポロジが機能しますか?
回答:
それはあなたが探している相関の種類に少し依存します。タイムステップ/ウィンドウごとに存在する相関関係、またはタイムステップ/ウィンドウごとに異なるレベルの相関関係を期待していますか?分類または回帰タスクを行っていますか?次の値の予測には分類が含まれる場合がありますが、今は回帰を探していると仮定します。
開始点として、これらのシーケンスのそれぞれを個別にリカレントニューラルネットワークへの入力としてフィードしてみてください(基本的なLSTMから始めて、やりすぎの場合はそれを減らします)。重なり合うウィンドウについての提案が気に入っています。
たとえば(pseudocode-ish):
series_1 = 1, 2, 3, ..., 100
series_2 = 5, 6, 7, ..., 200
input_1 = Input(series_1, window_size)
input_2 = Input(series_2, window_size)
layer_1 = LSTM(input_1, input_2)
final_layer = fully_connected(layer_1)
LSTM-RNNまたはGRU-RNNの実装を必ず確認してください。2つ目は、理解しやすく、計算コストが低くなります。
貴重な例は次のとおりです。
https://machinelearningmastery.com/multivariate-time-series-forecasting-lstms-keras/
時系列のローカル相関追跡で計算されたように、相関をnn入力として明示的に提供できます。コードはVladのブログから入手できます。
また、将来の相関関係の予測が多変量ターゲットnnターゲットの一部として明示的なnnターゲットであるという論文も読んだ(残念ながら、そのタイトルや著者の名前をGoogle検索で思い出せない)。著者は、ターゲットとして相関を含めることで、多変量ターゲットの非相関部分の精度が向上したと主張しました。