Sehr interessante Frage, ich muss die Papiere lesen, die du gibst ... Aber vielleicht beginnt uns das in Richtung einer Antwort:
Normalerweise gehe ich dieses Problem sehr pragmatisch an: Ich iteriere die k-fache Kreuzvalidierung mit neuen zufälligen Teilungen und berechne die Leistung für jede Iteration wie gewohnt. Die gesamten Teststichproben sind dann für jede Iteration gleich, und die Unterschiede ergeben sich aus unterschiedlichen Aufteilungen der Daten.
Dies melde ich zB als 5. bis 95. Perzentil der beobachteten Leistung bezogen auf. Tausche bis zu Proben gegen neue Proben aus und diskutiere es als Maß für die Instabilität des Modells.nk- 1
Randnotiz: Ich kann sowieso keine Formeln verwenden, die die Stichprobengröße benötigen. Da meine Daten gruppiert oder hierarchisch strukturiert sind (viele ähnliche, aber nicht wiederholte Messungen desselben Falls, normalerweise mehrere [hundert] verschiedene Stellen derselben Probe), kenne ich die effektive Stichprobengröße nicht.
Vergleich zum Bootstrapping:
Iterationen verwenden neue zufällige Teilungen.
Der Hauptunterschied ist das Resampling mit (Bootstrap) oder ohne (CV) -Ersetzung.
Der Rechenaufwand ist ungefähr gleich, da ich keine Iterationen von cv keine Bootstrap-Iterationen / k wählen würde , dh die gleiche Gesamtzahl von Modellen berechnen würde.≈
bootstrap hat Vorteile gegenüber cv in Bezug auf einige statistische Eigenschaften (asymptotisch korrekt, möglicherweise benötigen Sie weniger Iterationen, um eine gute Schätzung zu erhalten)
Mit cv haben Sie jedoch den Vorteil, dass Ihnen dies garantiert ist
- Die Anzahl der verschiedenen Trainingsmuster ist für alle Modelle gleich (wichtig, wenn Sie Lernkurven berechnen möchten).
- Jede Probe wird in jeder Iteration genau einmal getestet
Einige Klassifizierungsmethoden verwerfen wiederholte Samples, so dass Bootstrapping keinen Sinn ergibt
Varianz für die Leistung
Kurze Antwort: Ja, es ist sinnvoll, von Varianz in Situationen zu sprechen, in denen nur {0,1} Ergebnisse vorliegen.
Schauen Sie sich die Binomialverteilung an (k = Erfolge, n = Tests, p = wahre Erfolgswahrscheinlichkeit = durchschnittliches k / n):
σ2( k ) = n p ( 1 - p )
Die Varianz der Proportionen (wie Trefferrate, Fehlerrate, Empfindlichkeit, TPR, ..., ich verwende ab jetzt und für den beobachteten Wert in einem Test) ist ein Thema, das ganze Bücher füllt. .ppp^
- Fleiss: Statistische Methoden für Kurse und Anteile
- Forthofer und Lee: Biostatistik hat eine schöne Einführung.
Nun ist und deshalb:p^= kn
σ2( p^) = p ( 1 - p )n
Dies bedeutet, dass die Unsicherheit für die Messung der Klassifikatorleistung nur von der tatsächlichen Leistung p des getesteten Modells und der Anzahl der Testproben abhängt.
Bei der Kreuzvalidierung gehen Sie davon aus
dass die k "Surrogat" -Modelle die gleiche wahre Leistung haben wie das "echte" Modell, das Sie normalerweise aus allen Beispielen erstellen. (Die Aufschlüsselung dieser Annahme ist die bekannte pessimistische Tendenz).
dass die k "Ersatz" -Modelle die gleiche wahre Leistung haben (äquivalent sind, stabile Vorhersagen haben), so dass Sie die Ergebnisse der k Tests bündeln dürfen.
Natürlich können dann nicht nur die k "Surrogat" -Modelle einer Iteration von Lebenslauf zusammengefasst werden, sondern auch die ki-Modelle von Iterationen von k-fachem Lebenslauf.
Warum iterieren?
Die Hauptursache der Iterationen ist die Instabilität des Modells (Vorhersage), dh die Varianz der Vorhersagen verschiedener Modelle für dieselbe Stichprobe.
Sie können Instabilität direkt als z. B. die Varianz in der Vorhersage eines bestimmten Testfalls angeben, unabhängig davon, ob die Vorhersage korrekt ist, oder etwas indirekter als die Varianz von für verschiedene Lebenslaufiterationen.p^
Und ja, das sind wichtige Informationen.
Wenn Ihre Modelle nun vollkommen stabil sind, würden alle oder für eine gegebene Stichprobe genau dieselbe Vorhersage erzeugen. Mit anderen Worten, alle Iterationen hätten das gleiche Ergebnis. Die Varianz der Schätzung würde durch die Iteration nicht verringert (unter der Annahme von ). In diesem Fall ist die Annahme 2 von oben erfüllt und Sie unterliegen nur wobei n die Gesamtzahl der getesteten Proben ist k Falten des Lebenslaufs.
In diesem Fall sind keine Iterationen erforderlich (außer zum Nachweis der Stabilität). k ⋅ n i t e r . c v n - 1 ≈ n σ 2 ( p ) = p ( 1 - p )nb o o t s t r a pk ⋅ ni t e r . c v n - 1 ≈ nσ2( p^) = p ( 1 - p )n
Sie können dann Konfidenzintervalle für die wahre Leistung aus der beobachteten Anzahl von Erfolgen in den Tests konstruieren . Daher ist es streng genommen nicht erforderlich, die Varianzunsicherheit zu melden, wenn und gemeldet werden. In meinem Fachgebiet sind sich jedoch nicht viele Menschen dessen bewusst oder haben sogar einen intuitiven Überblick darüber, wie groß die Unsicherheit bei welcher Stichprobengröße ist. Deshalb würde ich empfehlen, es trotzdem zu melden.k n p npknp^n
Wenn Sie Modellinstabilität beobachten, ist der gepoolte Durchschnitt eine bessere Schätzung der tatsächlichen Leistung. Die Varianz zwischen den Iterationen ist eine wichtige Information, und Sie können sie mit der erwarteten minimalen Varianz für eine Testmenge der Größe n mit der durchschnittlichen Leistung der tatsächlichen Leistung über alle Iterationen vergleichen.