目次
あわせて読みたい
【感想あり】おすすめのUdemy動画講座:機械学習・データサイエンスに必要な数学とPythonの入門編【随時更新】 | Quant College
【感想あり】おすすめのUdemy動画講座:機械学習編【随時更新】 | Quant College
はじめに
『ファイナンス機械学習 』著者のMarcos Lopez de Prado氏が自身のサイトで『ファイナンス機械学習』に関する講義スライドを全編無料公開している。
『ファイナンス機械学習 』については、
botter界隈やシストレ界隈では
・『ファイナンス機械学習 』を抱いて寝る人
・『ファイナンス機械学習 』を枕にして寝る人
・『ファイナンス機械学習 』で枕投げをする人
が続出しているらしく?、
幅広く読まれているようだ。
このシリーズ記事では、 著者の了解を得て、上記の講義スライドを日本語でまとめる。 英語だとどうしても読むのに時間がかかったりエネルギーを多く使ってしまう、という方向け。全10回あるが、今回はその第2回のスライドを取り上げる。ログインのような画面になる場合は、メールアドレスとパスワードを入力してSSRNのアカウントを作ればダウンロードできる。
本記事はQuantCollege管理人の学習メモであり、
管理人は必ずしもこの分野の専門家ではない点につきご留意頂きたい。
参考文献
ファイナンス機械学習の続編とも言われている、同じ著者の新しい本はこちら。
(2020/11/12更新) ついに和訳版も出たようだ。
ファイナンス機械学習とその原著はこちら。
関連記事
第1回のスライドをまとめた記事はこちら。
第2回のスライドに書かれていること
第2回のスライドでは、 過学習(オーバーフィッティング)の問題と対処法が書かれている。途中では、伝統的な統計学・計量経済学でのオーバーフィッティングの対処法が不十分であることに触れてから、機械学習での有効な対処法が説明されている。
誇大広告の向こう側を見る (p2)
- ファイナンス機械学習 (Financial ML) はデータから洞察を得る:
- 高次元の空間における非線形の関係をモデリング
- 非構造化(非同期、カテゴリカル)データを分析
- 複雑な相互作用(階層的、ノンパラメトリック)を持つパターンを学習
- パラメトリックな判定を超えて、予測能力にフォーカスする
- 過学習をコントロールする(early stopping, cross-validation)
- 同時に、ファイナンスはプラグアンドプレイな分野ではない
- 金融データのモデリングは車の運転や顔認証よりも難しい
- 機械学習アルゴリズムは、たとえ(有益な)パターンがデータになかったとしても、何かしらのパターンを常に見つける
- このプレゼンでは、ファイナンス機械学習における重要な応用をいくつかレビューする
訳者コメント
「プラグアンドプレイ」という用語がよく出てくるが、これは元々、例えば「PC機器をPC本体につなげばすぐ使える」というような意味で、「即戦力」とも訳されるようだが、このスライドでは「あるデータでパフォーマンスが良かったモデルをそのまま他のデータに適用してもうまくいかない」という感じの意味だろう。
機械学習とは?
機械学習とは? (p4 – p5)
- 機械学習は、明確な指示を受けることなく、高次元データから、複雑なパターンを学習する。
- この文章を分解すると:
- 明確な指示を受けることなく学習する:
- 他の経験的な方法とは異なり、研究者はデータに特定の構造を課すのではなく、データに話をさせる
- 複雑なパターンを学習する:
- 数えられるほどの数式では容易に表現できないようなパターンを学習できるかもしれない
- 高次元データから学習する:
- 解決策としては、大量の変数とその間の相互作用が含まれる
- 明確な指示を受けることなく学習する:
- 1000 x 1000の相関行列を考える。クラスタリングのアルゴリズムは3つのブロックに分かれることを見つける:高相関、低相関、無相関
簡単な例:タイタニック号での生存率 (p6)
訳者コメント
これは有名な例なので説明不要だろう。
ポイントは、
機械学習は指示されなくても、重要な変数が性別、チケットクラス、年齢の3つであると特定し、それらの重要度の違いを見つける。
すなわち、生存率に与える影響が大きいのは性別、チケットクラス、年齢であり、そこには階層構造があって、生存するためには女性であることが、若いとかファーストクラスであることよりも重要、ということがわかる。
タイムライン (p7)
訳者コメント
機械学習の歴史が書かれているだけなので省略。
機械学習はブラックスワンを予測できるか? (p8)
- ブラックスワンとは、過去には観測されなかった極端なイベントのこと。例えば、2010年5月6日の「フラッシュクラッシュ」
- フラッシュクラッシュに関する公式調査では、75,000ものE-mini S&P 500 先物を売るオーダーがおそらく原因だろう、ということがわかった
- 大量のオーダーによって、オーダーフローの不均衡が長時間生じ、マーケットメーカーのストップロスを次々に誘発、bidに誰もいなくなるまでそれが続いた
- オーダーフローの不均衡はよくあることだが、それが続く期間は様々。10%の価格急落はブラックスワンだが、その原因はマイクロストラクチャー理論では知られていること。
- 結論:ブラックスワンは、アルゴリズムでは予測できないが、理論では予測できる
- 系 (Corollary):機械学習は理論を開発するために使い、(アルゴリズムではなく)その理論に予測をさせるべき
ファイナンス機械学習の応用例
1.価格の予測 (p11)
- 機械学習による方法は、広く受け入れられている6つか7つの経済ファクター間の、複雑な関係をモデリングすることを可能にする。例えば、
- 非線形の関係
- 閾値 (Threshold) の関係
- 階層的な関係
- カテゴリカルな変数
- 未知の定式化
- 相互作用効果
- 制御変数
- 計量経済学による方法は、複雑な関係を認識できないため、結果が劣る
2.ヘッジング (p12)
- 解析的なヘッジは、市場に摩擦があると問題を生じさせる。市場の摩擦とは例えば、取引コスト、マーケットインパクト、流動性制約、リスクリミットなど
- 強化学習アプローチは、Greeks(リスク指標、感応度)を使わず、(プライシング)モデルも使わない。純粋に経験的で、理論的な仮定はほとんど使わない
- このようなモデルは、ヘッジの意思決定時により多くの変数やデータポイントを考慮に入れて、より正確なヘッジをより高速に行うことができる
訳者コメント
これはDeep Hedgingと呼ばれるもので、大手米銀がエクイティ商品に応用していることで話題になった。本サイトの過去記事を参照のこと。
3.ポートフォリオ構築/リスク分析 (p13)
- 多くの会社が平均分散ポートフォリオ最適化 (MVO) で何兆ドルもの資産配分をしている
- MVOは out-of-sample ではナイーブなアロケーション方法(等額配分 = 1/N)よりパフォーマンスが悪いことが広く知られている
- 対照的に、機械学習による方法はMVO(と等額配分)をアウトパフォームし、シャープレシオは31%以上改善する
- 共分散ベースのモデルでは\(\frac{1}{2}N(N+1)\)個の変数について独立に推定する必要がある
- 機械学習モデルは\(N-1\)個の階層的な推定をするだけでよいので、よりロバストで信頼性が高い
4.構造変化/外れ値の検知 (p14)
- クロスセクションの研究は外れ値の存在に対して特にセンシティブである
- 外れ値がデータ全体のうち少ししかなくても、間違ったシグナルを多く発生させてしまう:
- 売るべきものを買ってしまう(false positives)
- 買うべきものを売ってしまう (false negatives)
- このグラフでは、外れ値が全体のごく一部(たった5%)の場合に、クロスセクションの証券について回帰を行ったもの:
- 赤い点は割高なのに、回帰では間違って割安と分類された証券
- 緑の点は割安なのに、回帰では間違って割高と分類された証券
- たった5%しか外れ値がなくても、クロスセクション回帰は34%も分類を間違っている
- それに対して、RANSACによる分類は1%しか間違っておらず、その1%というのもボーダーライン上の(分類がきわどい)ケースのみ
- データに外れ値が存在すると考えられる場合は常に、RANSACか、それと似た機械学習メソッドを考えてみるのがよい
5.賭け金の決定 (Bet Sizing) /Alpha Capture (p16)
- 買うか売るかを決定するモデルを持っているとする
- 掛け金を学習する必要がある。全く賭けない(ゼロサイズ)という可能性も含まれる。
- このような状況は実務家がよく出くわす。商品を買いたいか売りたいかはわかっていることが多く、残っている質問は、いくらの金額をその賭けに使うか、というだけ。
- メタラベリング:1つ目のモデルの結果を1(利食い)か0(損切り)とラベリング
- メタラベリングは、1つ目の外部モデルの使い方を学習する2つ目の機械学習モデルを作る
- 2つ目のモデルはサイドは学習せずに、サイズだけを学習する
- F1値を最大化できる
訳者コメント
(1)サイドを学習するモデル
(2)サイズを学習するモデル
を分ける。
(2)のモデルは(1)の使い方を学習する。
既にラベル付けされているものをラベル付けするからメタラベリング。
6.特徴量重要度 (p17)
- 機械学習アルゴリズムは高次元空間でのパターンを特定する
- これらのパターンは特徴量と結果を関連づける
- その関係の性質は極めて複雑だが、どの特徴量がより重要なのかを常に研究できる
- 例えば、機械学習アルゴリズムが、ニュートンの万有引力の法則の解析式を導出できなかったとしても、質量と距離が重要な特徴量だと教えてくれる
- 伝統的な統計分析では、モデルの定式化を誤っていることが原因で、 重要な特徴量は見落とされることが多い
- 機械学習による分析では、解析的な定式化をあきらめる代わりに、どの変数が予測に重要なのかを特定する
- 重要なファクターが何なのか (What) がわかってしまえば、(それを使って)どのように予測するか(How) の理論は開発できる
7.信用格付け、アナリストによる推奨 (p18)
- 株アナリストは多くのモデルとヒューリスティックを使って信用格付けや投資推奨の格付けを作っている
- これらの意思決定は全くデタラメではなく、複雑なロジックによるもので、少数のシンプルな公式やきちんと定義できるような手順では、表現できない
- 機械学習アルゴリズムは、銀行にいるアナリストや信用格付け会社が作るレコメンドのうち、多くを複製することに成功している
- 図示したムーディーズの例では、
- 左の図は債券を2つの特徴量 (X, Y) の関数とした散布図である。デフォルトは赤い点で示している
- 中央の図から、伝統的な計量経済学の方法は、この複雑で非線形な関係をモデリングできていないことがわかる
- 右の図から、シンプルな機械学習アルゴリズム (Random Forest) が上手く機能していることがわかる
訳者コメント
左の図では、変数Xと変数Yに関する散布図では、デフォルトするケースが1つの領域に固まっているのではなく、多くの場所に点在している。
中央の図では、計量経済モデルだと2つの領域にパックリ分けてしまっている。
右の図は、赤い点が左の図とほぼ同じ場所にある。デフォルトするケースを複製できていることがわかる。
8.非構造化データ (p19)
- 以下のプロットでは、アルゴリズムがTesla社に関連する情報を含むニュース記事を特定している
- 青の棒グラフ:記事の合計数を日次でカウント。平均は1日につき458記事、最大はおよそ5000記事
- 緑の棒グラフ:ポジティブなセンチメントを示している記事の数を日次でカウントしたもの
- 赤の棒グラフ:ネガティブなセンチメントを示している記事の数を日次でカウントしたもの
9.取引執行 (p20)
- クレジット商品は
- 相対で取引される
- 他の商品と比べて流動性がない(何日も、あるいは何週間も取引されないこともある)
- カーネルベースの方法は、共通の特徴に基づいて「似た」取引を特定する
- 一連の共通の取引によって、理論価格を導出できる
- ある債券を買おうとする場合、以前の「似た」債券よりも高い価格なら、その取引をやめることができる
- この図は買い(緑)と売り(赤)の取引の効率性を示したもの
- 買いは、offerプライスなら効率性0、bidプライスなら効率性100
- 売りは、bidプライスなら効率性0、offerプライスなら効率性100
- 買いも売りも、midプライスなら効率性50
- この例では、ポートフォリオのリバランスは利益を生んでいる。なぜなら、bid-askスプレッドの約1/3をとらえている(価格では約50bps)
10.間違った投資戦略の検知 (p21)
- x軸は試行回数、y軸はシャープレシオの最大値 (max{SR}) の分布を示している
- 色が明るくなるほど、その結果を得る確率が高くなる。点線は期待値を示している
- 例えば、独立なバックテストを1,000回するだけで、シャープレシオ最大値の期待値は3.26となる。たとえその戦略の真のシャープレシオがゼロだったとしても。
- ほとんどのクオンツファンドは間違った発見に基づいて投資している
- 解決策:試行回数とその分散によって、シャープレシオをdeflateする(低めに見積もる)
- 左の図で、選択された戦略はクラスター2に属している。それを発見するのにかかった試行回数とその分散を考慮した後で見ても、シャープレシオがプラスになる確率はほぼ1になっている。したがって、バックテストがオーバーフィットしている可能性は低い
ファイナンス機械学習の危険性
「spilled samples」問題 (p23 – p24)
- ファイナンス分野以外の機械学習研究社はたいてい観測値がIID(独立同分布)過程から生成されたものと仮定する
- 例えば、多数の患者からサンプルした血液をもとに彼らのコレステロールを測定することを考える
- もちろん、様々な共通ファクターによって、コレステロールの分布の平均や標準偏差はシフトするが、サンプルはそれでも独立:一人の患者から一つの観測しかない
ファイナンス機械学習という特定の分野 (p25)
- 金融データには、標準的な機械学習の仮定と不整合な性質を持っている
- 機械学習アルゴは常に何かしらのパターンを見つける。パターンが存在していなかったとしても。
- 問題:非定常性と長期記憶
- 解決策:Fractional differentiation
- 問題:変化する情報到着率
- 解決策:Order imbalance bars
- 問題:結果が複数の観測値にまたがる
- 解決策:ユニークなウェイト付けをしたトリプルバリア法
- 問題:レジームスイッチ(構造変化)
- 解決策:構造変化法
- 問題:系列やクロスセクションの依存関係
- 解決策:K-fold CV with purging, embargoing
- 問題:バックテストにひとつの経路
- 解決策:Combinatorial cross-validation
- 問題:低S/N比 (signal/noise ratio)、バックテスト過学習
- 解決策:試行回数をコントロールしたDeflated Sharpe Ratio
オーバーフィッティング:原因と解決策
以下では過学習にフォーカスして説明されている。
キーポイント (後半のp2)
- 科学の分野では何十年もの間、機械学習 (ML) の方法の応用に成功してきた
- 近年、ファンドマネジャーは伝統的な統計手法(例:計量経済学)を、コンピューターを使った統計手法(例:機械学習)を使って置き換えたり補完してきた
- 有名なMLファームには、RenTec, Two Sigma, DE Shaw, TGS, Capital Fund Management などがある
- 伝統的な方法は過学習する傾向にある。その理由は:
- 訓練データの誤差推定に依存している
- 1回しか試行していないというと仮定している
- 間違った使い方をすると、MLにおける過学習のリスクは、伝統的な手法よりも大きい
- このプレゼンでは、過学習について、その原因と解決策を見ていく
オーバーフィッティングとは?
誤差の分解 (後半のp4)
- 結果 \(y\) を予測する関数 \(f[x]\) を考える。誤差 \(\epsilon = y – f[x]\) は予測不可能で、正規分布 \(N[0, \sigma_{\epsilon}^2 ]\) に従うとする
- 統計モデルは関数 \(f[x]\) を近似する関数 \( \hat{f}[x] \) を提示する
- 平均二乗誤差 (MSE) \( \mathbb{E}\left[ (y – \hat{f}[x] )^2 \right] \)は以下の合計に分解できる:
- バイアスの2乗:\( \mathbb{E} \left[ (f[x] – \hat{f}[x])^2 \right] \)
- バリアンス:\( \mathbb{V}[\hat{f} [x] ] \)
- ノイズ:\( \mathbb{V}[\epsilon] \)
訳者コメント
バイアスとバリアンスの違いは、元のスライドにある模式図がわかりやすい。現実の観測値の裏側に何かしら抽象的なデータ生成構造があるとして、その構造を式で書いたものが関数 \(f[x]\) である。しかし現実のデータはその抽象的な構造通りの値で観測されるわけではなく、ノイズが含まれる。さらにこの抽象的な構造である\(f[x]\)は観測できないため、それを目に見える関数で近似しようと考える。その近似した関数が \( \hat{f}[x] \) で、機械学習モデルを学習させて求めるのはこの近似関数の方である。そうすると、現実のデータからの誤差は、関数近似の誤差、近似関数の値、ノイズの値、の3つに分解される。ざっくりとしたイメージは、MSEはこれを二乗して期待値をとったものなので、分解した要素の分散たちが出てくることになる。
バイアスとバリアンスのトレードオフ (後半のp5)
- バイアスは \( \hat{f}[x] \) がデータにアンダーフィットすることで発生する
- モデルはシグナルをノイズだと勘違いしてしまう
- バリアンスは \( \hat{f}[x] \) がデータにオーバーフィットすることで発生する
- モデルはノイズをシグナルだと勘違いしてしまう
- 一般に、バイアスを減らすには、バリアンスを増やすという代償を払うしかない
- オーバーフィッティングはモデルのバリアンスを発生させる。なぜなら、1つのデータセットにオーバーフィットしたモデルは、それ以外のデータセットには一般化 (generalize) されないからである
- モデルはノイズまで予測しようとしてしまう
- 良い統計モデルは、バイアスとバリアンスの間で最適なバランスを見つけることによって、平均二乗誤差 (MSE) を最小化する
2種類のエラー (後半のp6)
- データセットを2つに分割できる
- 訓練データ:特徴量を選択してモデルパラメーターをフィットさせるのに使う
- これは検証データ (validation set)を含んでおり、最適なハイパーパラメーターを見つけるのに使う
- テストデータ:残しておくデータで、モデルをフィットさせるのには使わない
- 訓練データ:特徴量を選択してモデルパラメーターをフィットさせるのに使う
- 2つのin-sampleの誤差を推定できる
- 訓練データ誤差:訓練データ(モデルをフィットさせるのに使うのと同じデータ)で推定される誤差
- テストデータ誤差:テストデータで推定される誤差
- オーバーフィッティングは、これらの片方か両方の誤差を最小化しようとする際に発生する
- オーバーフィッティングの大きさは汎化誤差 (generalization error) で推定できる。汎化誤差は、モデル選択には使っていないデータでモデルを学習させた場合の誤差。
2種類のオーバーフィッティング
訓練データのオーバーフィッティング (後半のp8)
- 訓練データのオーバーフィッティングが起こるのは、
- 訓練データ誤差を最小化するようにモデルを選ぶ際であり、
- テストデータ誤差の高いバリアンスという代償を払う
- 訓練データのオーバーフィッティングはモデルの複雑さと関係している
- この過剰な複雑さは、シグナルにフィットしようとするのだが、結局はノイズにフィットしてしまう
- 訓練データのオーバーフィッティングは、テストデータでの汎化誤差を推定することで容易に対処できる。方法としては、
- リサンプリング手法(例:交差検証)
- モンテカルロ
- 解決策:モデルを単純化する; より多くのデータを準備する
- 右上のグラフは典型的なオーバーフィッティングの例で、複雑な多項式関数は訓練データの点を全て通る (perfect fit) 。なぜならモデルが全てのノイズまで説明してしまっているからだ。しかしそれはシンプルな直線と比べて、汎化性能が悪い
テストデータ(またはバックテスト)のオーバーフィッティング (後半のp9)
- テストデータのオーバーフィッティングが起こるのは、
- テストデータ誤差を最小化するようにモデルを選ぶ際であり、
- out-of-sample の高いバリアンスという代償を払う
- テストデータのオーバーフィッティングは、複数テストの下での選択バイアス (SBuMT : Selection Bias under Multiple Testing) と関連がある
- テストデータのオーバーフィッティングへの対処方法は、
- 未知のデータ (out-of-sample) での汎化誤差を推定する
- モデル選択時に行う独立な試行の回数と分散をコントロールする
- 解決策:
- 新しい(未知の)データセットでやり直す
- false positive (本当は効果がないのに効果があると判定されてしまう) 確率を調整する
- テストデータにオーバーフィットしている戦略は、未知のデータ (out-of-sample) に対してパフォーマンスが悪くなる。注意すべきなのは、この種類のオーバーフィッティングはモデルの複雑さとは全く関係がない、ということだ。
伝統的な統計手法
伝統的な統計手法とは何か? (後半のp11)
- 伝統的な統計手法はRonald Fisherが始めたリサーチプログラムに従っている
- リサーチャーのための統計手法 (1925)
- 実験のデザイン (1935)
- このプログラムは以下を基礎としている
- 相関、モーメント法
- フィットの程度、最尤推定
- 統計的有意性、仮説検定、p-値、ANOVA
- 強い仮定(漸近的な性質(サンプル数が増えると何かに収束)に必要となる)
- このプログラムは
- コンピューター時代以前に開発された
- Econometric Society (1930年創設) に採用された
- ポピュラーな計量経済学テキストのバックボーンとなっている
- ファイナンスのジャーナルが採用する/要求する規則となっている
- 経済学のジャーナルの掲載論文のうち機械学習関連の用語に言及しているものは1%未満しかない:classifier, clustering, neural network, machine learningなど
訓練データのオーバーフィッティング (後半のp12)
- 伝統的な統計モデルは訓練データのオーバーフィッティングに正則化で対処しようとする
- 複雑さに罰金を与える(例:自由度)
- 複雑さを軽減する(例:stepwise regression)
- しかし、伝統的なモデルは
- データを訓練データ、検証データ、テストデータに分割しない
- 汎化誤差を推定しない
- 訓練データは検証データでもあり、テストデータでもある
- その結果、伝統的な正則化は訓練データとテストデータのオーバーフィッティングを防ぐことができない
- Stepwise regressionは計量経済学のソフトウェアと論文でよく用いられており、モデルの複雑さを軽減することで訓練データのオーバーフィッティングを制限する。残念ながら、これによって間違いなく、計量経済モデルはテストデータのオーバーフィッティングに悩まされる
テストデータのオーバーフィッティング (後半のp13)
- 伝統的な統計モデルが考案されたのは
- コンピューターが発明される前(例:Pearson-Neyman Lemma (1933))
- 計算を回すのは1回のみ
- 伝統的な統計額はSBuMTをほとんどコントロールしない
- テストデータのオーバーフィッティングで一般的な例のひとつはp-hackingである
- 研究者は同じデータで統計的検定を何回も行う
- 各検定はfalse positive rateが5%ある(有意水準)
- これを繰り返すとfalse positive rateはすぐに100%に収束する(右上の図)
- false positive の確率は1回目の試行の後、すぐに上昇する。(\(\alpha[K] = 1 – (1 – \alpha [1] ) ^K \))ファイナンスのジャーナルの論文ではほぼ常に、その結果があたかも1回の試行だけで発見されたかのように報告されている。なぜなら、それが正しいことはほとんどなく、ファイナンスにおける発見のうち大半は間違っているからだ。
コンピューターベースの統計手法(ML)
機械学習とは何か? (後半のp15)
- 機械学習アルゴリズムは、明確に指示されなくとも、高次元空間での複雑なパターンを学習する
- 機械学習アルゴリズムは、数えるほどの数式では容易に表現できないようなパターンを見つける可能性がある
- 解決策としては、多くの変数とそれらの間の相互作用が関係している
- 他の経験的な手法とは違って、研究者はデータに特定の構造を仮定しない
- 機械学習アルゴリズムは、計算負荷の大きい手法に依存している。例えば、
- 汎化誤差の推定
- アンサンブル、ヒューリスティック
- 最小限の仮定しか置かない実験的な仮説検定
- 1000 x 1000の相関行列を考える。クラスタリングアルゴリズムを使うと、これが3つのブロックに分けられることがわかる:高相関、低相関、無相関
機械学習におけるオーバーフィッティングの解決策 (後半のp16)
- オーバーフィッティングのタイプごとに機械学習ではいくつか解決策がある
- 訓練データのオーバーフィッティングへの対処は
- アンサンブル手法
- 正則化手法
- 汎化誤差(テストデータ)
- テストデータのオーバーフィッティングへの対処は
- 全試行を報告する/コントロールする
- 汎化誤差(out-of-sample)
- これらのアプローチでは全て、伝統的な手法が開発された頃に活用できたものよりも、さらに多くの計算能力が求められる
- 上の図は、2種類のオーバーフィッティングを防ぐために設計された、様々な機械学習手法をまとめたもの
訓練データ:アンサンブル手法 (後半のp17)
- アンサンブル手法は、各々は弱いが互いに低相関な学習器を複数組み合わせることによって、各々の学習器よりもパフォーマンスの良い学習器を作るもの
- アンサンブル手法には主に3種類ある:
- バギング (Bootstrap Aggregation)
- ブースティング
- スタッキング
- 加えて、ハイブリッドな手法もある
- 例:ランダムフォレストはバギングをランダムな部分空間(各分割で特徴量を置換なしにランダムサンプリング)と組み合わせたもの
- たいていの機械学習アルゴリズムはアンサンブルの形で使える。例えば、適切に並列化すれば、計算時間の増加を最小限にしつつ、SVCアルゴリズムを “bagged” して訓練データのオーバーフィッティングを軽減できる。弱い分類器でも最低限の精度があれば、バギングでバイアスを減らすこともできる
訓練データ:正則化手法 (後半のp18)
- 正則化は、モデルに関する追加情報を取り入れることによってオーバーフィッティングを防ぐ
- この追加情報は、複雑さに対するペナルティの形をとる
- データにフィットさせる最適化アルゴリズムは、説明力がある程度向上すると保証されているなら、複雑さを増すだけ
- 正則化には主に3種類ある:
- Tikhonov:係数の\(L^2\)ノルム
- LASSO:係数の\(L^1\)ノルム
- Elastic Net:TikhonovとLASSOの組み合わせ
- \(L^1\)ノルムで定義される制約領域は、一部のウェイトをぴったりゼロにすることがよくある
- 一方で、\(L^2\)ノルムで定義される制約領域は、一部のウェイトをぴったりゼロにすることはほとんどない
- Elastic NetsはLASSOが持つ以下2つの限界を解決する:
- (a) 観測値よりも変数の方が多い場合にsaturateしない
- (b) マルチコになっている変数のうち1つを選んでその他を捨てる、ということをしない
訓練データ:汎化誤差 (後半のp19)
- 汎化誤差を推定する方法は主に2つある:リサンプリングとモンテカルロ
- リサンプリングは、観測されたデータセットからサンプリングすることにより、人工的なデータセットを生成する
- 決定論的なサンプリング(例:K-fold Cross Validation)
- ランダムサンプリング(例:ブートストラップ)
- モンテカルロはデータ生成プロセスを基にモンテカルロを走らせることによって、人工的なデータセットを生成する
- パラメトリック(例:レジームスイッチマルコフ連鎖)
- ノンパラメトリック(例:GAN)
テストデータ:全試行のコントロール (後半のp20)
- SBuMTはモデルパフォーマンスの統計をかさ上げする
- モデルはin-sampleデータと比べてout-of-sampleでのパフォーマンスが悪くなる
- 過大パフォーマンスをコントロールするアプローチは主に2つある
- パラメトリック:調整p-値を導出
- Family-wise error rate (FWER)
- False discovery rate (FDR)
- ノンパラメトリック:試行の数と分散をコントロールし、モデルパフォーマンスを割り引く
- 例:deflated Sharpe ratio (DSR)
- SBuMTに対処するノンパラメトリックな方法は、仮定をほとんど必要としないため、より信頼性が高い傾向にある
- パラメトリック:調整p-値を導出
テストデータ:汎化誤差 (後半のp21)
- 研究者が最終的なモデルを決定すると、未知のデータにおける汎化誤差をさらに推定できる
- それを行うために、訓練データの汎化誤差で説明したのと同じ手法を使って、新たに人工データを生成できる
- 例えば:
- Combinatorial cross-validationを使えば、
- 研究者が使ったものとは異なる、新しいテストデータを生成できる
- テストデータ誤差の(平均だけではなく)分布全体をブートストラップできる。分布全体は平均よりも過学習しにくい。
- モンテカルロ法を使えば、いくらでも大きいサイズの新しい(未知の)データセットを生み出すことができる
- Combinatorial cross-validationを使えば、
- Myriadは、ノンパラメトリックなモンテカルロツールの一例で、観測データと統計的特徴が同じ人口データセットを生成できる
結論 (後半のp22)
- 機械学習は使い方を誤ると、オーバーフィッティングのリスクが高い
- 機械学習のパワーを考えると、そのリスクは伝統的な統計手法よりも高い
- しかし、機械学習には、訓練データとテストデータのオーバーフィッティングを防ぐための、洗練された方法がある
- したがって、機械学習はオーバーフィットするというポピュラーな考え方は間違いである
- より正確な表現としては、
- 使い方を誤ると、機械学習はオーバーフィットする
- 正しく使うと、機械学習は伝統的な手法よりもオーバーフィットに対してロバストである
- 非構造化データのモデリングとなると、選択肢は機械学習しかない
- 伝統的な統計学は機械学習コースの準備として教えられるべきで、オーバーフィッティングの防止にフォーカスを当てるべき
参考文献
ファイナンス機械学習の続編とも言われている、同じ著者の新しい本はこちら。まだ翻訳版は出ていないようだ。
ファイナンス機械学習とその原著はこちら。
あわせて読みたい
【感想あり】おすすめのUdemy動画講座:機械学習・データサイエンスに必要な数学とPythonの入門編【随時更新】 | Quant College
【感想あり】おすすめのUdemy動画講座:機械学習編【随時更新】 | Quant College
金融工学関連でおすすめの本:まとめ(目次) | Quant College
関連記事
続きの第3回のスライドをまとめた記事はこちら。
第1回のスライドをまとめた記事はこちら。