Kennen Sie eine Referenz oder einen Namen für die folgende Methode, um zu untersuchen, ob eine komplexe Modellierungstechnik verzerrt ist?
- Wenden Sie auf den Originaldatensatz an. Messen Sie die Leistung (z. B. R-Quadrat in der Regressionseinstellung).
- Permutieren Sie die Antwortvariable nach dem Zufallsprinzip, um einen neuen Datensatz zu erhalten. Wende und messe seine Leistung . [Wenn die Beobachtungen abhängig sind, ist dieser Schritt komplizierter.]
Wenn sich wesentlich von der Leistung Null unterscheidet, schließen wir, dass voreingenommen ist. T.
Schritt 2 kann wiederholt werden, wenn die Ressourcen dies zulassen, was zur Permutationsnullverteilung des Leistungsmaßes führen würde. In meiner Anwendung kann ich dies jedoch aufgrund von Ressourcenproblemen nicht tun.
Ich erinnere mich düster daran, dass dieser Trick des "Ummischens" von jemandem verwendet wurde, um die Tendenz einer einmaligen Kreuzvalidierung (in einigen Situationen) zu untersuchen. Ich weiß jedoch nicht, ob er sich in meiner Situation befand, in der er den gesamten Vorgang nur einmal wiederholen konnte.
Ein Beispiel in R, das die "Kraft" der naiven Rückwärtsauswahl zeigt:
# Generate random data set. Only random performance is expected.
n <- 100
p <- 30
set.seed(7567)
y <- rnorm(n)
X <- rnorm(n*p)
dim(X) <- c(n, p)
data <- data.frame(y, X)
# Modelling technique: backward selection with OLS
T <- function(data) {
step(lm(y ~ ., data = data), trace = 0)
}
# Performance: R-squared
P <- function(fit) {
summary(fit)$r.squared
}
# Step 1: Compute performance on original data. Happily publish high R-squared...
P(T(data)) # 0.240405
# Step 2: Your mean colleague reshuffles response and gets also R-squared far away from 0
data$y <- data$y[sample(n)]
P(T(data)) # 0.1925726
Schlussfolgerung zum Beispiel: Die gewählte Modellierungstechnik ist zumindest in dieser speziellen Umgebung äußerst anfällig für Überanpassungen.
Einige Hintergrundinformationen
Ich habe diesen Trick zum Ummischen einmal verwendet, um zu überprüfen, ob die Kreuzvalidierung eines langwierigen Modellierungsprozesses von mir ordnungsgemäß implementiert wurde. Unter einer zufälligen Permutation ergab CV ein R-Quadrat von im wesentlichen 0 (wie erwartet / gewünscht).
quelle
Antworten:
Um die Frage im Titel AFAIK zu beantworten, wird dies als Permutationstest bezeichnet . Wenn dies tatsächlich das ist, wonach Sie suchen, funktioniert es nicht wie in der Frage beschrieben.
Um (etwas) prägnant zu sein: Der Permutationstest funktioniert tatsächlich, indem eine der 'Spalten' gemischt und der Test oder die Berechnung des Interesses durchgeführt wird. Der Trick besteht jedoch darin, dies häufig zu tun und die Daten jedes Mal zu mischen. In kleinen Datensätzen können möglicherweise sogar alle möglichen Permutationen durchgeführt werden. In großen Datenmengen führen Sie normalerweise eine Permutationsmenge durch, die Ihr Computer verarbeiten kann, die jedoch groß genug ist, um eine Verteilung der interessierenden Statistik zu erhalten .
Schließlich verwenden Sie diese Verteilung, um zu überprüfen, ob beispielsweise der mittlere Unterschied zwischen zwei Gruppen in 95% der Verteilung> 0 ist. Einfach ausgedrückt ist dieser letzte Schritt der Überprüfung, welcher Teil der Verteilung über / unter einem bestimmten kritischen Wert liegt, der 'p-Wert' für Ihren Hypothesentest.
Wenn dies stark vom p-Wert in der ursprünglichen Stichprobe abweicht, würde ich nicht sagen, dass etwas mit dem Test / der Statistik von Interesse nicht stimmt, sondern dass Ihre Stichprobe bestimmte Datenpunkte enthält, die das Testergebnis spezifisch beeinflussen. Dies kann eine Verzerrung sein (Auswahlverzerrung aufgrund der Einbeziehung einiger seltsamer Fälle; Messfehler in bestimmten Fällen usw.) oder eine falsche Verwendung des Tests (z. B. verletzte Annahmen).
Weitere Informationen finden Sie unter https://en.wikipedia.org/wiki/Resampling_(statistics)
Lesen Sie außerdem die Antwort von @amoeba auf diese Frage. Wenn Sie mehr darüber erfahren möchten, wie Permutationstests mit Variablenauswahl kombiniert werden können.
quelle
Die Antwort fand ich schließlich in Frank Harrells Buch "Regression Modeling Strategies" [1] in Abschnitt 5.2.4 (Verbesserungen bei der Datenaufteilung: Resampling).
"Die Randomisierungsmethode" wird als interessante Methode vorgestellt, um den Optimismus durch zufällige Permutationen der Antwort abzuschätzen, insbesondere in Kombination mit der Variablenauswahl (wie im Beispiel im OP).
Er verweist unter anderem auf [2] für verwandte Ideen.
Die Methode ist sehr einfach: Nehmen wir an, Ihre komplizierte Modellierungsstrategie umfasst die Auswahl vorwärts / rückwärts (und seitwärts) und Ihr Datensatz ist zu klein, um eine saubere Aufteilung von Zug / Validierung / Test zu erhalten. Darüber hinaus können Sie der Kreuzvalidierung möglicherweise nicht vollständig vertrauen, da dies immer bedeutet, dass ein bestimmter Teil der Daten innerhalb von Fold verworfen wird. Wie können Sie beurteilen, ob Ihr R-Quadrat von 0,7 gültig ist oder ob es hauptsächlich auf eine Überanpassung zurückzuführen ist? Die Randomisierungsmethode funktioniert wie folgt (hier sprechen wir über das R-Quadrat, aber es kann jedes interessierende Leistungsmaß sein). Wenn Ihre Strategie unvoreingenommen ist, würden Sie erwarten, dass das R-Quadrat nahe 0 liegt, wenn es in einem Datensatz mit zufällig permutierter Antwortvariable wiederholt wird. Angenommen, Sie erhalten nach 20 Permutationen ein durchschnittliches R-Quadrat von 0,6 anstelle von 0. Sie wissen also, dass das ursprüngliche R-Quadrat von 0 ist. 7 ist wahrscheinlich nicht viel mehr als das Ergebnis einer Überanpassung. Eine ehrlichere Schätzung des "wahren" R-Quadrats wäre 0,7-0,6 = 0,1 (klein). Sie haben also gezeigt, wie schlecht Ihre Strategie überpasst.
Vorteile der Methode
Nachteile sind
[1] Frank Harrell, "Regression Modeling Strategies", 2001. Springer.
[2] R. Tibshirani und K. Knight. Das Kovarianzinflationskriterium für die adaptive Modellauswahl. JRSS B, 61: 529 & ndash; 546, 1999.
quelle