PR

【機械学習】CatBoostで差をつける!不要指標を排除して精度を伸ばす秘訣

AI

はじめに

FXレートの機械学習予測では、どのような特徴量を入力に使うかがモデル精度に大きく影響します。終値のようなシンプルな時系列データだけを使うか、RSI・移動平均・ATRなど多数のテクニカル指標を組み合わせるかで、モデルの振る舞いは変わります。実務上、「特徴量を増やせば精度が上がる」と考えがちですが、あまりに具体的・複雑な特徴量を入れすぎると、かえってモデルが過学習して保守的な予測(安全志向で変化の少ない予測)に陥る現象も指摘されています。

本記事では、特徴量の抽象度(シンプル vs 複雑)がFX価格予測モデルの性能や汎化能力に与える影響について、最新のAI研究や実証事例を交えながら解説します。特に決定木ベースのモデル(例:CatBoost)とディープラーニングモデル(例:LSTM)に着目し、それぞれのモデルで適切な特徴量設計とは何かを探ります。また、未来の情報を暗黙的に含んでしまう特徴量への注意点や、金融時系列で「敢えて抽象的で少ない特徴量の方が良い結果になる」ケースの文献も紹介します。

特徴量の抽象度と過学習の関係

機械学習モデルは訓練データ上のパターンを学習しますが、特徴量があまりに具体的すぎる(個別の事例に特化しすぎる)と、訓練データにだけ当てはまるルールを覚えこんでしまい、未知データへの汎化性能が低下しがちですalibabacloud.com。明治大学・金子研のブログでも、「X(特徴量)が具体的であればあるほど、モデルは訓練データと似たサンプルしか扱えなくなり、特徴量を抽象化するほど多様なサンプルへの対応力が増す」ことが指摘されていますdatachemeng.com。つまり、抽象度の低い(具体的すぎる)特徴量はモデルの適用範囲を狭め、過学習を招きやすいということです。

一例として、カテゴリ変数でユニーク値が非常に多い特徴(高基数特徴量)をそのまま使うと、決定木モデルは細かい分割で過剰に適合しやすいことが知られていますzenn.dev。同様に、テクニカル指標を何十種類も詰め込めば、情報が重複したりノイズが混入したりしてモデルが混乱し、かえって精度が落ちる場合があります。実際、とある研究ではテクニカル指標のみで構成した特徴セットは他の特徴セットよりも低い性能となり、これは指標間のデータ冗長(重複情報)のせいだと報告されていますsciencedirect.com。不要な特徴量を増やしすぎることは、モデルの学習を阻害し精度低下の原因となるのですalibabacloud.com

ただし注意したいのは、特徴量を「抽象化すれば必ず精度が向上する」と言い切れるわけではない点です。特徴量の抽象度を上げることでモデル適用範囲や汎用性は高まりますが、予測精度自体は場合によっては向上せず悪化することもありますdatachemeng.com大事なのは、過剰に具体的な特徴で過学習しないようにしつつ、モデルがターゲットを予測するのに本当に有効な情報を含む特徴量を選ぶことです。適切な特徴量エンジニアリングのバランス感覚が求められます。

シンプルな特徴量 vs 複雑な指標群:どちらが精度に寄与するか

「終値や価格変化だけ」を特徴量にした場合と、「複数のテクニカル指標」を含めた場合で、どちらが良い予測結果を生むかは一概に決まりません。ケースバイケースですが、いくつか代表的な事例を見てみましょう。

  • LSTMによるドル円予測の例(GMOインターネット R&Dブログ): 過去60分のデータから1分後のドル円レートを予測するタスクで、特徴量パターンごとの精度を比較していますrecruit.gmo.jp。この検証では、「レート(価格)だけ」の場合RMSEが0.276と誤差が大きかったのに対し、トレンド系指標(移動平均線など)を加えるとRMSEが0.108まで大幅改善しました。一方でオシレーター系指標(RSIやストキャスティクスなど)を加えても精度向上は見られず、むしろRMSEは0.303とレートのみより悪化していますrecruit.gmo.jp。トレンド系+オシレーター系すべて入れた場合もRMSEは0.112で、トレンド系のみとほぼ同等でした。つまり、このケースでは必要な指標はトレンド系だけで十分で、オシレーター系はノイズに近かった可能性があります。recruit.gmo.jp
  • SVM vs LSTMの比較例(Aidemyブログ): ビットコイン価格の翌日方向を「上昇・下降・横ばい」の3分類で予測した実験では、ごく基本的な5つの特徴量(始値・高値・安値・終値・時価総額)だけを用いたところ、ディープラーニングのLSTMよりもシンプルなSVMの方が高精度だったと報告されていますaidemy.net。著者は「特徴量を5種に絞り、過去データ期間もごく短くしたことがSVMの強みを活かした」と分析していますaidemy.net。これは、深層学習モデルは大量のデータや特徴がないと真価を発揮しにくいためで、限られた情報量ならシンプルなモデル+少数特徴量の方が適切にフィットしやすい一例と言えます。一方で筆者は、「だからといってLSTMが不向きなわけではなく、本来は為替や景気指標など多様なデータを組み合わせ、適切にチューニングすればLSTMの方が優位になる可能性が高い」と述べていますaidemy.net。要は、少数特徴+単純モデル vs 多数特徴+高性能モデルの優劣は、データ量やチューニング次第で逆転し得るということです。
  • 学術研究の知見(S&P500予測の例): 2025年のある研究では、LSTMでS&P500指数を予測する際に追加のテクニカル特徴量を入れたモデルより、過去株価の生データのみを入れたモデルの方が精度が高かったという結果が報告されていますarxiv.org。追加特徴ありモデルの精度(Accuracy 92.46%)より、特徴量を生データに絞ったモデルの方が高精度(96.41%)だったのですarxiv.org。著者らは、その理由について「追加特徴量はノイズや冗長情報を導入してしまい、LSTM本来の時系列パターン学習をかえって邪魔した可能性がある」と考察していますarxiv.org。LSTMのような時系列に強いモデルは、生データからトレンドや依存関係を自動で抽出できるため、下手に指標を詰め込むよりシンプルにした方が性能向上するケースがあるのですarxiv.org

以上の事例から分かるのは、「特徴量は多ければ多いほど良い」とは限らないということです。モデルがきちんと有効活用できる情報だけを追加すべきで、そうでない指標は入れてもノイズになります。特にテクニカル指標は、互いに類似した情報を含むものも多く、むやみに種類を増やすと情報がダブってモデルが過信・混乱する恐れがありますsciencedirect.com。適切な組み合わせを見極めることが重要です。

未来情報を含む特徴量に要注意 ~「保守的予測」の落とし穴~

特徴量エンジニアリングで絶対に避けねばならないのが、未来のデータを暗黙的に含んでしまう特徴量(リーク特徴量)です。これは例えば、「翌日の終値」を使って計算される指標を誤って学習に含めてしまうようなケースです。モデルは本来知り得ない将来情報を使って学習してしまうため、検証データでは妙に高精度でも実運用では全く使えない――という悲劇を招きます。

実例として、一目均衡表の遅行スパンがあります。一目均衡表では当日の終値を26日過去にずらしてプロットしますが、機械学習の特徴量として各日時点に遅行スパンをそのまま持ち込むと、「その日時点の遅行スパン値」は実質的に26日後の終値情報を含むことになります。ある日経平均の予測実験では、この遅行スパンを含めたせいでモデルが将来情報を盗み見てしまい、適切な予測ができなくなる問題が指摘されましたnote.com。遅行スパン入りモデルは検証Accuracyが61.2%と高めに出ましたがnote.com、遅行スパンを除去して再学習したところAccuracyは53.2%まで低下しましたnote.com。一見性能が悪化したように見えますが、言い換えれば最初の高精度は「見かけ倒し」だったことが確認できたのです。note.com

このように、未来データの漏洩(リーク)は過学習の極端な例であり、モデルに「予言者」のような振る舞いをさせてしまいます。リーク特徴量を含むモデルは、テスト時にはそれらの情報が得られないため予測が極端に保守的(平均回帰的)になる傾向があります。訓練時には未来を知っていた分大胆に当てていたのに、本番では何も分からず安全策として直近の値に近い予測しか出せなくなるのです。したがって、特徴量設計時には時系列の順序整合性を常に確認し、現在時刻より先のデータを絶対に参照しないようにする必要があります。また、移動平均やATRなど過去データのみで算出している指標であっても、計算窓の末尾に現在を含むかどうかで微妙なリークが起きる可能性もあるため注意が必要です。

モデル選択と特徴量表現のベストプラクティス

ここまで見てきた通り、特徴量の選び方・抽象度はモデルの汎化性能に深く関わります。では、実際にFXレート予測モデルを構築する際、どのような方針で特徴量とモデルの組み合わせを選ぶべきでしょうか。いくつかベストプラクティスをまとめます。

  • 特徴量は質を優先し量を欲張らない: むやみに指標を増やすのではなく、意味のある指標を厳選しましょう。ドメイン知識に基づき、「この指標は他の指標と極めて似た動きをする」「この2つは本質的に同じ情報を別表現している」などと判断できる場合、どちらか一方に絞るのが無難です。不要な特徴を減らせば、モデルがノイズに惑わされず本質的なパターンに集中できますarxiv.org。実際、前述の研究でもLSTMに余計な特徴を与えない方が好成績でしたarxiv.org。また、一般論としてもデータ数に比べ特徴量次元が増えすぎると精度が低下しうる(次元の呪い)ことは統計的にも指摘されています。
  • 決定木系モデル(CatBoost等)では適切な特徴変換を: CatBoostやXGBoostなど勾配ブースティング木は、時系列データ自体の扱いは得意ではないため、ラグ特徴量(過去n期間の終値差分など)や統計量(移動平均、ボラティリティ等)をあらかじめ特徴量として与えることが必要ですnote.com。この際、抽象度の低い特徴をそのまま入れると木が局所的な分割をしてしまうので注意します。例えば「1分ごとの細かな価格変化」よりも「5分単位の変化率」や「◯◯期間移動平均乖離率」など少し粗視化した特徴の方がノイズに左右されにくく、有効なことがあります。決定木は過学習対策として深さ制限や正則化もできますが、そもそもの特徴量設計で過学習の種を減らすことが肝心です。
  • ディープラーニング系モデル(LSTM等)では生データ重視: LSTMやTransformerなどシーケンスモデルは、本来生の時系列データから特徴を自動抽出する力があります。そのため、下手に多数の手作り指標を詰め込むより、終値や出来高など基本的な系列データそのものを投入し、モデル内部でパターン学習させる方がうまくいく場合が多々ありますarxiv.org。ただし、ディープラーニングは大量のデータと計算資源を要するため、データが少ない状況では特徴量を工夫して補うアプローチも有効です。現状の研究動向としては、価格系列にニュースや他市場のデータを組み合わせるマルチモーダル学習や、時系列モデルに注意機構(アテンション)を組み込んで重要なタイミングに着目させる試みthemoonlight.iothemoonlight.ioなどが進んでいます。これら高度なモデルでも、入力データ自体にノイズが多ければ性能が頭打ちになるため、まず入力特徴を厳選することが土台になります。
  • 未来データの混入チェック: 特徴量作成時は、常に「この計算に将来の値が紛れ込んでいないか?」を点検しましょう。日付・時刻のインデックスを用いてラグを取る、訓練データ生成時に厳格に過去のみ参照する、といった基本を徹底することです。特にカスタム指標や複雑なテクニカル指標を使うときは、その定義をよく確認し、リアルタイムで利用可能な形に調整する必要があります。例えば移動平均線も本来はリアルタイム算出可能ですが、中心化移動平均のように前後データを使う計算は不可です。同様に、一目均衡表の先行スパン(雲)も現時点では計算不能な未来の線なので、モデルには入れないようにします。

以上のポイントを踏まえ、特徴量を増やす場合も一つ加えるごとにモデルの検証性能がどう変わるかを確かめるのがおすすめです。例えば「このRSIを入れて精度は上がるのか?」「新たに加えた特徴の重要度はどの程度か?」といった検証を丁寧に行い、貢献の薄い特徴量は思い切って削ることも大切ですrecruit.gmo.jp。モデル解釈手法を用いて特徴量重要度を分析すれば、どの特徴が効いているか可視化できます。「入れたけど使われていない特徴」が多いなら、それはノイズ源かもしれません。

おわりに

金融時系列予測では、「シンプルな特徴量で挑むか、複雑な特徴量まで貪欲に使うか」は永遠のテーマです。近年の研究や実践事例を見る限り、必ずしも多くの特徴量を投入したモデルが良いとは限らず、適切に抽象化・選択された少数の特徴量でモデルの汎化性能を高められるケースも多々あります。arxiv.org 特に、過学習気味で予測変動が小さくなってしまう「保守的予測」に陥るモデルでは、一度特徴量を見直し思い切ってシンプルにすることで改善する可能性があります。

重要なのは、モデル(アルゴリズム)の特性に合った特徴量表現を選ぶことです。決定木系には人間の知見で加工した有用な指標を与え、ディープラーニング系には生データの持つ時系列パターンを活かす、といった戦略が有効でしょう。また、「データは多いほど良い」が基本ではありますが、無秩序に特徴を増やすのではなく、情報価値の高い特徴を見極めて追加し、不要なものは減らす取捨選択こそがモデル精度向上の鍵ですalibabacloud.comdatachemeng.com。幸いにもAutoMLや特徴量重要度の可視化ツールが発達していますので、それらも活用しつつ最適な特徴量セットを探ってみてください。

最後に、為替市場は常に変化し続ける非定常な環境です。一度構築したモデルも、時間の経過とともに劣化することがあります。定期的にモデルの再訓練や特徴量の見直しを行い、過去の相場変化に過適応していないかチェックすることが大切ですnote.com。特徴量の抽象度を意識しながら、過学習を避けて汎用的な予測力を持つモデルを育てていきましょう。

参考文献・情報源: 本記事は以下の文献やブログ記事を参考に作成しました。

  • 金子研究室 データ化学工学ブログ: 特徴量抽象化に関する考察datachemeng.comdatachemeng.com
  • AlibabaCloud機械学習ドキュメント: Lossが下がらない原因と対処alibabacloud.com
  • note.com: 一目均衡表の遅行スパンと過学習問題note.comnote.com
  • GMOインターネット次世代システム研究室ブログ: LSTMとテクニカル指標の予測検証recruit.gmo.jprecruit.gmo.jp
  • arXiv: LSTMによる株価予測と特徴量有無の比較研究arxiv.orgarxiv.org
  • Aidemy Magazine: 仮想通貨価格予測におけるSVMとLSTMの比較aidemy.net

オンラインコミュニティ

こちらのコミュニティで、AIや機械学習をトレードに活かすために日々探求しています。
興味のある方は覗いてみてください。

タイトルとURLをコピーしました