過学習(Overfitting)とその対策【数式なしで解説】

過学習(overfitting)とは何か、なぜ生じるか、その結果どうなるか。

対策法は何か。

これを「数式なし」で解説してみました。

よく言われる

「過学習を避けるため、ロジスティック回帰に入れられる因子はアウトカムの個数÷10まで」

などの理論背景がわかります。

 

 

過学習(Overfitting)とその対策【数式なしで解説】

過学習(Overfitting)とその対策【数式なしで解説】

そもそも過学習(overfitting)とは何でしょう。

一言で言うとこうなります:

「予測モデルの性能が良すぎてしまい、そのデータでしか通用しないモデルとなってしまうこと」

 

******

アメリカンフットボールの全国大会、Super Bowlでの勝者により、その年の経済がどうなるか、かなり強力に予測されます

National football league (NFL)のチームが勝つと、以降の経済成長率は14%上回り、

American football league (AFL)のチームが勝つと、10%低下する。

これが偶然である確率(p値)はなんと470万分の1である。

 

これが過学習です

この論調は因果関係を意図していますが、因果関係なわけがないですね。

 

そのデータ(今まででは、ということ)でしか通用しない解析結果なわけです。

知りたいのは「一般化されうる結果」ですよね。

 

このThe Washington Post誌の記事に、overfittingについて漫画で説明されています。

大統領選の勝者の予測について。

面白いので一読をおすすめします。

 

*******

 

さて。

研究においては、この問題は常につきまといます。

集められるサンプル数(臨床研究では患者数)なんてたかがしれています。

一方、予測の候補となる特徴量はかなり多い。

 

この記事では、

・何が原因で過学習が生じるか

・過学習の結果どういう問題が生じるか

ということを、数式なしで説明していきます。

 

*以下、予測モデルに関する話です。因果推論とは、少し異なります(研究の多くは因果推論です)。

しかし、過学習に関して、その統計的な意味合いがわかるかと思います。

 

 

何が原因で過学習が生じるか

2つ原因があります。

・モデルが不確かであること

・モデルのパラメータが不確かであること

 

それぞれ、

・Testimation bias(Winner’s curse, regression to the mean)

・Optimism

というバイアスに繋がります。

 

この2つを理解することから始まります。

それぞれ解説していきます。

 

*なお、「バイアス」と言う言葉が意味するものは、学問によって異なります。

ここでは、「真の(一般化されうる)予測性能からの乖離」を意味しています。

 

 

原因1:モデルが不確かであること

Testimation bias:モデルが不確かであること

どのようなモデルを使うか、解析する前に予め決めておかないといけない、という事です。

でも研究では、データが揃ってからモデルの変数を決めること、普通にありますよ?

とおっしゃる方。

それが間違っているのです。。。。。。。

 

 

全く関係ない因子でも予測因子となりうる話

例えば、あるアウトカム(院内死亡)を予測するモデルを作りたいとします。

手元には、本当は全く関係ないと言い切れる因子(その日の服の色が黒、名前の頭文字がAである、など)が20個もあります。

するとどうなるか。

例えばp<0.05で「有意に関連する」と考えることにします(p値についての解説はこちら

これを基準とすれば、かなりの確率で20個の内一つは有意に死亡と関連しますよね。

 

もしその因子(例えば服の色)をモデルに入れたらどうなるか。

服の色が死亡を予測するモデルができてしまいます!!!!

つまり、その因子によりアウトカムがover-estimateされてしまうのです。

 

でもそれが通用するのはそのデータ内だけの話。

→明らかに真実は異なりますよね。

明らかにバイアスが生じています。

 

これが「Testimation bias」

これが「モデルが不確かである」ためのバイアスです。

統計的な解析結果(test)を基にモデルを作っている(estimation)ことによるバイアス(bias)

なので、

Testimation bias

と呼ばれたりします。

 

Univariate screeningを想定して(この記事参照)、

より一般的に言えば:

・b (coefficient)がp<0.05なら、b=b

・bがp≥0.05 なら、b=0

という、明らかに正当性の無い操作を行っており、そのためバイアスが生じています。

 

このバイアス、他にもこんな言い方があります:

Winner’s curse(p<0.05で”勝った”因子は必ずバイアスされている、という呪い)

✅Regression to the mean(その一回のp<0.05はたまたまだ、というニュアンス)

 

Regression to the meanはとても重要な概念なので、詳細に解説します。

👇

 

「Regression to the mean」のニュアンス

Regression to the meanは、本来は次のような考えです。

具体例が一番わかりやすいです。

 

秋学期の期末試験で、あるクラスでトップ10%の集団を考えます。

彼らは冬の期末試験でもトップ10%を維持するか?

少なくとも、その集団の何人かは平均に近づきますよね、ほぼ確実に。

たまたま高得点だった人がいるから。

そして、その逆もしかり(たまたま低得点だった人は平均に近づく)

→これがregression to the meanです。

 

つまり、

その因子がoutlier(トップ10%とかp<0.05とか)であるのは「たまたま」であるため、検定を繰り返すと(他のデータで確かめると)outlierから外れる(=強い予測因子でなくなる)

という事です。

 

よって、

P<0.05というたまたまな観測結果をもとにモデルを組むと、そのモデルは妥当性がない=Tesimation biasとなる

ということになります。

 

*この事をselection bias(モデルに含まれる因子を選択する過程でバイアスが生じること)とも言いますが、いわゆる疫学のselection bias(collidor bias)とは意味合いが異なります。

「バイアス」という言葉は学問によって意味が全然違うので、非常に紛らわしいのです。。。。

疫学的な定義についてはこちら

 

 

モデルにつかう予測因子は「前もって」決めるべき

モデルの構築過程で統計検定を使うことで、モデルは信頼性が低くなってしまうのです。

 

これはどんな状況にも言えます。

例えば:

✅連続変数について、その2乗の変数を入れるか(linearityにflexibilityを加えるため)

→その2乗の変数がp≥0.05だから入れない、というのはtestimation biasです。

✅interactionを入れるか

→そのinteraction termがp≥0.05だから入れない、というのはtestimation biasです。

✅連続変数をROCのbest cutoffで0-1のカテゴリ変数として使う

→その統計操作が、普通再現性がありません。

 

つまり「モデルが前もって決められている」以外、必ずバイアスが生じてしまうのです!!

これをはっきり認識しておきましょう。

 

でも多くの場合、モデルを前もって決めること、できませんよね。

この解決方法が、いわゆる「internal validation」になります。

詳細はこちらにて。

 

 

原因2:モデルのパラメータが不確かであること

Optimism:モデルのパラメータが不確かであること

では、もしモデルが仮に正確に前もって決められていたら?

残念ながら、なんとそれでもバイアスが生じてしまうのです!!!!!

(モデルに複数の因子が含まれる場合)

 

これは、「統計モデル」自体が内包するlimitationです。

 

 

全てのモデルは不確実である

統計モデルの因子、それぞれのβに「Standard Error」があります。

(当然ですよね)

これはそれぞれのβ(パラメータ)に不確実性がある事を意味しています。

 

そして当然ですが、βが大きいほどStandard Errorが大きい。

つまり、より強い予測因子がより強くバイアスされうるのです。

*Regression to the meanの例でもあります。

 

つまり、

強力に予測されている因子ほど、その影響度合いが過大評価されている可能性が高い

というバイアスが生じているのです!!!

 

 

Optimism:サンプル数が重要

このバイアスは

Optimism(モデルが楽観的すぎる;他のデータには通用しない)

と言われます。

「overfitting」は、よくこのことを指して使われます。

 

当然ですが、サンプル数が増えればβのStandard Errorは減りますね。

つまりサンプル数が大きければ、このバイアスは弱くなります

 

ざっくりシミュレーションしてみると、

「予測因子×10以上のサンプル数」がある場合、このバイアスが大きな問題でなくなる

ことがわかります。

 

理論をかっ飛ばして、この事実が広く知れ渡っているのでした。

 

*これは「external validation」で対応すべき問題です。

詳細はこちらの記事にて

 

 

結論

過学習(Overfitting)とは、モデルがそのデータに適合しすぎてしまい、異なるデータでの予測パフォーマンスが落ちることを言います。

原因は2つあり、

・モデルが不確かであること → Testimation biasが生じる

・モデルのパラメータが不確かであること → Optimismが生じる

ではまた。

-疫学・臨床研究

Copyright© Riklog , 2021 All Rights Reserved Powered by AFFINGER5.