k分割交差検定の分散推定


27

K分割交差検定を使用して、特定の分類器の一般化機能を推定できます。分散のより良い推定値を取得するために、すべての検証実行からプールされた分散を計算することもできますか?

そうでない場合、なぜですか?

クロス検証の実行全体でプールされた標準偏差を使用する論文を見つけました。また、検証分散の普遍的な推定量ないことを明示的に述べた論文を見つけました。しかし、一般化エラーの分散推定量を示す論文も見つけました(これを読んで理解しようとしています)。人々は実際に実際に何をする(または報告する)のか?

編集: CVを使用して大まかな分類エラーを測定する場合(つまり、サンプルに正しくラベルが付けられているか、ラベルが付けられていない、たとえばtrueまたはfalse)、プールされた分散について話すのは意味がない場合があります。ただし、推定している統計に分散が定義されている場合について説明しています。そのため、特定の分割について、統計値と分散推定値の両方が得られます。この情報を破棄して平均統計のみを考慮するのは適切ではないようです。そして、私はブートストラップ法を使用して分散推定値を作成できることを知っていますが(そうでない場合)、フォールド分散を無視し、統計推定値のみを考慮します(さらに多くの計算能力が必要です)。


2つの可能な方法を考慮して分散を計算し、それらが大きく異なるかどうかを確認しましたか?
-zeferino

はい、しました。いくつかの実験では、トレーニングサンプルの分散とプールされた分散の間で約1桁の変化がありました。検証サンプルに大きな違いはありませんでした。大きな変更は、精度の低いモデルに関連付けられているようです。
セザール

1
@Cesar:すばらしい観察:モデルは非常に不安定です(反復間の大きな分散)。分類では(分類子が推測よりも悪い場合を除き)、不安定な予測は誤った予測につながります。そのための例示的な考えは、正しい予測からの逸脱は常に「間違った」方向になり、低すぎて相殺される高すぎないことです。
cbeleitesは、モニカをサポートします

1
@cbeleites:大きな誤差の変化は、主に高いエラー率を示すモデルで発生するため、これはやや予想されないでしょうか?ところで、あなたの答えの素晴らしい更新。私はまだもっと注意深く読む必要がありますが、すでにとても感謝しています。ありがとう。
シーザー

1
@シーザー:Thx。確かにそれは予想されますが、比率の分散式であるとは言い難い方法です(私の答えを参照):真のエラー率が極端であるほど、分散は低くなり、最大分散はエラー率= 50%になります。
cbeleitesはモニカをサポートしています

回答:


13

非常に興味深い質問です。あなたが出した論文を読む必要があります...しかし、これは答えの方向に私たちを始めるでしょう。

私は通常、この問題に非常に実用的な方法で取り組んでいます。新しいランダム分割を使用してk分割交差検証を繰り返し、各反復で通常どおりパフォーマンスを計算します。そのため、テストサンプル全体は各反復で同じであり、違いはデータの異なる分割から生じます。

これは、たとえば、観測されたパフォーマンスの5〜95パーセンタイルとして報告します。最大交換nk1

サイドノート:私はとにかくサンプルサイズを必要とする数式を使用できません。私のデータは構造がクラスター化または階層化されているため(同じケースの多くの類似した、しかし繰り返されない測定、通常は同じ標本の数百の異なる場所)、有効なサンプルサイズがわかりません。

ブートストラップとの比較:

  • 反復は新しいランダム分割を使用します。

  • 主な違いは、リサンプリングの有無(ブートストラップ)と置換なし(cv)です。

  • ブートストラップは、いくつかの統計的性質の点でcvよりも利点があります(漸近的に正しい。おそらく、適切な推定値を得るために必要な反復回数が少ない)

  • ただし、cvを使用すると、次のことが保証されるという利点があります。

    • 個別のトレーニングサンプルの数はすべてのモデルで同じです(学習曲線を計算する場合に重要)
    • 各サンプルは各反復で1回だけテストされます
  • 一部の分類方法では繰り返しサンプルが破棄されるため、ブートストラップは意味をなしません

パフォーマンスの分散

簡単な答え:はい、{0,1}の結果のみが存在する状況での分散について話すのは理にかなっています。

二項分布を見てください(k =成功、n =テスト、p =成功の真の確率=平均k / n):

σ2(k)=np(1p)

pp^

  • フライス:レートとプロポーションの統計的手法
  • Forthofer and Lee:Biostatisticsには素晴らしい紹介があります。

p^=kn

σ2(p^)=p(1p)n

これは、分類器のパフォーマンスを測定するための不確実性が、テストされたモデルの真のパフォーマンスpとテストサンプルの数にのみ依存することを意味します。

クロス検証では、仮定します

  1. kの「代理」モデルは、通常すべてのサンプルから構築する「実際の」モデルと同じ真のパフォーマンスを備えています。(この仮定の内訳は、よく知られている悲観的なバイアスです)。

  2. kの「代理」モデルは同じ真のパフォーマンス(同等であり、安定した予測を持つ)であるため、kテストの結果をプールすることができます。
    もちろん、cvの1回の反復のk個の「代理」モデルだけでなく、k回のcvのi回の反復のkiモデルもプールできます。

なぜ反復するのですか?

反復が伝える主なことは、モデル(予測)の不安定性、つまり、同じサンプルに対する異なるモデルの予測の分散です。

p^

はい、これは重要な情報です。

nbootstrapkniter. cvn1nσ2(p^)=p(1p)n

pknp^n

モデルの不安定性を観察する場合、プールされた平均は実際のパフォーマンスのより良い推定値です。反復間の分散は重要な情報であり、サイズnのテストセットで予想される最小分散と、すべての反復にわたる真のパフォーマンス平均パフォーマンスと比較できます。


ブートストラップのように、新しいランダムなスプリットで置き換えますか?または、k倍交差検定を数回繰り返しますか?興味深いのは、ブートストラップのようには見えないが、そのように動作する可能性があるためです。しかし、何回レプリケーションを実行しますか?これは簡単に非常にコストがかかる可能性があります。
シーザー

@Cesar:ブートストラップに非常によく似ています。詳細な回答を参照してください。
cbeleitesはモニカをサポートしています

CVはどのようにして各モデルの「同数の個別のトレーニングサンプル」を残しますが、ブートストラップは残しませんか?私は従いません、CV「複製データセット」は観測の異なる組み合わせです-どうしてそれらは同じ数の異なる観測を提供できるのでしょうか?おそらく、元のトレーニングセットで各レコードが異なると仮定しているのでしょうか?
確率

@probabilityislogic:CVレプリケートデータセットは、元のデータセットより小さいです。したがって、交換せずにリサンプリングしても、このような異なる複製を作成できます。置換でリサンプリングすると、同じレコードを数回描画できます。したがって、一意のレコードの数は異なる場合があります。はい、元のレコードは別個のものであると想定しています。多くのアプリケーションにとって重要な統計的な独立性を保つために、データ階層の最高レベルでリサンプリングを行う必要があります。(たとえば、患者ごとに数百行の患者データを処理します=>患者をリサンプルします)
cbeleitesはMonicaをサポートします

1
n

1

CVは推定値であり、「実際の」一般化エラーを表すことはできません。サンプルサイズ(折り数または折りサイズに影響します)に応じて、汎化誤差の分布のパラメーター推定値を計算する能力が大幅に制限される場合があります。私の意見では(そして、私はそれがさまざまなテキストブック、「サポートベクターマシンでの知識発見」-Lutz Hamelで主張されているのを見ました)、CVのいくつかのブートストラップバリアントを実行して、一般化エラーの分布を推定できますが、標準的な10- 1(たとえば)CVを一度オフにすると、真のgen-errorについて推論するのに十分なデータポイントが得られません。ブートストラップを行うには、トレーニング(テスト)またはval(複数)(たとえば1000程度)10-1(または何でも)CVテストを効果的に実行して、複数のサンプルを取得する必要があります。次に、各CVテストの平均のサンプル分布をCVエラーの母集団の平均のサンプリング分布の推定値として使用します。これから、平均、中央値、標準最小最大Q1 Q3などの分布パラメーターを推定できます。少し手間がかかりますが、私の意見では、あなたのアプリケーションが追加の仕事を保証するのに十分なほど重要/危険な場合にのみ本当に必要です。すなわち、おそらく、ビジネスが単にランダムであるよりも優れていることを喜んでいるマーケティング環境では、おそらく必要ではありません。しかし、高リスクの薬物に対する患者の反応を評価しようとしている場合、または大規模な投資に対する収入期待を予測しようとしている場合は、実行するのが賢明かもしれません。


これは推定値ですが、事実上、統計のあらゆる使用について言えるでしょう。ただし、各分割に既に分散推定値がある場合、この情報を破棄することは正しくないと思われます。説明を明確にして質問を更新しました。
セザール

おそらく私はそれを得ていない。私はなぜあなたが単一のフォールドの分散に苦しんでいるのか本当に理解していませんか?
クランシー

単一の10倍CVを実行することは、私が取り組んでいる特定の問題にとって正確ではありません。ブートストラップのように交換して複数のサンプルを取得することで、分散を推定できます。しかし、私の場合、多数のCVを取得することは、たとえ数百であっても、非常に非現実的です。必要なブートストラップサンプルの数を少なくとも減らすことができるように、個々のフォールド分散推定値を組み合わせる方法(ある場合)を探しています。また、好奇心。
セザール

あ、そう。おそらく、全体の折り畳み平均からの10の折り畳み平均のそれぞれの分散は、分散のサンプリング分布から選択されたランダム変数になります...(これは、カイsq distまたはF dist)
クランシー

@clancy:10-1の場合、n = 10サンプルのleave-one-out cvを意味しますか?leave-one-outの反復には意味がないことに注意してください。
cbeleitesはモニカをサポートしています
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.