AIによる株式投資3カ月で100万円上級【2種類のオーバーフィッティング】

機械学習の柔軟性の負の側面は、未熟な使い手の場合、データに簡単にオーバーフィットしてしまうことである。

オーバーフィットの主な症状は、モデルのインサンプル性能とアウトオブサンプル性能の乖離である(汎化誤差と呼ばれる)、オーバーフィットには2種類存在する。訓練データで発生するオーバーフィットと、テストデータで発生するオーバーフィットである。

訓練データのオーバーフィッティング

シグナルだけでなくノイズも説明してしまうような柔軟性のあるモデルを選択すると、訓練データのオーバーフィッティングが発生する。

シグナルとノイズを混同することの問題点は、ノイズはその定義上、予測不可能ということである。

オーバーフィットしたモデルは、間違った予測を不当な確信度をもって生成し、その結果、アウトオブサンプル(あるいはバックテストのような疑似アウトオブサンプル)でのパフォーマンスの低下につながる。
 
機械学習の研究者はこの問題を強く意識しており、3つの補完的な方法でこの問題に対処している。訓練データのオーバーフィッティングを修正する。

最初の方法は、リサンプリング手法(たとえばクロスバリデーション)やモンテカルロ法を用いて汎化誤差を評価することである。

第二のアプローチは正則化手法であり、より大きな説明力によって正当化できる場合を除いて、モデルの複雑さを制限するものである。

パラメータの数を制限する(たとえばLASSO)か、モデルの構造を制限する(たとえばアーリーストッピング)ことによってモデルの簡略化を強制することができる。

第三のアプローチはアンサンブル手法であり、これは推定器の集合の予測を組み合わせることで誤差の分散を減らすものである。

たとえば、ランダムフォレストの訓練データに対するオーバーフィッティングのリスクを、少なくとも以下3つの方法で制御することができる。

(1)予測をクロスバリデーションする、(2)各ツリーの深さを制限する、

(3)より多くのツリーを追加する。

要約すると、バックテストによって訓練データのオーバーフィッティングの発生が示唆されることがあり、その場合上記のアプローチを用いて改善することができる。

残念ながら、以下に説明するように、バックテストは次のタイプのオーバーフィッティングに対しては無力である。

テストデータのオーバーフィッティング

ある友人が、次回の宝くじの当選番号を予想するテクニックをもっていると主張していると想像してみよう。

彼の技術は正確ではないので、複数のチケットを購入しなければならない。

もちろん、彼がすべてのチケットを買えば、当選しても不思議ではない。彼の手法が役に立たないと結論づける前に、何枚までならチケットを買うことを許可すればいいだろうか? 

彼のテクニックの精度を評価するためには、複数のチケットを購入しているという事実を調整する必要がある。

これと同様に、同じデータセットに対して統計的検定を複数回実施しているリサーチャーは、誤った発見をする可能性が高くなる。

同じデータセットに同じテストを複数回適用することが、偽の発見につながるのである。

この選択バイアスは、(訓練データではなく)テストデータでうまく機能するようにモデルを適合させることに由来する。

テストデータのオーバーフィッティングのもう1つの例は、戦略をバックテストして、出力が目標性能を達成するまでバックテストを微調整するときに起こる。

このバックテストー微調整-バックテストのサイクルは、必然的にオーバーフィット戦略(偽陽性)を生み出す無益な活動である。

そのかわりに、どのようなリサーチプロセスによって偽の戦略のバックテストをする羽目になったかを追求すべきである。

言い換えれば、バックテストのパフォーマンスが低いことは、リサーチプロセスを修正する機会なのであって、投資戦略を修正する機会ではないのである。

ファイナンス分野で発表される発見の多くは、テストデータのオーバーフィッティングの理由で、誤った発見である可能性が高い。

現在のファイナンス研究の危機は、機械学習によって引き起こされたのではない(Harvey et al. 2016)。

この危機は、ファイナンスにおける古典的な統計手法の誤用、特にp-パッキングの蔓延によって引き起こされたのである。

機械学習はテストデータのオーバーフィッティングの問題を解決するのに役立つ。

第一に、リサーチャーが行った独立テストの数を記録し、その結果のうち少なくとも1つが誤発見である確率(ファミリーワイズエラー率(FWER)と呼ばれる)を評価することができる。

デフレシャープレシオ(Bailey and Lopez de Prado 2014)はバックテストにおいて同様のことを行う。

これらは友人が買った宝くじの枚数をコントロールすることに相当する。

第二に、モデルを1つのテストデータにオーバーフィットすることは簡単だが、各証券について数千のテストデータにモデルをオーバーフィットすることは困難である。

このような数千のテストセットは、訓練データとテストデータの組合せ分割をリサンプリングすることで生成することができる。

これは、組合せパーシング交差検証(Combinatorial Purged Cross-Validation、CPCV)法(AFML第12章)で採用されているアプローチである。

第三に、ヒストリカル系列から潜在的なデータ生成プロセスを推定し、ヒストリカルに観察された統計的性質に一致する合成データセットをサンプリングすることができる。

ヒストリカル系列の統計的性質と一致する合成データセットを生成する際には、モンテカルロ法が特に有効である。

これらの検定からの結論は、推定されたデータ生成過程の代表性に依存する(AFML)。

このアプローチの主な利点は、テストの結論が、データ生成過程のある特定の(観測された)実現ではなく、ランダムな実現の分布全体から得られることである。

われわれの例では、これは宝くじのゲームを複製して何度も繰り返すことと同等であり、それにより運を除外することができる。

まとめると、訓練データとテストデータのオーバーフィッティングの問題に対しては、複数の実用的な解決策がある。

これらの解決策は完璧でも相いれないものでもないので、筆者のアドバイスはこれらをすべて適用することである。

同時に、少なくとも2つの理由から、バックテストが理論のかわりになることはないと主張したい。

(1)バックテストではブラックスワンをシミュレートすることはできない。

理論だけが、これまでにみたことのない事象を検討するために必要な幅と深さをもっている。

(2)バックテストは、ある投資戦略が利益をあげられると示唆することはできても、その理由を教えてはくれない。

バックテストはコントロールされた実験ではない。理論だけが囚米関係のメカニズムを解説でき、事実および反事実の独立テストが可能な広範と含意を形成できる。

これらの含意のなかには、投資行動の領域外でも検証可能なものもある。たとえば、VPIN理論は持続的な注文フローの不均衡のもとでは、マーケットメーカーはストップアウトに苦しむだろうと予測した。

これを検証するために、注文フローの不均衡が流動性の低下を引き起こすかどうかを検証する以外にも、フラッシュ・クラッシュの際にマーケットメーカーが損失を被ったかどうかを検証することができる。

後者の検証は、取引所の価格や気配値の記録に含まれる証拠とは別に、財務諸表を確認することで行うことができる。