600 / 736FIT

Overfitting

過剰適合

Overfitting は、過去のデータに偶然の特徴まで合わせすぎることです。新しいデータでは通用しない場合があります。単純な戦略でも、長く調整すれば起こり得ます。

Overfitting、つまり過学習は、モデルやルールが他にも通じる関係ではなく、開発用データ固有の特徴を学ぶことです。取引では最高の過去成績だけでは不十分で、その戦略をどう選び、別のデータでどう動くかも重要です。

ペーターが bitcoin を買うルールを試します。過去データのテストで損が出たため、平均の計算期間を変えます。さらに失敗した取引を避ける条件を足すと、曲線は改善します。しかし、既に見た偶然を避けているだけかもしれません。QuantConnect はこれを、訓練データの細部やノイズへの適合と説明しています。過去から学ぶことが問題なのではありません。その特殊事情を今後も続く規則性と取り違えることが問題です。 [1]

ペーターは条件をすべて消せますが、有用な関係まで失うかもしれません。scikit-learn は両極端を示します。単純すぎるモデルは関係を捉えられず、柔軟すぎるモデルは偶然の細部を追うことがあります。設定数だけでは過学習を診断できません。単純な手順にも複雑な手順と同じく、適切に分けたデータでの誠実な評価が必要です。最終テストを見てから選んだなら、そのテストは既に開発に影響しています。 [2]

最後に残ったルールは短くても、その前に試した失敗版の数は見えません。Bailey らは、同じデータで繰り返し検証すると誤った発見が生じ得ると説明しています。勝者の美しいグラフだけでなく、候補、変更、選び方を保存しましょう。単純な結論も大規模な探索の産物かもしれません。ただし試行数だけで過学習の確率は計算できず、データ、その依存関係、選択手順にも左右されます。 [3]

ペーターには開発用データと、その後の評価用データが必要です。scikit-learn は入れ子型の検証で説明します。内側で設定を選び、外側で選択手順全体を評価します。試験勉強と本試験だと考えてください。練習での最高点は独立した成績ではありません。指標の選択や入力の前処理も開発に含まれます。最終結果を見てルールを変えたら、再評価には別の適切なデータが必要です。同じ試験はもう手つかずではありません。 [4]

写真から学ぶ場合、標本を混ぜることが有効な場合があります。しかし連続する市場観測では非現実的なテストになり得るため、scikit-learn は時間的な依存関係に注意を促しています。その時点で使える入力だけを使い、訓練や選択に用いる結果も既知でなければなりません。まだ終わっていない取引の結果は未確定です。Walk-forward Analysis は古いデータから後のデータへ進みますが、同じ結果を見て手順を繰り返し改めれば、新しい証拠にはなりません。 [5]

ペーターがテスト行を分けても、先に表全体の平均を計算して入力を変換していたら、テストは本当に分離されていません。scikit-learn は、この種の変換を訓練部分だけで学習し、その後テストに適用するよう求めています。当時使えない情報が開発に入ることをデータ漏洩と呼びます。Overfitting とは異なり、未来の行なしでもノイズは学べますし、漏洩は単純なモデルも歪めます。表の境界だけでなく全工程を確認します。 [6]

次の期間で戦略が損をしても、過学習は可能な説明の一つにすぎません。市場環境、費用、データ品質が変わったのかもしれず、短い期間は偶然に強く左右されます。scikit-learn は、設定や訓練データ量を変えた結果を比べる検証曲線と学習曲線を提供しています。近い設定で似た結果が出るかも参考になります。ただし新たな調整は毎回開発として記録します。この診断だけで取引の優位性が統計的に証明されるわけではありません。 [2]

有用な結論は利益だけでなく、戦略の出発点、変更内容、本当に後から評価した点も説明します。開発時と後続の成績を分け、分かっている試行、費用、限界を示しましょう。NFA は、仮想取引では流動性、価格のずれ、実損失時の行動を完全には捉えられないと説明しています。その広告規則は特定の会員が対象です。次の検証はルールを事前に記録して始めます。方法上の誤りを減らすことは有益ですが、未使用データでも将来の利益は保証できません。 [7]

例例 · FIT

選択時の勝者が次のテストで負ける場合

架空の例で、ペーターは候補 A、B、C を事前に決め、同じ固定ポジション量で比べます。選択用の三期間の純損益は A [8, 10, 12] USD、B [6, 8, 10] USD、C [4, 6, 8] USD です。A、B、C 順の合計は [30, 24, 18] USD です。事前に記録したルールは最大合計を選び、同点ならこの順序で最初の候補を選びます。したがって次の期間前に A を選択します。その後で初めて続く三つのテスト期間の結果を開きます。A [-6, -4, -2] USD、B [1, 2, 3] USD、C [0, 1, 2] USD です。テスト合計は [-12, 6, 3] USD となり、最初に選んだ A のテスト損益は -12 USD です。テスト開始時の現金 1000 USD は 988 USD になります。選択期間の利益 30 USD は加えません。ポジション量は固定、金額にはモデル上の全費用が含まれ、各期間末に未決済ポジションはありません。借金や外部資金移動も想定しません。図は各候補の選択時と後続テストの合計を比較します。今 B のほうがよいと分かっても、当初の選択を遡って変えることはできません。順位は引き継がれませんでしたが、例だけで過学習が唯一の原因とは証明できず、その確率も推定しません。学習用の数字であり、実際の市場成績や戦略の推奨ではありません。

理解を深めるには、この項目とあわせて次もお読みください Backtesting, Walk-forward Analysis, Look-ahead Bias, Paper Trading, Trading Journal. 次の項目からも参照されています Technical analysis, Technical indicator, Moving average crossover, Relative Strength Index.

01単純な戦略でも過学習しますか?

はい。短い最終ルールが、同じデータで試した多数の候補から選ばれた可能性があります。評価するのは最終版の設定数だけでなく、探索全体です。

02新しいデータで悪い成績なら過学習の証拠ですか?

いいえ。市場変化、費用、データ誤り、偶然に左右された短い期間でも説明できます。差があれば方法と条件を調べますが、差だけで原因や過学習の確率は決まりません。

DOC · 001QuantConnect — Optimization Parameters文書 DOC · 002scikit-learn — Validation and Learning Curves文書 DOC · 003Bailey et al. — The Probability of Backtest Overfitting一次資料 DOC · 004scikit-learn — Nested versus Non-nested Cross-validation文書 DOC · 005scikit-learn — Cross-validation: Evaluating Estimator Performance文書 DOC · 006scikit-learn — Common Pitfalls: Data Leakage文書 DOC · 007NFA — Use of Promotional Material Containing Hypothetical Performance Results文書
改訂日: 一次資料を優先 · 投資助言ではありません