検証とモデル選択のブートストラップについて


13

ブートストラップの基本がどのように機能するかは理解できていると思いますが、ブートストラップを使用してモデルを選択したり、過剰適合を回避したりする方法を理解できません。

たとえば、モデルの選択では、ブートストラップサンプル全体で最小のエラー(おそらく分散?)が得られるモデルを選択しますか?

モデルの選択または検証にブートストラップを使用する方法を説明するテキストはありますか?

編集:このスレッドの詳細と、この質問の背景にある詳細については@ mark999による回答をご覧ください。


@suncoolsuモデルA、B、およびCから選択する場合、通常、1)予測精度/ランキングに関心があり、2)十分なデータがない場合に、クロス検証またはブートストラップを使用してモデルを選択します検証セット。なぜこれが良いアイデアではないのでしょうか(そして、ネストされた検証が機能の選択などに重要であることを知っています)。
B_Miner

このスレッドの@ mark999による答えは、オーバーフィットに対処しながら、完全なデータセットでモデルを学習するためのソリューションとしてのブートストラップ検証を示唆しています。その答えがこの質問に大きな影響を与えた理由であり、そのスレッドの元の質問もこの質問にコンテキストを追加する必要があります。
アメリオバスケスレイナ

1
申し訳ありませんが、おそらくこれは私が統計学者であることですが、クロスバリデーションとブートストラップは2つの異なるものだと思います。相互検証は素晴らしいので、実行する必要があります(ブートストラップも同様)。ただし、A、B、C(3つのモデルのみ)を選択するようなシナリオの場合、BICの方が適している場合があります。私が言ったように、解決策は手元の問題に依存し、複数のアプローチが適切かもしれません。
-suncoolsu

2
一般的に、AICはBICよりも不足します。
フランクハレル

回答:


14

最初に、本当にモデル選択が必要か、または単にモデル化する必要があるかを決定する必要があります。大部分の状況では、次元に応じて、柔軟で包括的なモデルの適合が好まれます。

ブートストラップは、モデルのパフォーマンスを推定する優れた方法です。推定する最も簡単なことは分散です。ブートストラップは、元のポイントに加えて、まだ実現されていない新しいデータについて、特定のモデリング手順の将来のパフォーマンスを推定できます。

モデルチューニングパラメーターの選択とモデルの推定の両方にリサンプリング(ブートストラップまたはクロス検証)を使用する場合、ダブルブートストラップまたはネストされたクロス検証が必要になります。

一般に、ブートストラップは交差検定よりも少ないモデル近似(多くの場合300程度)を必要とします(安定性のために10倍の交差検定を50〜100回繰り返す必要があります)。

いくつかのシミュレーション研究はhttp://biostat.mc.vanderbilt.edu/rmsで見つけることができます


2
うわー、10倍のCVを50〜100回繰り返す必要があることを知りませんでした。最後のプロジェクトを再検討し、代わりにブートストラップテストを試行する必要があります。このウェブサイトが大好き:私は毎日何かを学びます!
ウェイン

ありがとう@Frank!パラメーターの数が同じ候補モデルのセットがあるとします。ブートストラップの推定値の分散が小さいモデルは、過剰適合と戦うためのより良い候補です(すべての損失またはリスクが同じであると仮定)。
アメリオバスケスレイナ

私はそれを仮定しませんが、可能です。
フランクハレル

素晴らしい答え、ありがとう!ブートストラップはモデル検証にも使用でき、クロス検証は何度も繰り返す必要があることを知りませんでした。この方法には別の利点があります。クロス検証では、フォールドの数を(主観的に)事前に決定する必要があります。通常は10で、最適ではなく多少ヒューリスティックです。しかし、これは素晴らしい方法ですが、なぜ相互検証ほど人気が​​ないように思われますか?
SiXUlm

ブートストラップモデルの検証はかなり一般的ですが、相互検証は以前から行われています。しかし、あなたが言ったように、cvの#フォールドの選択にはin意性があります。
フランクハレル

3

モデルの平均化にブートストラップを使用することを検討してください。

ブートストラップモデル平均化アプローチと(より一般的に使用されている)ベイジアンモデリング平均化を比較し、モデル平均化を実行するためのレシピを示しています。

粒子状物質の大気汚染と死亡率の時系列研究における平均化されたブートストラップモデル


ほとんどの場合、モデルの平均化にはブートストラップをお勧めしません。ブートストラップは、新しいプロシージャを作成する方法を伝えるのではなく、1つのモデリングプロシージャがどのように実行されるかを伝えるのに最適です。ただし、これには例外があります。
フランクハレル

@フランク・ハレル-同意しました。私が参照した論文は、私が時々働いている分野に適用され、あなたが述べたシナリオにブートストラップを使用しました:サンプリングエラーによる特定のモデルの変動性の評価。しかし、モデル選択自体による不確実性はさらに評価が難しく、ブートストラップモデル平均化アプローチは、特にベイジアンモデル平均化の問題を再定式化する経験/バックグラウンドを持たない私のような実務家にとっては役立つ可能性があります。
ジョシュヘマン

2
いいえ、ブートストラップは、モデルを事前に知らないことによって引き起こされる損害を評価するのに優れていると言えます。これは、不確実なモデルのセットの平均化など、物事を改善するために必ずしもブートストラップを使用する必要があることを意味しません。この方法でブートストラップを使用する必要がある場合、平均化されたモデルのパフォーマンスを正直に評価するには、ダブルブートストラップが必要です。ランダムフォレストは、ブートストラップを使用したモデル平均化の形式であることに注意してください。
フランクハレル

ダブルブートストラップの良い点。私が参照した論文の著者は、これに関するフォローアップ論文を持っています:大気汚染死亡研究のモデル選択におけるモデルの不確実性を低減するためのブートストラップ後のブートストラップモデル平均
ジョシュヘマン

良い。それはしばしばやり過ぎだということを覚えておいてください。多くの場合、主題駆動型の完全なモデルをポーズし、オーバーフィットする場合は収縮(ペナルティ)を使用するのが最善です。しかし、それはまだ1つのモデルです。
フランクハレル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.