機械学習の精度が上がらない場合に見直すべき3つのポイント【随時更新中】
こんにちは。管理人のピヨ猫でーす。
1.FX予想の過去記事の問題点
FX為替予想とはどんなことをしたか?
過去の為替データから、将来、為替レートが上がるか、下がるか、変わらないかをAIに予想させました。詳しくは以下の記事を参照下さい。
syuuai.hatenablog.com
どんな問題が有ったか?
訓練データに問題がありました。
教師データを基準日をシャッフルして訓練データとテストデータに振り分けたため、訓練データにテストデータより未来のデータが含まれていました。
つまり、AIが未来を垣間見ている状態となっていました。
例)
- 教師データ① 2018/01/01~2018/02/27の為替データと2018/03/10の騰落結果
- 教師データ② 2018/01/03~2018/03/02の為替データと2018/03/12の騰落結果
- 教師データ③ 2018/02/1~2019/03/31の為替データと2018/04/10の騰落結果
- テスト 2018/01/02~2018/03/01の為替データを元に2018/03/11の騰落結果を予想
※ 騰落結果は騰落結果予想日の終値と騰落結果予想日の10日前の終値の比率から、10日前から比べて上がったか下がったか変わらなかったかを予想したものです。
AIは2018/03/11の騰落結果を知っている分けでは無いですが、2018/03/10と2018/03/12の騰落結果を知っていますし、2018/03/1~2019/03/11の終値も知っていますので、ほぼ答を知っている状態と言えます。
データの問題を改善して学習したAIは良い結果が出なかった
上述の問題を解消するため、1990年~2016年までのデータを訓練データ、2017年~2018年のデータをテストデータとしました。
残念な結果になってしまいました。
AIが匙を投げました。
3つの答えからランダムにどれかを選択するか、全て同じ答を選択しました。
AIが出来たこともある
ではAIが全く何も出来なかったかと言うとそうでもありません。
前回記事のやり方の場合、正解率は80%ですから、莫大な為替チャートより、解析対象の基準日のチャートと類似するパターンを見つけることはAIで実現出来たと判断して良いと思います。
しかし、教師データを過去分だけにしたところ、正解率が激減しました。
考えられる原因は3つあります。
- 過去データに類似パターンが無い
- 過去データに類似パターンがあるが見つからない
- 過去データからFX予想は出来ない
2.機械学習の精度が上がらない場合に試すべき3つのこと
FX為替予想の改善を試みる前に、機械学習で精度が上がらない場合、どうすれば良いかを紹介します。
- 特徴量を増やす
- 特徴量を解析し易くする
- モデルを見直す
特徴量を増やす
AIは入力データを元に予想を行います。入力データの各項目を特徴量と呼びます。逆に言うとAIは特徴量以外のデータは予測に使いません。従って特徴量が予想したい結果とあまり関係が無いデータだけだと予想の精度が低くなります。
例えば、昨日と今日の天気は雨だったけど、明日の天気は何か?と言われれば雨かもなーと予想出来ますが、10年前の天気は雨だったけど、明日の電気は何かな?と言われても困りますね。それと同じです。
予想精度が低いと言うことは、特徴量が不足しているのかも知れません。
特徴量を解析し易くする
特徴量が合っても見付けづらい形式だと、AIが見落とす可能性があります。
例えば100Lの水と100.1Lの水と99.9Lの水の違いを目で見分けろと言われたらどうでしょうか? 肉眼ではかなり難しいので、虫眼鏡を使って見分けるのではないでしょうか?
AIも同じで見分け辛いデータはスケールを変えるなどして見分け易い様にする必要があります。
モデルを見直す
身長を測る場合、メジャーを使います。体重計は使いません。また重さを測る場合、人間の体重なら体重計を使いますが、塩の重さを正確ひ測るなら天秤を使います。
機械学習も同じです。分析対象に対し、適切なモデルを選択する必要があります。
3.FX機械学習の改善(随時更新中)
FX為替予想の改善に話を戻します。
先に上げたFX為替予想の精度が低い原因それぞれについて対策を考え検証します。
【為替予想の精度が低い原因として考えられらこと】
- 過去データに類似パターンが無い
- 過去データに類似パターンがあるが見つからない
- 過去データからFX予想は出来ない
1.過去データに類似パターンが無い
これはあるかも知れません。訓練データは直近が二年前なので、学習データとして適切で無いかもしれません。
対策1.訓練データとテストデータの基準日の組み合わせを見直す
テスト実施の直近まで訓練データとする。但し、テストデータで予想する日の為替データは訓練データに入れない。
◆ 具体的方法
- データセット1
訓練データ基準日=1990/01/01 ~ 1990/01/30
テストデータ基準日=1990/01/31 予想日=1990/02/10 - データセット2
訓練データ基準日=1990/02/11 ~ 1990/03/10
テストデータ基準日=1990/03/11 予想日=1990/03/21 - データセット3
訓練データ基準日=1990/03/22 ~ 1990/04/21
テストデータ基準日=1990/04/22 予想日=1990/05/02
の様にデータを区切る。
◆ 結果
検証中
2.過去データに類似パターンがあるが見つからない
対策1.特徴量を増やす①
◆ 具体的方法
◆ 結果
検証中
3.過去データからFX予想は出来ない
FXの値動きに過去の値動きは影響していないのではないか?
大きい特徴量は直近の経済指標とかであり、過去の為替の値動きは関係ないのではないか?という予想になりますが、これは一旦置いておきます。過去の値動きから分析する手法をテクニカル分析と言い、テクニカル分析で勝ててる人は実在するので、過去の値動きと将来の値動きに相関関係はあると一旦は考えます。
4.改善結果
検証中です...
良い結果になったら良いなー
それではまたー
価格:1,350円 |
アルゴリズムトレードが出来るFX会社
↓↓↓