Python Colaboratory Ⅴ
Python CNN 豪ドル/円4時間足予測
ここまでで CNN 豪ドル/円 予測(日足レベル)ができるようになりました。
引き続き、LSTM 豪ドル/円4時間足予測を探求してみたいと思います。
例として豪ドル/円4時間足の動きを格納した
CSV ファイル colab_mane_chart_go_4h.csv
を利用し、それをチヤ-トグラフで表示し、そしてその後の価格変動を予測します。
豪ドル/円 CSV ファイルは
ここからダウンロ-ドできます。
Google Colaboratory で動かします。
類似の豪ドル/円4時間足予測については最も近い予測ファイルを
RNN 豪ドル/円 4時間足予測
~
RNN 豪ドル/円 4時間足予測表示ファイル動作確認
の中で説明してきました。
忙しい方は
RNN 豪ドル/円 4時間足予測表示ファイル
を見てください。
さらにお急ぎの方は
Python LSTM 豪ドル/円4時間足予測
を見て、さらに
LSTM 豪ドル/円 4時間足予測表示ファイル
を見てください。
このなかに
keras-go-lstm-4h.ipynb ファイル
がありますので、これを改造して
CNN 豪ドル/円4時間足予測ファイル
keras-go-cnn-4h.ipynb
を作成していきます。
LSTM モデル(4時間足) ⇒ CNN モデル(4時間足)
keras-go-lstm-4h.ipynb は LSTM モデル(4時間足)で時系列予測をしています。
これを CNN モデルで予測するように変更します。
LSTM モデルの設定部分は
inputs = keras.Input(shape=(sequence_length, 1)) x = layers.LSTM(20, kernel_initializer='zeros')(inputs)
のように書いていました。
これを CNN モデルに変更します。
このモデルの作り方については
CNN (Convolutional Neural Network)の実現
のところで詳しく説明しています。
inputs = keras.Input(shape=(sequence_length, 1)) x = layers.Conv1D(7, 15, activation="tanh")(inputs) x = layers.MaxPooling1D(2)(x) x = layers.GlobalAveragePooling1D()(x) # カ-ネルサイズは 15 に微調整
モデル保存用ファイル名変更
ModelCheckpoint コ-ルバックで設定している
最も性能の良いモデルを保存する保存用ファイル名を
jena_dense_lstm_4h.keras ⇒ jena_dense_cnn_4h.keras
に変更します。
このファイルは predict メソッドを使用するときに呼び出すので
model = keras.models.load_model(
"drive/MyDrive/Colab Notebooks/my_data/jena_dense_lstm_4h.keras")
⇩ ⇩ ⇩ ⇩
model = keras.models.load_model(
"drive/MyDrive/Colab Notebooks/my_data/jena_dense_cnn_4h.keras")
とする必要があります。
動作結果ファイル名変更
予測チャ-トと予測値の保存ファイル名を変更します。
最後の部分に記述されています。
予測値 csv ファイル
colab_mane_chart_go_lstm_4h.csv
⇩
colab_mane_chart_go_cnn_4h.csv
予測チャ-ト図
colab_mane_chart_go_lstm_4h.png
⇩
colab_mane_chart_go_cnn_4h.png
引き続きこれらの改造内容を keras-go-lstm-4h.ipynb ファイルに適用
keras-go-cnn-4h.ipynb としてまとめます。