過学習とは?(FXのバックテストとモデル構築において)
過学習(overfitting)の定義
過学習とは、モデル(たとえばトレードルール、シグナルモデル、統計的予測器など)が、過去のデータのクセにあまりにも密接に一致してしまうことです。簡単に言うと、過去に特有のパターンを学習してしまい、その後は再び現れない可能性があります。重要な考え方は、「真の関係を学ぶこと」と「偶然の特徴を暗記すること(多くの場合“ノイズ”と呼ばれます)」の違いです。
FXにおいて過学習はどう起こるか
FXのワークフローでは、まず過去の価格データを使ってルールを推定し、その後追加のデータで評価します。ルールが、データセット内の情報量や情報の質に対して過度に複雑になったとき、過学習は典型的に現れます。
よくあるシンプルなモデルは、バックテスト中のパフォーマンスを最大化するようにパラメータを選ぶことです(たとえば、特定の履歴で最も高いリターンを生む設定を選ぶなど)。柔軟性を使いすぎると、つまり調整可能なパラメータが多すぎる、試したバリエーションが多すぎる、あるいは同じデータセットで繰り返しチューニングしている場合、モデルは安定した挙動ではなく、ランダムな動きを実質的に「説明」してしまうことがあります。
バックテストが異なる区間を使っていても、意図よりも過去の情報を暗黙に多く使ってしまうような選択によって、過学習は起こり得ます。たとえば、バックテスト結果を見て設計を繰り返し変更することや、候補モデルを多数比較して、履歴期間で最も良く見えるものを選ぶことなどです。各選択ステップが、結果を過去に寄せてしまう可能性があります。
よく混同される隣接概念
過学習は、次のような関連した問題とは別物です。
- アンダーフィッティング:モデルが単純すぎて意味のある構造を捉えられず、学習データ上でも成績が悪くなります。
- データリーク:モデル構築の際に使われた情報が、誤って将来の情報を含んでしまうことです(たとえば、意思決定時点では利用できなかったデータで計算された統計量を使うなど)。過学習は「過度な適合」が問題であり、リークは「情報のタイミングが不正確」が問題です。
- レジームチェンジ:市場環境が変わり、過去の関係が弱まります。レジームチェンジは、過学習がなくてもアウト・オブ・サンプルの弱さを引き起こし得るため、両者が原因と結果の関係だと決めつけるべきではありません。
根拠と具体例(明確な前提つき)
仮に、過去の時系列と、調整可能な閾値が1つあるルールがあるとします。多くの閾値を試して、最も高いバックテストスコアを示したものを選ぶなら、それは一種の「探索」を行っていることになります。探索が十分に行われると、最も見栄えの良い閾値は、当該の履歴ウィンドウに特有の偶然を反映している可能性があります。
これを確認するには、選定に使われなかった評価が必要です。ルールが本当に見たことのないデータでも強さを保つなら、それは安定したパターンと整合的です。パフォーマンスが崩れ落ちるなら、過去の成功が「ノイズへの適合」によってもたらされた可能性を示唆します。
限界と失敗パターン
バックテストが失敗する理由は過学習だけではありません。主な制約には次のようなものがあります。
- 取引コストと執行の影響:実際のコスト、スリッページ、部分約定などは、バックテストの前提と異なることがあります。これらの違いによって、過学習が最小限であっても、以前は良さそうに見えたモデルが悪く見えることがあります。
- 非定常性:FXのダイナミクスは時間とともに変化し得ます。「良い」ルールは、根底にある関係が変わってしまうことで機能しなくなることがあります。
- 繰り返しテストによる選択バイアス:チューニングを行うたびに、過去のアーティファクトを選んでしまう確率が高まります。
- 過大評価された指標:一部のパフォーマンス指標は、少数の外れ値となる取引に敏感であり、頑健性について誤解を招く印象を与えることがあります。
結果は、市場環境、前提、コスト、執行の質によって変わるため、過去で良いスコアを取ったからといって、モデルが一般化できると結論づけることはできません。
過学習が存在するかを検証する方法
一般的なモデル検証の手法を使えば、過学習を独立して評価できます。
- 厳格なアウト・オブ・サンプルテストを使う(パラメータ選定で参照しない)。
- 可能な範囲でモデルの複雑さを制御する(自由度の数を減らす)。
- 評価データでの繰り返しチューニングを最小化する。選定と評価を別のステップとして扱う。
- 当時に知られていて、実行可能だったであろう内容と整合する現実的な前提を採用する。
モデルの見かけ上の優位性が、本当に見たことのないデータでテストすると大幅に縮小するなら、それは過学習と整合的です。見たことのない期間でのパフォーマンスが似ているなら、過学習の可能性は低くなりますが、将来の挙動やデータの質が不確実であるため、完全に排除されることはありません。
DOCUMENT END