見出し画像

説明変数に恐怖指数(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モデルは、下記となります。

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)を使用した場合の学習曲線を以下に示します。

学習曲線 恐怖指数(VIX)
学習曲線(恐怖指数(VIX))

グラフの縦軸はログスケールです。

VALIDATION ERRORの最小値は、0.001664でした。

また、AIモデルの評価結果から、実際の日経平均株価と予測値の終値に対して逆標準化を行いRMSEを算出した結果は、361.80円でした。

続いて、説明変数にS&P500を使用した場合の学習曲線を以下に示します。

学習曲線 S&P500
学習曲線(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構造にすると予測精度が低下するのかを調査したいと思います。

この記事が気に入ったらサポートをしてみませんか?