臨床研究をやってまず注意されることがoverfitting。
「Overfitを避けるため、ロジスティック回帰に入れられる因子はアウトカムの個数÷10まで」とか教えられます。
しかしそもそも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が生じる
ではまた。