「ブートストラップ検証」(別名「相互検証の再サンプリング」)の手順は何ですか?


15

「ブートストラップ検証」/「相互検証の再サンプリング」は私にとっては新しいものですが、この質問に対する答えで議論されました。私が収集するのは、2種類のデータです:実データとシミュレートデータ。シミュレートデータが実データと同じサイズになるまで、置換によるリサンプリングによって実データから与えられたシミュレートデータのセットが生成されます。そのようなデータ型を使用するための2つのアプローチを考えることができます。(2)多くのシミュレートされたデータセットのそれぞれを使用してモデルを何度も適合させ、毎回それを実際のデータに対して評価します。どちらが最適ですか?

回答:


20

短い答え:両方の検証手法には、多数のモデルのトレーニングとテストが含まれます。

最善の方法についての長い答え:それはもちろん異なります。しかし、ここで、リサンプリング検証に関する決定を導くために使用するいくつかの考えを示します。私はケモメトリックスなので、これらの戦略と用語は、分析化学の問題と多少なりとも密接に関連しています。

私の考えを少し説明すると、検証はモデルの品質を測定し、トレーニングはモデルのパラメーターを測定するものだと考えています。

検証に関して、これらのアプローチには2つの異なる視点があります。

  1. リサンプリング検証の従来の観点は次のとおりです。リサンプリングされたデータセット(サロゲートデータセットまたはサブセットと呼ばれることもあります)は、実際には元の(実際の)データセットと同じです。
    したがって、サロゲートデータセットに適合する「サロゲートモデル」は、実際のデータセット全体に適合するモデルと実質的に同じです。ただし、サロゲートデータセットから除外されたサンプルもあり、モデルはこれらに依存しません。したがって、サロゲートモデルの独立した検証セットとしてこれらの除外されたサンプルまたはブートストラップ外のサンプルを取得し、その結果をデータモデル全体の近似として使用します。
    ただし、サロゲートモデルは多くの場合、データ全体モデルと実際には同等ではありません。トレーニングに使用されるサンプルが少なくなります(ブートストラップでも、異なるサンプルの数は少なくなります)。学習曲線が増加している限り、サロゲートモデルは、データモデル全体よりも平均して少し悪くなります。これは、リサンプリング検証のよく知られている悲観的なバイアスです(楽観的なバイアスに陥った場合、通常は、左から左へのテストセットがモデルから独立していないことを示します)。

  2. 2番目の観点は、リサンプリングされたデータセットがデータセット全体の摂動バージョンであることです。サロゲートモデル(または左/アウトサンプルの予測)がデータモデル全体とどのように異なるかを調べると、トレーニングデータに関するモデルの安定性について何かがわかります。
    この観点から、代理モデルは繰り返し測定のようなものです。あなたの仕事は、一連の鉱石全体の鉱物の含有量を測定することだとしましょう。鉱石は均質ではありません。そのため、さまざまな場所から物理的なサンプルを取得し、全体のコンテンツと列車全体の変化を調べます。同様に、モデルが安定していないと思われる場合は、サロゲートモデルの全体的なパフォーマンスとバリエーションを確認できます。

さらに考えてみると、アプローチ(1)は、サイズ異なるサンプルで同じモデルの予測がどれだけ変化するかについて何かを伝えます。あなたのアプローチ(2)は、通常のアプローチに近いものです。しかし、Momoがすでに書いたように、検証では通常、未知のケースのパフォーマンスを測定する必要があります。したがって、モデルがすでに知っているケースではテストが行われないように注意する必要があります。つまり、除外されたケースのみがテストされます。これは何度も繰り返されます(各モデルは異なるケースのセットを除外します)(a)測定し、(b)有限(小さい)サンプルサイズによる変動を可能な限り平均化する(テストとトレーニングの両方) 。n
通常、ケースをリサンプリングします。たとえば、1つのケース= 1人の患者のすべての測定値です。アウトオブバッグは、トレーニングデータで測定が行われないすべての患者です。これは、あるケースの測定値が他のケースの測定値よりも互いに類似していることがわかっている場合(または、少なくともこの可能性を除外できない場合)に役立ちます。

再サンプリング検証では、未知のサンプルのパフォーマンスを測定できるわけではありません。さらに、未知の将来のサンプル(機器のドリフト!)のパフォーマンスを測定する場合、「将来」、つまりすべてのトレーニングサンプルが測定された後の特定の時間に測定されるテストセットが必要です。分析化学では、たとえば、機器のキャリブレーションをやり直す必要がある頻度を確認する場合(各測定について、毎日、毎週、毎月、...)

ブートストラップとクロス検証の用語

  • 置換によるリサンプリングはしばしばブートストラップと呼ばれ、
  • 交換の相互検証なしのリサンプリング。

両方とも、ある種の層別化を持つことができます。歴史的に、クロス検証(少なくともケモメトリックス)の分割は、非ランダムな方法で行われることが多くありました。ケース(物理サンプル)が非常に少なく、データ範囲全体がカバーされていることを確認したい場合の回帰。

両方の手法は通常、何度も繰り返されたり繰り返されたりします。繰り返しますが、少なくともケモメトリックスの歴史的な理由から、k-fold cross validationは、多くの場合、kモデルのトレーニングとテストを意味します(それぞれ、トレーニングに関係しないデータの1 / kでテストされます)。このようなランダムな分割が繰り返される場合、人々はそれを反復または交差検証と呼びます。

kknnn

  • ブートストラップは、重複する測定値を最初に削除する一部のモデル近似手法には適していません。
  • ブートストラップには、.632-bootstrapや.632 + -bootstrapなど、いくつかのバリエーションがあります

kk


長い答えはいいですね。
モモ

(+1)素晴らしい展望。サロゲートという用語が続くと確信しています。
ステフェン

@steffen、ありがとう。私は決してこの用語の発明者ではありません。私は最初にU. Braga-Netoの論文(おそらくこれ:ncbi.nlm.nih.gov/pubmed/14960464)で出会ったと思いますが、私はその用語をすぐに確信しました...
cbeleitesはMonica

シミュレートされたデータに関する質問の発言について。ブートストラップ自体には、シミュレートされたデータは含まれません。シミュレーションデータは、ブートストラップメソッドが特定の問題で機能するかどうかを評価する方法として使用されます。ただし、ブートストラップ自体は、ブートストラップサンプルに基づいたデータの再利用にすぎません。元のデータセットからの置換でランダムに選択されたサンプル。これには通常、n個のリサンプルを取得する必要があります。nは元のサンプルのサイズです。モンテカルロは、コンピューター上で実際にブートストラップサンプルを生成することにより、ブートストラップ分布を近似する方法に入ります。
マイケルR.チャーニック

3

「ベスト」については知りません(おそらく、使用目的に依存します)が、ブートストラップ検証を使用して、次の方法(必要に応じて3番目の方法)で新しいデータのエラーを推定します。

  1. 元のデータ(サイズN)からN個の観測値のトレーニングセットを置き換えて描画します。
  2. モデルをトレーニングデータに適合させます。
  3. out-of-bag(oob)サンプルでモデルを評価します

袋から出ているものが常に明確に定義されているわけではありません。多くの場合、トレーニングセットの一部ではなかったすべての観察結果です。より厳密なのは、トレーニングセットの一部ではない予測ベクトル全体を実現するoobサンプルにのみ観測を含めることです(多くの要因がある場合に特に便利です)。さらに厳密なのは、モデルで選択された予測子で予測子変数の実現が異なる観測のみを含むoobサンプルを使用することです(特に、ツリーなどの変数選択手順でモデルが見つかった場合に便利です)。

次に、これを通常k回繰り返し、k倍の結果を集計します(平均値または中央値、または便利な統計値)。この方法で選択されたモデルは、(オプション2のように)データセット全体に適合させて、過剰適合の傾向があるかどうかをさらに測定できます(パフォーマンス測定値はブートストラップサンプルからそれほど離れてはいけません)。

モデルまたはパラメーターグリッドなどがさらにある場合は、それらをすべて各トレーニングセットに合わせて、すべてのoobサンプルで評価します。トレーニングセットを2回使用せずに、すべてのモデルまたはチューニングパラメーターの組み合わせで新しいトレーニング/オーブペアを描画することもできます。

たとえば、ベンチマーク実験の設計と分析を参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.