Overfitting(過学習)についてしっかり理解しよう【数式なし】

臨床研究をやってまず注意されることがoverfitting。

「Overfitを避けるため、ロジスティック回帰に入れられる因子はアウトカムの個数÷10まで」とか教えられます。

しかしそもそもOverfittingとは何か、学ぶ機会はほとんどありません。

そして、なぜoverfittingが生じるか、その結果どうなるか。

この記事では、これら非常に重要なポイントを説明します。

*こてこての統計の内容ですが、数式無しで解説しました。

 

 

Overfittingについてしっかり理解しよう

Overfittingについてしっかり理解しよう

そもそもoverfittingって何か、一言で言ってみます。

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

 

******

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

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

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

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

 

これがoverfittingです

このThe Washington Post誌の記事に、overfittingについて漫画で説明されています。大統領選の勝者の予測について。面白いので一読をおすすめします。

 

*******

さて。

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

集められる患者数=サンプル数なんてたかがしれています。

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

 

この記事では、

・何が原因でoverfittingが生じるか

・overfittingの結果どういう問題が生じるか

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

 

*この記事は予測モデルに関する話です。因果推論とは、少し異なります。しかし、overfittingに関して、その統計的な意味合いがわかる記事となっています。

 

 

何が原因でoverfittingが生じるか

2つ原因があります。

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

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

 

それぞれ、

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

・Optimism

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

 

この2つ、みていきましょう!

 

 

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

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

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

という方。

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

 

*******

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

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

するとどうなるか。

p<0.05を基準とすれば、20個の内一つは、有意に死亡と関連しますよね。

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

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

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

でもそれが通用するのはそのデータ内だけの話。明らかに真実は異なりますよね。

(univariate screeningを想定しています)

 

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

より一般的に言えば、

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

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

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

 

このバイアスをこう呼びます:

Testimation bias(testしてからestimateして生じるバイアスだから)

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

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

 

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

秋学期の期末試験で、あるクラスでトップ10%の集団を考えます。彼らは冬の期末試験でもトップ10%を維持するか?少なくとも、その集団の何人かは平均に近づきますよね、ほぼ確実に。これがregression to the meanです。つまり、その因子がoutlier(トップ10%とかp<0.05とか)であるのは「たまたま」であるため、検定を繰り返すとoutlierから外れる、という事です。

 

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

 

********

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

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

例えば:

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

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

✔interactionを入れるか

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

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

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

 

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

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

この解決方法は違う記事で解説します。

 

 

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

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

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

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

 

これは、モデルの因子それぞれのβに「Standard Error」がある事(当然ですよね)から推察されます。

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

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

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

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

 

 

このバイアスはOptimism(モデルが楽観的すぎる;他のデータには通用しない)と言われます。

よく巷でいう「overfitting」です。

 

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

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

シミュレーションしてみると、「予測因子×10以上のサンプル数」がある場合、このバイアスが大きな問題でなくなることがわかります。

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

 

 

結論

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

原因は2つあり、

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

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

ではまた。

-疫学・臨床研究

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