Python Colaboratory Ⅳ
Python LSTM 豪ドル/円 予測
ここまでで LSTM を使って時系列デ-タの予測ができるようになりました。
引き続き、Python LSTM で 豪ドル/円チャ-ト を探求してみたいと思います。
例として豪ドル/円の動きを格納した
CSV ファイル colab_mane_chart_go.csv
を利用し、それをチヤ-トグラフで表示し、そしてその後の価格変動を予測します。
豪ドル/円 CSV ファイルは
ここからダウンロ-ドできます。
Google Colaboratory で動かします。
過去 Python RNN 豪ドル/円 予測については
時系列ディ-プラ-ニングⅡ
~
RNN 豪ドル/円予測ファイルⅡの動作確認
のなかで説明してきました。
これを流用して LSTM で豪ドル/円チャ-トを予測します。
とは言うもののこれらの内容は長文です。
忙しい方は、まずは
RNN 豪ドル/円予測ファイルⅡ
を見てください。
このなかにある keras-go-2.ipynb ファイルを改造します。
全結合モデル ⇒ LSTM
keras-go-2.ipynb は全結合モデルで時系列予測をしています。
これを LSTM モデルで予測するように変更します。
全結合モデルの設定部分は
inputs = keras.Input(shape=(sequence_length,)) x = layers.Flatten()(inputs) x = layers.Dense( 20, activation="tanh", kernel_initializer='zeros' )(x)
のように書いていました。
これを LSTM モデルに変更します。
このモデルの作り方については
LSTM(Long Short Term Memory)の実現
のところで詳しく説明しています。
inputs = keras.Input(shape=(sequence_length, 1)) x = layers.LSTM(20, kernel_initializer='zeros')(inputs)
モデル保存用ファイル名変更
ModelCheckpoint コ-ルバックで設定している
最も性能の良いモデルを保存する保存用ファイル名を
jena_dense.keras ⇒ jena_dense_go.keras
に変更します。
このファイルは predict メソッドを使用するときに呼び出すので
model = keras.models.load_model(
"drive/MyDrive/Colab Notebooks/my_data/jena_dense.keras")
⇩ ⇩ ⇩ ⇩
model = keras.models.load_model(
"drive/MyDrive/Colab Notebooks/my_data/jena_dense_go.keras")
とする必要があります。
動作結果ファイル名変更
予測チャ-トと予測値の保存ファイル名を変更します。
最後の部分に記述されています。
予測値 csv ファイル
colab_mane_chart_go_keras.csv
⇩
colab_mane_chart_go_lstm.csv
予測チャ-ト図
colab_mane_chart_go_keras.png
⇩
colab_mane_chart_go_lstm.png
引き続きこれらの改造内容を keras-go-2.ipynb ファイルに適用、
keras-go-lstm.ipynb としてまとめます。