説明変数に恐怖指数(VIX)とS&P500を使用してLSTM構造のAIモデルで回帰を行ってみましたが・・・
今回はLSTM構造のAIモデルに対する恐怖指数(VIX)とS&P500の効果を確認します
前回までに行った回帰に対する検証結果より、4層Affine構造のAIモデルにおいて、説明変数に恐怖指数(VIX)とS&P500を使用すると予測精度が高くなることが確認できました。
詳細は、下記の記事を参照ください。
そこで今回は、LSTM構造のAIモデルに対して、説明変数に恐怖指数(VIX)とS&P500を使用した場合の効果を確認することにします。
一般的に、LSTM構造のAIモデルは、株価予測に向いているとされています。
LSTM構造のAIモデルの構成
今回の検証で使用するLSTM構造のAIモデルは、下記となります。
4層Affine構造のAIモデルをLSTM構造に改造した形となっています。
今回使用するLSTMでは、時系列のループを5としています。
このため、上図において、RecurrentInputおよびRecurrentOutputで挟まれた全てのレイヤの右隣に「x5」とあるのが確認できます。
学習データの構成
学習データの構成は、前回と同じで下記の通りです。
学習データの構成
説明変数は、日経平均株価 + パラメータ1種類を1セットとし、5セット(5日分)とする
パラメータは、恐怖指数(VIX), S&P500
標準化は、日経平均株価とパラメータを分けて行う
目的変数は、説明変数の最終日の翌営業日の日経平均株価とする
ただし、Neural Network ConsoleのLSTM向けに、5つのループを考慮した構成に学習データを変形しました。
LSTM構造のAIモデルに対する検証結果
先ず始めに、説明変数に恐怖指数(VIX)を使用した場合の学習曲線を以下に示します。
グラフの縦軸はログスケールです。
VALIDATION ERRORの最小値は、0.001664でした。
また、AIモデルの評価結果から、実際の日経平均株価と予測値の終値に対して逆標準化を行いRMSEを算出した結果は、361.80円でした。
続いて、説明変数にS&P500を使用した場合の学習曲線を以下に示します。
VALIDATION ERRORの最小値は、0.001185でした。
また、AIモデルの評価結果から、実際の日経平均株価と予測値の終値に対して逆標準化を行いRMSEを算出した結果は、305.57円でした。
結果に対する考察
改めて、前回検証した4層Affine構造と、今回の検証したLSTM構造のAIモデルでの結果を以下に記載します。
説明変数に恐怖指数(VIX)を使用した場合
4層Affine構造
終値(逆標準化)に対するRMSE: 282.44円
VALIDATION ERRORの最小値: 0.001091
LSTM構造
終値(逆標準化)に対するRMSE: 361.80円
VALIDATION ERRORの最小値: 0.001664
説明変数にS&P500を使用した場合
4層Affine構造
終値(逆標準化)に対するRMSE: 283.07円
VALIDATION ERRORの最小値: 0.001043
LSTM構造
終値(逆標準化)に対するRMSE: 305.57円
VALIDATION ERRORの最小値: 0.001185
LSTM構造のAIモデルを使用することで、回帰における予測精度の向上を期待したのですが、逆に低下しました。
なぜ、LSTM構造のAIモデルを使用すると予測精度が低下するのか、良く分かりません。
LSTM構造のAIモデルは株価予測に向いているはずなんですが・・・。
(? _ ?)
気になる点が2つあります。
今回の検証では、説明変数の構成を5日分の日経平均株価 + パラメータとし、これを5つのループでAIモデルの学習させたのですが、ちょっと冗長かもしれないと感じました。
LSTMは、そもそもループの構造を有しているため、今回のように5つのループ構造であれば、説明変数を1日分とすれば十分な気がします。
これが1つめ。
また、LSTM構造は複雑ですので、もっと単純な構造のRNN(Recurrent Neural Network)で検証してみるのも良いかもしれません。
例えば、Elman-net構造です。
これが2つめ。
今後は、この2点に対する確認を行い、なぜ、LSTM構造にすると予測精度が低下するのかを調査したいと思います。
この記事が気に入ったらサポートをしてみませんか?