機械学習 LSTM(Long Short-Term Memory: 長・短期記憶)を使った株価予測

機械学習 LSTM(Long Short-Term Memory: 長・短期記憶)を使った株価予測

参考URL
https://qiita.com/pyman123/items/70406028c7607102ad83
https://qiita.com/tuneyukkie/items/d389fd02bcf295224ba9

1, yahoo financeから銘柄コードで過去5年分の株価を取得
2, 終値を抽出して、NumPy配列化
3, 終値データの正規化。min=0,max=1として、100点満点(100%)方式で値変換
4, 終値データを、訓練データ(70%)と検証データ(30%)に分割
5, 訓練データ(70%)を、さらに過去60日の終値を入力データ。次の日を出力データに分割
6, LSTMモデル構築して、過去60日の終値を入力データ。次の日を出力データ、として学習させる
7, 検証データ(30%)も同じように、過去60日の終値を入力データ。次の日を出力データの形式に変換
8, LSTMモデルを使って予測値の算出
9, 正規化してあるので、終値に戻す
10, RMSE(Root Mean Squared Error=平均二乗誤差)で予測精度を算出。RMSEは各検証データと各予測データの差分を二乗した平均で、0が完璧!
11, 訓練データ(70%)、検証データ(30%)、予測データを、重ねてグラフ化

グラフで見ると、割とトレンド分析としては良さげだけど、実際の値だとボロボロやな。
ソースをよく読んでみると、リアルデータである検証データから、1日毎に過去60日を使って次の日の予想を、毎日繰り返しているだけなので、そこまでズレないのも当たり前か…。
予測値が大幅にずれても、次の日は、またリアルデータ過去60日を使って予測するんだもんな~。