*[[LSTMによる時系列データ予測]] [#a59dbce3]

機械学習ライブラリ[[TensorFlow:https://www.tensorflow.org]]を高水準のニューラルネットワークライブラリKerasから使用して、LSTM(長短期記憶)ネットワークによる時系列データの予測を行います。

以下の内容は、[[LSTM-Neural-Network-for-Time-Series-Prediction:http://www.jakob-aungiers.com/articles/a/LSTM-Neural-Network-for-Time-Series-Prediction]]の記事を、日経平均株価指数に適用しました。詳しい内容やソースコードの使用法は、上記記事を参照ください。

また、LSTMの理論的な内容を知りたい場合は、他に解説記事がたくさん存在しますので、そちらをご参照ください。

**LSTM(長短期記憶)ネットワーク [#b9f58de0]

LSTM(Long Short Term Memory;長短期記憶)ネットワークは、RNN(Recurrent Neural Network;再帰型ニューラルネットワーク)の1つで、よく使用されるニューラルネットワークです。
時系列データの未来予測などにも適用されています。上記記事では、正弦関数の予測を行っています。

**翌日の株価予測 [#mf0d741a]

過去の株価のデータから、将来の株価を予測できるでしょうか?

答えはNoです。

株価はランダムウォークなので、将来の株価を予測するのは極めて困難です。

しかし、LSTMなら隠れたトレンドが見つけられるかもしれません。

ここでは、2007年1月から2017年3月までの日経平均株価の終値を使用しました。
そこで、2007年1月から2017年3月までの日経平均株価の終値を使用して、株価の予測をしてみましょう。


まずは、翌日の株価をLSTMで予測します。50日間のデータと次の51日目のデータを組にし、1日ずつずらしながら、最初の90%のデータで訓練し、残り10%で実際の値と予測値を比較したのが下図です。(値は正規化されています)

#ref(predict_point_by_point.png,center,nowrap,80%,predict point by point);

この予測は、まあまあ近いように見えますが、実際の時系列データから次の日を予測してるだけなので、大きくかい離するはずがありえません。むしろ、この予測のズレはランダムウォークを体現しているかもしれません。

**株価のトレンド予測 [#gcf20c8a]

翌日の株価を予測するのは難しそうなので、LSTMで株価のトレンドを予測してみましょう。50日間のデータから次の50日間を予測することでトレンドを見てみます。トレンドは見えるでしょうか?(epochs  = 1)

#ref(predict_sequences_multiple.png,center,nowrap,80%,predict sequences multiple);

これは、トレンドを正しく捉えているでしょうか。。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS