Hier verweist @gung auf die Regel .632+. Eine schnelle Google-Suche liefert keine leicht verständliche Antwort darauf, was diese Regel bedeutet und für welchen Zweck sie verwendet wird. Würde jemand bitte die .632+ -Regel erläutern?
Hier verweist @gung auf die Regel .632+. Eine schnelle Google-Suche liefert keine leicht verständliche Antwort darauf, was diese Regel bedeutet und für welchen Zweck sie verwendet wird. Würde jemand bitte die .632+ -Regel erläutern?
Antworten:
Ich werde zum 0.632-Schätzer kommen, aber es wird eine etwas lange Entwicklung sein:
Angenommen, wir wollen mit Verwendung der Funktion vorhersagen , wobei von einigen Parametern abhängen kann, die unter Verwendung der Daten geschätzt werden , z. B.X f f ( Y , X ) f ( X ) = X β
Eine naive Schätzung des Vorhersagefehlers ist wobei eine Verlustfunktion ist, zB quadratischer Fehlerverlust. Dies wird oft als Trainingsfehler bezeichnet. Efron et al. nennt es offensichtliche Fehlerrate oder Resubstitutionsrate. Es ist nicht sehr gut, da wir unsere Daten , um zu passen . Dies führt dazu, dass nach unten vorgespannt ist. Sie möchten wissen, wie gut Ihr Modell neue Werte vorhersagt.L(xi,yi)f¯errf
Oft verwenden wir die Kreuzvalidierung als einfache Methode, um den erwarteten Vorhersagefehler für zusätzliche Stichproben abzuschätzen (wie gut funktioniert unser Modell mit Daten, die nicht in unserem Trainingssatz enthalten sind?).
Ein beliebter Weg, dies zu tun, ist die fache Kreuzvalidierung. Teilen Sie Ihre Daten in Gruppen auf (zB 10). Passen Sie für jede Gruppe Ihr Modell an die verbleibenden Gruppen an und testen Sie es an der ten Gruppe. Unser Vorhersagefehler für zusätzliche Stichproben ist nur der durchschnittliche wobei eine Indexfunktion ist, die die Partition angibt, der die Beobachtung ist, und der vorhergesagte Wert von wobei Daten verwendet werden, die nicht in der -ten Menge enthalten sind.K K K - 1 k E r r C V = 1kif-k(i)(xi)xik(i)
Dieser Schätzer ist für den wahren Vorhersagefehler, wenn ist, ungefähr unverzerrt und weist eine größere Varianz auf und ist für größere rechenintensiver . Wir sehen also wieder einmal den Kompromiss zwischen Voreingenommenheit und Varianz.K
Anstelle einer Kreuzvalidierung könnten wir den Bootstrap verwenden, um den Vorhersagefehler für zusätzliche Stichproben abzuschätzen. Bootstrap-Resampling kann verwendet werden, um die Stichprobenverteilung einer Statistik zu schätzen. Wenn unsere Trainingsdaten , können wir uns vorstellen, Bootstrap-Samples (mit Ersetzung) aus dieser Menge zu nehmen wobei jedes eine Menge von Abtastwerten ist. Jetzt können wir unsere Bootstrap-Beispiele verwenden, um den Vorhersagefehler für zusätzliche Stichproben zu schätzen: wobei der vorhergesagte Wert bei aus der Modellanpassung an istB Z 1 , ... , Z B Z i N E r r B o o t = 1
Wenn wir jedoch eine Vorhersagefunktion für eine hohe Überanpassung haben (dh ), ist sogar der .632-Schätzer nach unten vorgespannt. Der Schätzer .632+ ist als weniger voreingenommener Kompromiss zwischen und . mit wobei die No-Information-Fehlerrate ist, geschätzt durch Auswertung des Vorhersagemodells für alle möglichen Kombinationen von Ziele und Prädiktoren .
Hier misst die relative Überpassungsrate. Wenn keine Überanpassung (R = 0, wenn ), entspricht dies dem Schätzer .632.
Sie finden weitere Informationen in Abschnitt 3 dieses finden 1 Papier. Aber zusammenzufassen, wenn Sie anrufen eine Stichprobe von Zahlen von gezogen zufällig und mit Ersatz, im Mittel etwa einzigartige Elemente.
Die Argumentation ist wie folgt. Wir füllen indem wir mal (zufällig und mit Ersetzung) aus abtasten . Betrachten Sie einen bestimmten Index .
Dann:
und
und das ist wahr (intuitiv, da wir mit Ersatz probieren, hängen die Wahrscheinlichkeiten nicht von )
somit
Sie können auch diese kleine Simulation durchführen, um die Qualität der Approximation (die von abhängt ) empirisch zu überprüfen :
n <- 100
fx01 <- function(ll,n){
a1 <- sample(1:n, n, replace=TRUE)
length(unique(a1))/n
}
b1 <- c(lapply(1:1000,fx01,n=100), recursive=TRUE)
mean(b1)
1. Bradley Efron und Robert Tibshirani (1997). Verbesserungen bei der Kreuzvalidierung: Die .632+ Bootstrap-Methode . Journal of the American Statistical Association , Bd. 92, Nr. 438, S. 548–560.
Nach meiner Erfahrung, die hauptsächlich auf Simulationen beruhte, wurden die Bootstrap-Varianten 0.632 und 0.632+ nur aufgrund schwerwiegender Probleme benötigt, die durch die Verwendung einer Regel zur Bewertung der falschen Genauigkeit verursacht wurden, nämlich des Anteils, der korrekt "klassifiziert" wurde. Wenn Sie die richtigen (z. B. devianzbasierten oder Brier-Score) oder halb-richtigen (z. B. Index = AUROC) Bewertungsregeln verwenden, funktioniert der standardmäßige Efron-Gong-Optimismus-Bootstrap einwandfrei.
Diese Antworten sind sehr nützlich. Ich konnte keine Möglichkeit finden, es mit Mathematik zu demonstrieren, also habe ich etwas Python-Code geschrieben, der allerdings recht gut funktioniert:
from numpy import mean
from numpy.random import choice
N = 3000
variables = range(N)
num_loop = 1000
# Proportion of remaining variables
p_var = []
for i in range(num_loop):
set_var = set(choice(variables, N))
p=len(set_var)/float(N)
if i%50==0:
print "value for ", i, " iteration ", "p = ",p
p_var.append(p)
print "Estimator of the proportion of remaining variables, ", mean(p_var)