Ich verstehe, was "Überanpassung" bedeutet, aber ich brauche Hilfe, um ein reales Beispiel für Überanpassung zu finden.
Ich verstehe, was "Überanpassung" bedeutet, aber ich brauche Hilfe, um ein reales Beispiel für Überanpassung zu finden.
Antworten:
Hier ist ein schönes Beispiel für Zeitreihenmodelle für Präsidentschaftswahlen von xkcd:
Es gab nur 56 Präsidentschaftswahlen und 43 Präsidenten. Das sind nicht viele Daten, aus denen man lernen kann. Wenn der Prädiktorraum erweitert wird, um Dinge wie falsche Zähne und den Scrabble-Punkt-Wert von Namen einzuschließen, ist es für das Modell ziemlich einfach, die verallgemeinerbaren Merkmale der Daten (das Signal) anzupassen und mit dem Anpassen des Rauschens zu beginnen. In diesem Fall kann sich die Übereinstimmung mit den historischen Daten verbessern, aber das Modell wird kläglich versagen, wenn Rückschlüsse auf zukünftige Präsidentschaftswahlen gezogen werden.
Mein Favorit war das Matlab-Beispiel für die US-Volkszählung im Vergleich zur Zeit:
(Zumindest hoffe ich aufrichtig, dass dies ein Beispiel für Überanpassung ist.)
http://www.mathworks.com/help/curvefit/examples/polynomial-curve-fitting.html#zmw57dd0e115
Die Studie von Chen et al. (2013) passt zwei Kubikmeter zu einer vermeintlichen Diskontinuität der Lebenserwartung als Funktion des Spielraums.
Chen Y., Ebenstein, A., Greenstone, M. und Li, H. 2013. Hinweise auf die Auswirkungen einer anhaltenden Luftverschmutzung auf die Lebenserwartung aufgrund der chinesischen Huai-Politik. Verfahren der National Academy of Sciences 110: 12936–12941. abstrakt
Trotz seiner Veröffentlichung in einer hervorragenden Zeitschrift usw., seiner stillschweigenden Billigung durch angesehene Personen usw. würde ich dies immer noch als ein Anscheinsbeispiel für Überanpassung darstellen.
Ein verräterisches Zeichen ist die Unplausibilität von Kubik. Das implizite Anpassen einer Kubik nimmt an, dass es einen Grund gibt, warum die Lebenserwartung als Polynom dritten Grades des Breitengrads, in dem Sie leben, variieren würde. Das erscheint eher unplausibel: Es ist nicht leicht, sich einen plausiblen physikalischen Mechanismus vorzustellen, der einen solchen Effekt hervorrufen würde.
Eine detailliertere Analyse dieses Papiers finden Sie in folgendem Blogbeitrag: Hinweise auf die Auswirkung der nachhaltigen Nutzung der Polynomregression auf die kausale Inferenz (eine Behauptung, dass Kohleheizung die Lebensdauer für eine halbe Milliarde Menschen um 5 Jahre verkürzt) .
In einem Artikel in Science vom 14. März 2014 identifizierten David Lazer, Ryan Kennedy, Gary King und Alessandro Vespignani Probleme in Google Grippe-Trends , die sie einer Überanpassung zuschreiben.
Hier ist, wie sie die Geschichte erzählen, einschließlich ihrer Erklärung der Art der Überanpassung und warum der Algorithmus dadurch versagt:
Im Februar 2013 gab Nature bekannt, dass GFT einen mehr als doppelt so hohen Anteil an Arztbesuchen wegen grippeähnlicher Erkrankungen (ILI) prognostiziert hat wie die Zentren für die Kontrolle und Prävention von Krankheiten (CDC). Dies geschah trotz der Tatsache, dass GFT zur Vorhersage von CDC-Berichten entwickelt wurde. ...
Im Wesentlichen bestand die Methodik darin, die besten Übereinstimmungen unter 50 Millionen Suchbegriffen für 1152 Datenpunkte zu finden. Die Wahrscheinlichkeit, Suchbegriffe zu finden, die der Neigung zur Grippe entsprechen, jedoch strukturell nicht zusammenhängen und daher die Zukunft nicht vorhersagen, war recht hoch. Tatsächlich berichten die Entwickler von GFT, dass sie saisonale Suchbegriffe aussortieren, die nicht mit der Grippe zusammenhängen, aber stark mit den CDC-Daten korrelieren, wie zum Beispiel diejenigen, die sich auf Basketball in der High School beziehen. Dies hätte eine Warnung sein müssen, dass die großen Datenmengen die geringe Anzahl von Fällen überfüllten - ein Standardanliegen bei der Datenanalyse. Diese Ad-hoc-Methode zum Wegwerfen bestimmter Suchbegriffe schlug fehl, als GFT die nicht saisonale Influenza-A-H1N1-Pandemie von 2009 vollständig verpasste.
[Betonung hinzugefügt.]
Ich habe dieses Bild vor ein paar Wochen gesehen und fand es ziemlich relevant für die vorliegende Frage.
Anstatt die Sequenz linear anzupassen, wurde sie mit einem Quartalpolynom versehen, das perfekt passte, aber zu einer eindeutig lächerlichen Antwort führte.
Für mich ist das beste Beispiel das ptolemäische System in der Astronomie. Ptolemaios nahm an, dass sich die Erde im Zentrum des Universums befindet, und schuf ein ausgeklügeltes System verschachtelter Kreisbahnen, das dies erklären würde Bewegungen von Objekten am Himmel ziemlich gut . Astronomen mussten immer wieder Kreise hinzufügen, um Abweichungen zu erklären, bis es eines Tages so verworren wurde, dass die Leute anfingen, daran zu zweifeln. Zu diesem Zeitpunkt entwickelte Copernicus ein realistischeres Modell.
Dies ist das beste Beispiel für eine Überanpassung für mich. Sie können den Datengenerierungsprozess (DGP) nicht überschreiben. Sie können nur ein falsch angegebenes Modell überpassen. Fast alle unsere Modelle in den Sozialwissenschaften sind falsch spezifiziert, daher ist es der Schlüssel, sich daran zu erinnern und sie sparsam zu halten. Versuchen Sie nicht, jeden Aspekt des Datensatzes zu erfassen, sondern erfassen Sie die wesentlichen Merkmale durch Vereinfachung.
Angenommen, Sie haben 100 Punkte in einem Diagramm.
Man könnte sagen: hmm, ich möchte den nächsten vorhersagen.
Hier sehen Sie eine vereinfachte Darstellung für dieses Beispiel:
Je höher die Polynomordnung, desto besser passt sie zu den vorhandenen Punkten.
Die Polynome höherer Ordnung passen jedoch tatsächlich über, obwohl sie als bessere Modelle für die Punkte erscheinen. Es modelliert eher das Rauschen als die wahre Datenverteilung.
Wenn Sie dem Diagramm einen neuen Punkt mit Ihrer perfekt passenden Kurve hinzufügen, ist dieser wahrscheinlich weiter von der Kurve entfernt als bei Verwendung eines einfacheren Polynoms niedriger Ordnung.
Die Analyse, die möglicherweise zur Katastrophe von Fukushima beigetragen hat, ist ein Beispiel für eine Überanpassung. In der Geowissenschaft gibt es eine bekannte Beziehung, die die Wahrscheinlichkeit von Erdbeben einer bestimmten Größe angesichts der beobachteten Häufigkeit von "geringeren" Erdbeben beschreibt. Dies ist als die Gutenberg-Richter-Beziehung bekannt und liefert über viele Jahrzehnte eine gerade logarithmische Anpassung. Die Analyse des Erdbebenrisikos in der Nähe des Reaktors (dieses Diagramm aus Nate Silvers ausgezeichnetem Buch "Das Signal und das Rauschen") zeigt einen "Knick" in den Daten. Das Ignorieren des Knicks führt zu einer Schätzung des annualisierten Risikos eines Erdbebens der Stärke 9 auf etwa 1 zu 300 - definitiv etwas, worauf man sich vorbereiten sollte. Jedoch, Durch die Überanpassung einer doppelten Gefällelinie (wie bei der anfänglichen Risikobewertung für die Reaktoren offensichtlich) wird die Risikoprognose auf etwa 1 von 13.000 Jahren reduziert. Man kann den Ingenieuren nicht vorwerfen, dass sie die Reaktoren nicht so ausgelegt haben, dass sie einem solchen unwahrscheinlichen Ereignis standhalten - aber man sollte definitiv den Statistikern vorwerfen, die die Daten überarbeitet (und dann extrapoliert) haben ...
"Agh! Pat verlässt die Firma. Wie werden wir jemals einen Ersatz finden?"
Stellenausschreibung:
Gesucht: Elektroingenieur. 42-jährige androgyne Person mit Abschlüssen in Elektrotechnik, Mathematik und Tierhaltung. Muss 68 Zoll groß sein mit braunem Haar, einem Maulwurf über dem linken Auge und anfällig für langatmige Diatribes gegen Gänse und den Missbrauch des Wortes 'Anwalt'.
In mathematischer Hinsicht bezieht sich Überanpassung häufig auf die Erstellung eines Modells mit mehr Parametern als erforderlich, was zu einer besseren Anpassung an einen bestimmten Datensatz führt, ohne jedoch relevante Details zu erfassen, die für die Anpassung an andere Datensätze aus der interessierenden Klasse erforderlich sind.
Im obigen Beispiel kann das Poster die relevanten von den irrelevanten Merkmalen nicht unterscheiden. Die daraus resultierenden Qualifikationen werden wahrscheinlich nur von der Person erfüllt, von der sie bereits wissen, dass sie für den Job geeignet ist (aber nicht mehr will).
Dieses ist erfunden, aber ich hoffe, es wird den Fall veranschaulichen.
Beispiel 1
set.seed(123)
k <- 100
data <- replicate(k, rnorm(100))
colnames(data) <- make.names(1:k)
data <- as.data.frame(data)
Nun passen wir eine lineare Regression an:
fit <- lm(X1 ~ ., data=data)
Und hier ist eine Zusammenfassung der ersten zehn Prädiktoren:
> summary(fit)
Call:
lm(formula = X1 ~ ., data = data)
Residuals:
ALL 100 residuals are 0: no residual degrees of freedom!
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.502e-01 NA NA NA
X2 3.153e-02 NA NA NA
X3 -6.200e-01 NA NA NA
X4 7.087e-01 NA NA NA
X5 4.392e-01 NA NA NA
X6 2.979e-01 NA NA NA
X7 -9.092e-02 NA NA NA
X8 -5.783e-01 NA NA NA
X9 5.965e-01 NA NA NA
X10 -8.289e-01 NA NA NA
...
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 99 and 0 DF, p-value: NA
Die Ergebnisse sehen ziemlich seltsam aus, aber lasst es uns plotten.
> sum(abs(data$X1-fitted(fit)))
[1] 0
Es ist Null, also haben uns die Handlungen nicht angelogen: Das Modell passt perfekt. Und wie genau ist die Klassifizierung?
> sum(data$X1==fitted(fit))
[1] 100
Beispiel 2
Noch ein Beispiel. Machen wir noch ein paar Daten:
data2 <- cbind(1:10, diag(10))
colnames(data2) <- make.names(1:11)
data2 <- as.data.frame(data2)
so sieht es so aus:
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
1 1 1 0 0 0 0 0 0 0 0 0
2 2 0 1 0 0 0 0 0 0 0 0
3 3 0 0 1 0 0 0 0 0 0 0
4 4 0 0 0 1 0 0 0 0 0 0
5 5 0 0 0 0 1 0 0 0 0 0
6 6 0 0 0 0 0 1 0 0 0 0
7 7 0 0 0 0 0 0 1 0 0 0
8 8 0 0 0 0 0 0 0 1 0 0
9 9 0 0 0 0 0 0 0 0 1 0
10 10 0 0 0 0 0 0 0 0 0 1
und lassen Sie uns nun eine lineare Regression dazu anpassen:
fit2 <- lm(X1~., data2)
So erhalten wir folgende Schätzungen:
> summary(fit2)
Call:
lm(formula = X1 ~ ., data = data2)
Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10 NA NA NA
X2 -9 NA NA NA
X3 -8 NA NA NA
X4 -7 NA NA NA
X5 -6 NA NA NA
X6 -5 NA NA NA
X7 -4 NA NA NA
X8 -3 NA NA NA
X9 -2 NA NA NA
X10 -1 NA NA NA
X11 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 9 and 0 DF, p-value: NA
Es ist ziemlich selbsterklärend. Sie können sich Beispiel 1 ähnlich wie Beispiel 2 vorstellen, jedoch mit etwas "Rauschen". Wenn Sie über ausreichend große Daten verfügen und diese zum "Vorhersagen" von etwas verwenden, kann Sie manchmal ein einzelnes "Feature" davon überzeugen, dass Sie ein "Muster" haben, das Ihre abhängige Variable gut beschreibt, während dies nur ein Zufall sein kann. In Beispiel 2 wird eigentlich nichts vorhergesagt, aber in Beispiel 1 ist genau dasselbe passiert, nur dass die Werte der Variablen unterschiedlich waren.
Beispiele aus der Praxis
Das reale Beispiel dafür ist die Vorhersage von Terroranschlägen am 11. September 2001 durch Beobachtung von "Mustern" in Zahlen, die zufällig von Computer-Pseudo-Zufallsgeneratoren vom Global Consciousness Project gezogen wurden, oder "geheimen Botschaften" in "Moby Dick" , die Fakten über die Ermordung berühmter Personen enthüllen (inspiriert von ähnlichen Erkenntnissen in der Bibel ).
Fazit
Wenn Sie genau hinschauen, finden Sie "Muster" für alles. Mit diesen Mustern können Sie jedoch nichts über das Universum lernen und keine allgemeinen Schlussfolgerungen ziehen. Sie passen perfekt zu Ihren Daten, wären aber nutzlos, da sie nur zu den Daten passen. Sie werden nicht zulassen, dass Sie aus der Stichprobe vernünftige Vorhersagen treffen, da sie die Daten eher imitieren als beschreiben würden.
Ein häufiges Problem, das zu einer Überanpassung im wirklichen Leben führt, besteht darin, dass wir zusätzlich zu Begriffen für ein korrekt angegebenes Modell möglicherweise etwas Fremdes hinzugefügt haben: irrelevante Potenzen (oder andere Transformationen) der korrekten Begriffe, irrelevante Variablen oder irrelevante Wechselwirkungen.
Dies geschieht in mehrfacher Regression, wenn Sie eine Variable hinzufügen, die nicht im korrekt angegebenen Modell enthalten sein sollte, diese aber nicht löschen möchte, weil Sie Angst haben, eine ausgelassene variable Verzerrung zu verursachen . Natürlich haben Sie keine Möglichkeit zu wissen, dass Sie es falsch aufgenommen haben, da Sie nicht die gesamte Population sehen können, sondern nur Ihre Stichprobe. Sie können also nicht sicher sein, welche Spezifikation die richtige ist. (Wie @Scortchi in den Kommentaren ausführt, gibt es möglicherweise keine "korrekte" Modellspezifikation. In diesem Sinne besteht das Ziel der Modellierung darin, eine "ausreichend gute" Spezifikation zu finden. Um eine Überanpassung zu vermeiden, muss die Komplexität des Modells vermieden werden größer, als aus den verfügbaren Daten erhalten werden kann.) Wenn Sie ein realistisches Beispiel für eine Überanpassung wünschen, geschieht dies jedes MalSie werfen alle potenziellen Prädiktoren in ein Regressionsmodell, sollte einer von ihnen tatsächlich keine Beziehung zur Reaktion haben, sobald die Auswirkungen anderer herausgefiltert sind.
Bei dieser Art der Überanpassung ist die gute Nachricht, dass die Einbeziehung dieser irrelevanten Terme keine Verzerrung Ihrer Schätzer hervorruft, und in sehr großen Stichproben sollten die Koeffizienten der irrelevanten Terme nahe Null sein. Es gibt aber auch eine schlechte Nachricht: Da die begrenzten Informationen aus Ihrer Stichprobe jetzt zur Schätzung weiterer Parameter verwendet werden, kann dies nur mit geringerer Genauigkeit erfolgen - daher nehmen die Standardfehler bei den wirklich relevanten Begriffen zu. Dies bedeutet auch, dass sie wahrscheinlich weiter von den wahren Werten entfernt sind als Schätzungen einer korrekt angegebenen Regression. Wenn Sie also neue Werte für Ihre erklärenden Variablen angeben, sind die Vorhersagen des überpassenden Modells in der Regel weniger genau als für das richtig angegebene Modell.
Hier ist ein Diagramm des logarithmischen BIP gegen die logarithmische Bevölkerung für 50 US-Bundesstaaten im Jahr 2010. Für diese Stichprobe wurde eine Zufallsstichprobe von 10 Bundesstaaten ausgewählt (rot hervorgehoben). Für diese Stichprobe passen wir ein einfaches lineares Modell und ein Polynom vom Grad 5 an Punkte, das Polynom hat zusätzliche Freiheitsgrade, die es näher an den beobachteten Daten "winden" lassen, als die gerade Linie kann. Da die 50 Zustände als Ganzes jedoch einer nahezu linearen Beziehung folgen, ist die Prognoseleistung des Polynommodells für die 40 Out-of-Sample-Punkte im Vergleich zum weniger komplexen Modell, insbesondere bei der Extrapolation, sehr schlecht. Das Polynom passte effektiv zu einem Teil der zufälligen Struktur (Rauschen) der Stichprobe, die sich nicht auf die breitere Grundgesamtheit verallgemeinerte. Es extrapolierte besonders schlecht über den beobachteten Bereich der Probe hinaus.diese Überarbeitung dieser Antwort.)
R
require(MASS) #for multivariate normal simulation
nsample <- 25 #sample to regress
nholdout <- 1e6 #to check model predictions
Sigma <- matrix(c(1, 0.5, 0.4, 0.5, 1, 0.3, 0.4, 0.3, 1), nrow=3)
df <- as.data.frame(mvrnorm(n=(nsample+nholdout), mu=c(5,5,5), Sigma=Sigma))
colnames(df) <- c("x1", "x2", "x3")
df$y <- 5 + 2 * df$x1 + rnorm(n=nrow(df)) #y = 5 + *x1 + e
holdout.df <- df[1:nholdout,]
regress.df <- df[(nholdout+1):(nholdout+nsample),]
overfit.lm <- lm(y ~ x1*x2*x3, regress.df)
correctspec.lm <- lm(y ~ x1, regress.df)
summary(overfit.lm)
summary(correctspec.lm)
holdout.df$overfitPred <- predict.lm(overfit.lm, newdata=holdout.df)
holdout.df$correctSpecPred <- predict.lm(correctspec.lm, newdata=holdout.df)
with(holdout.df, sum((y - overfitPred)^2)) #SSE
with(holdout.df, sum((y - correctSpecPred)^2))
require(ggplot2)
errors.df <- data.frame(
Model = rep(c("Overfitted", "Correctly specified"), each=nholdout),
Error = with(holdout.df, c(y - overfitPred, y - correctSpecPred)))
ggplot(errors.df, aes(x=Error, color=Model)) + geom_density(size=1) +
theme(legend.position="bottom")
Hier sind meine Ergebnisse aus einem Durchlauf, aber es ist am besten, die Simulation mehrmals auszuführen, um den Effekt verschiedener generierter Stichproben zu sehen.
> summary(overfit.lm)
Call:
lm(formula = y ~ x1 * x2 * x3, data = regress.df)
Residuals:
Min 1Q Median 3Q Max
-2.22294 -0.63142 -0.09491 0.51983 2.24193
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 18.85992 65.00775 0.290 0.775
x1 -2.40912 11.90433 -0.202 0.842
x2 -2.13777 12.48892 -0.171 0.866
x3 -1.13941 12.94670 -0.088 0.931
x1:x2 0.78280 2.25867 0.347 0.733
x1:x3 0.53616 2.30834 0.232 0.819
x2:x3 0.08019 2.49028 0.032 0.975
x1:x2:x3 -0.08584 0.43891 -0.196 0.847
Residual standard error: 1.101 on 17 degrees of freedom
Multiple R-squared: 0.8297, Adjusted R-squared: 0.7596
F-statistic: 11.84 on 7 and 17 DF, p-value: 1.942e-05
> summary(correctspec.lm)
Call:
lm(formula = y ~ x1, data = regress.df)
Residuals:
Min 1Q Median 3Q Max
-2.4951 -0.4112 -0.2000 0.7876 2.1706
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.7844 1.1272 4.244 0.000306 ***
x1 1.9974 0.2108 9.476 2.09e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.036 on 23 degrees of freedom
Multiple R-squared: 0.7961, Adjusted R-squared: 0.7872
F-statistic: 89.8 on 1 and 23 DF, p-value: 2.089e-09
> with(holdout.df, sum((y - overfitPred)^2)) #SSE
[1] 1271557
> with(holdout.df, sum((y - correctSpecPred)^2))
[1] 1052217
(und hatte mehr Freiheitsgrade dazu als das korrekt angegebene Modell, könnte also eine "bessere" Passform ergeben). Sehen Sie sich die Summe der quadratischen Fehler für die Vorhersagen im Holdout-Satz an, aus denen wir die Regressionskoeffizienten nicht geschätzt haben, und sehen Sie, um wie viel schlechter sich das überangepasste Modell entwickelt hat. In Wirklichkeit ist das korrekt spezifizierte Modell dasjenige, das die besten Vorhersagen macht. Wir sollten unsere Einschätzung der prädiktiven Leistung nicht auf die Ergebnisse der Daten stützen, die wir zur Schätzung der Modelle verwendet haben. Hier ist ein Dichtediagramm der Fehler, wobei die korrekte Modellspezifikation mehr Fehler nahe 0 erzeugt:
Die Simulation stellt eindeutig viele relevante Situationen im wirklichen Leben dar (stellen Sie sich eine reale Reaktion vor, die von einem einzelnen Prädiktor abhängt, und stellen Sie sich vor, Sie würden irrelevante "Prädiktoren" in das Modell einbeziehen), hat aber den Vorteil, dass Sie mit dem Datenerzeugungsprozess spielen können , die Stichprobengröße, die Art des überausgestatteten Modells und so weiter. Auf diese Weise können Sie die Auswirkungen einer Überanpassung am besten untersuchen, da Sie für beobachtete Daten im Allgemeinen keinen Zugriff auf das DGP haben und es sich immer noch um "echte" Daten in dem Sinne handelt, dass Sie sie untersuchen und verwenden können. Hier sind einige wertvolle Ideen, mit denen Sie experimentieren sollten:
n <- 1e6
Sigma
. Denken Sie daran, es positiv halb-definit zu halten (was auch bedeutet, symmetrisch zu sein). Wenn Sie die Multikollinearität reduzieren, sollten Sie feststellen, dass das überausgerüstete Modell nicht ganz so schlecht abschneidet. Bedenken Sie jedoch, dass korrelierte Prädiktoren im wirklichen Leben vorkommen.df$y <- 5 + 2*df$x1 + rnorm(n=nrow(df))
df$y <- 5 + 2 * df$x1 + 0.1*df$x2 + 0.1*df$x3 + rnorm(n=nrow(df))
nsample <- 25
in einer kleinen Stichprobe so schwer zu erkennen sind, nutzt das vollständige Modell die Flexibilität seiner zusätzlichen Freiheitsgrade, um das Rauschen anzupassen, und dies wird schlecht verallgemeinert. Aber mitnsample <- 1e6
Dies kann die schwächeren Effekte ziemlich gut abschätzen, und Simulationen zeigen, dass das komplexe Modell eine Vorhersageleistung aufweist, die die der einfachen Modelle übertrifft. Dies zeigt, wie "Überanpassung" sowohl ein Problem der Modellkomplexität als auch der verfügbaren Daten ist.Als ich versuchte, dies selbst zu verstehen, fing ich an, in Analogien mit der Beschreibung realer Objekte zu denken. Ich denke, es ist so "real" wie möglich, wenn Sie die allgemeine Idee verstehen wollen:
Angenommen, Sie möchten jemandem das Konzept eines Stuhls beschreiben, damit er ein konzeptionelles Modell erhält, mit dem er vorhersagen kann, ob ein neues Objekt, das er findet, ein Stuhl ist. Du gehst nach Ikea, holst dir ein Muster von Stühlen und beschreibst sie mit zwei Variablen: Es ist ein Objekt mit vier Beinen, auf dem du sitzen kannst. Nun, das kann auch einen Hocker oder ein Bett oder viele andere Dinge beschreiben. Ihr Modell passt nicht so gut, als ob Sie versuchen würden, eine komplexe Verteilung mit zu wenigen Variablen zu modellieren - viele Dinge, die nicht zum Stuhl gehören, werden als Stühle identifiziert. Erhöhen wir also die Anzahl der Variablen und fügen hinzu, dass das Objekt zum Beispiel einen Back haben muss. Jetzt haben Sie ein ziemlich akzeptables Modell, das Ihre Stühle beschreibt, aber allgemein genug ist, um ein neues Objekt als eines zu identifizieren. Ihr Modell beschreibt die Daten und kann Vorhersagen treffen. Angenommen, Sie haben ein Set, bei dem alle Stühle schwarz oder weiß sind und aus Holz bestehen. Sie entscheiden sich, diese Variablen in Ihr Modell aufzunehmen, und plötzlich wird ein gelber Plastikstuhl nicht mehr als Stuhl identifiziert. Nachdem Sie Ihr Modell überarbeitet haben, haben Sie Funktionen Ihres Datensatzes aufgenommen, als wären sie Funktionen von Stühlen im Allgemeinen (wenn Sie dies vorziehen, haben Sie "Rauschen" als "Signal" identifiziert, indem Sie zufällige Abweichungen von Ihrer Stichprobe als interpretieren) ein Merkmal der ganzen "realen Welt Stühle"). Sie erhöhen also entweder Ihre Stichprobe und hoffen, neue Materialien und Farben hinzuzufügen, oder Sie verringern die Anzahl der Variablen in Ihren Modellen. t Identifizieren Sie einen gelben Plastikstuhl als Stuhl. Nachdem Sie Ihr Modell überarbeitet haben, haben Sie Funktionen Ihres Datensatzes aufgenommen, als wären sie Funktionen von Stühlen im Allgemeinen (wenn Sie dies vorziehen, haben Sie "Rauschen" als "Signal" identifiziert, indem Sie zufällige Abweichungen von Ihrer Stichprobe als interpretieren) ein Merkmal der ganzen "realen Welt Stühle"). Sie erhöhen also entweder Ihre Stichprobe und hoffen, neue Materialien und Farben hinzuzufügen, oder Sie verringern die Anzahl der Variablen in Ihren Modellen. t Identifizieren Sie einen gelben Plastikstuhl als Stuhl. Nachdem Sie Ihr Modell überarbeitet haben, haben Sie Funktionen Ihres Datensatzes aufgenommen, als wären sie Funktionen von Stühlen im Allgemeinen (wenn Sie dies vorziehen, haben Sie "Rauschen" als "Signal" identifiziert, indem Sie zufällige Abweichungen von Ihrer Stichprobe als interpretieren) ein Merkmal der ganzen "realen Welt Stühle"). Sie erhöhen also entweder Ihre Stichprobe und hoffen, neue Materialien und Farben hinzuzufügen, oder Sie verringern die Anzahl der Variablen in Ihren Modellen.
Dies mag eine vereinfachende Analogie sein und wird einer weiteren Prüfung unterzogen, aber ich denke, sie funktioniert als allgemeine Konzeptualisierung. Lassen Sie mich wissen, ob ein Teil einer Klärung bedarf.
Bei der prädiktiven Modellierung geht es darum, anhand der vorliegenden Daten die vorhandenen Trends zu ermitteln, die auf zukünftige Daten verallgemeinert werden können. Indem Sie Variablen in Ihr Modell aufnehmen, die geringfügige, nicht signifikante Auswirkungen haben, geben Sie diese Idee auf. Was Sie tun, ist die Berücksichtigung der spezifischen Trends in Ihrer spezifischen Stichprobe, die nur aufgrund von zufälligem Rauschen statt eines wahren, zugrunde liegenden Trends vorliegen. Mit anderen Worten, ein Modell mit zu vielen Variablen passt eher zum Rauschen als zum Erkennen des Signals.
Hier ist eine übertriebene Darstellung dessen, wovon ich spreche. Hier sind die Punkte die beobachteten Daten und die Linie ist unser Modell. Sieh dir das perfekt an - was für ein tolles Modell! Aber haben wir den Trend wirklich entdeckt oder passen wir einfach zum Geräusch? Wahrscheinlich letzteres.
Eine Form der Überanpassung ist im Sport weit verbreitet, nämlich das Ermitteln von Mustern zur Erklärung vergangener Ergebnisse durch Faktoren, die keine oder bestenfalls vage Aussagekraft für zukünftige Ergebnisse haben. Ein gemeinsames Merkmal dieser "Muster" ist, dass sie häufig auf sehr wenigen Fällen beruhen, so dass der reine Zufall wahrscheinlich die plausibelste Erklärung für das Muster ist.
Beispiele sind Dinge wie (die "Zitate" sind von mir erfunden, sehen aber oft ähnlich aus)
Team A hat alle X Spiele gewonnen, seit der Trainer seine magische rote Jacke trägt.
Ähnlich:
Wir werden uns in den Playoffs nicht rasieren, denn das hat uns geholfen, die letzten X Spiele zu gewinnen.
Weniger abergläubisch, aber auch eine Form der Überanpassung:
Borussia Dortmund hat noch nie ein Heimspiel in der Champions League gegen einen spanischen Gegner verloren, als er das letzte Auswärtsspiel der Bundesliga mit mehr als zwei Toren verloren hat, nachdem er selbst mindestens einmal getroffen hat.
Ähnlich:
Roger Federer hat alle seine Davis Cup-Einsätze für europäische Gegner gewonnen, als er bei den diesjährigen Australian Open mindestens das Halbfinale erreicht hatte.
Die ersten beiden sind ziemlich offensichtlicher Unsinn (zumindest für mich). Die letzten beiden Beispiele mögen in der Stichprobe durchaus zutreffen (dh in der Vergangenheit), aber ich würde sehr gerne gegen einen Gegner wetten, der diese "Information" seine Chancen auf Dortmund gegen Madrid erheblich beeinflussen würde, wenn er 4 verlieren würde: 1 auf Schalke am Samstag zuvor oder Federer besiegte Djokovic, auch wenn er in diesem Jahr die Australian Open gewann.
Hier ist ein Beispiel aus der "realen Welt", nicht in dem Sinne, dass jemand in der Forschung darauf gestoßen ist, sondern in dem Sinne, dass es alltägliche Konzepte ohne viele statistikspezifische Begriffe verwendet. Vielleicht ist diese Art zu sagen für manche Menschen, die in anderen Bereichen trainieren, hilfreicher.
Stellen Sie sich vor, Sie haben eine Datenbank mit Daten über Patienten mit einer seltenen Krankheit. Sie sind Medizinstudent und möchten wissen, ob Sie Risikofaktoren für diese Krankheit erkennen können. In diesem Krankenhaus gab es 8 Fälle von dieser Krankheit, und Sie haben 100 zufällige Informationen über sie aufgezeichnet: Alter, Rasse, Geburtsreihenfolge, hatten sie als Kind Masern, was auch immer. Sie haben auch die Daten für 8 Patienten ohne diese Krankheit aufgezeichnet.
Sie entscheiden sich für die Verwendung der folgenden Heuristik für Risikofaktoren: Wenn ein Faktor bei mehr als einem Ihrer erkrankten Patienten einen bestimmten Wert annimmt, aber bei 0 Ihrer Kontrollen, wird er als Risikofaktor betrachtet. (Im wirklichen Leben würden Sie eine bessere Methode verwenden, aber ich möchte es einfach halten). Sie stellen fest, dass 6 Ihrer Patienten Vegetarier sind (aber keine der Kontrollen ist vegetarisch), 3 schwedische Vorfahren haben und zwei von ihnen eine stotternde Sprachbehinderung haben. Von den anderen 97 Faktoren kommt nichts bei mehr als einem Patienten vor, ist jedoch bei den Kontrollen nicht vorhanden.
Jahre später interessiert sich jemand anderes für diese Waisenkrankheit und wiederholt Ihre Forschung. Da er in einem größeren Krankenhaus arbeitet, das eine Kooperation zum Datenaustausch mit anderen Krankenhäusern unterhält, kann er im Gegensatz zu Ihren 8 Fällen Daten zu 106 Fällen verwenden. Und er findet heraus, dass die Prävalenz von Stottern in der Patientengruppe und in der Kontrollgruppe gleich ist; Stottern ist kein Risikofaktor.
Was hier passiert ist, ist, dass Ihre kleine Gruppe zufällig 25% Stotterer hatte. Ihre Heuristik konnte nicht erkennen, ob dies medizinisch relevant ist oder nicht. Sie gaben Kriterien an, um zu entscheiden, wann Sie ein Muster in den Daten für "interessant" genug halten, um in das Modell aufgenommen zu werden, und nach diesen Kriterien war das Stottern interessant genug.
Ihr Modell wurde überpasst, weil es fälschlicherweise einen Parameter enthielt, der in der realen Welt nicht wirklich relevant ist. Es passt sehr gut zu Ihrer Probe - den 8 Patienten + 8 Kontrollen -, aber es passt nicht zu den Daten der realen Welt. Wenn ein Modell Ihre Stichprobe besser beschreibt als die Realität, wird es als überpasst bezeichnet.
Wenn Sie einen Schwellenwert von 3 von 8 Patienten mit einem Merkmal gewählt hätten, wäre dies nicht geschehen - aber Sie hätten eine höhere Chance gehabt, etwas wirklich Interessantes zu verpassen. Besonders in der Medizin, wo viele Krankheiten nur bei einem kleinen Teil der Menschen mit Risikofaktoren auftreten, ist dies ein schwieriger Kompromiss. Und es gibt Methoden, um dies zu vermeiden (vergleichen Sie im Grunde genommen mit einer zweiten Stichprobe, um festzustellen, ob die Erklärungskraft gleich bleibt oder fällt), aber dies ist ein Thema für eine andere Frage.
Hier ist ein reales Beispiel für eine Überanpassung, bei der ich mitgeholfen und dann (erfolglos) versucht habe, sie abzuwenden:
Ich hatte mehrere tausend unabhängige, bivariate Zeitreihen mit jeweils nicht mehr als 50 Datenpunkten, und das Modellierungsprojekt umfasste die Anpassung einer Vektorautoregression (VAR) an jede einzelne. Es wurde kein Versuch unternommen, über Beobachtungen hinweg zu regulieren, Varianzkomponenten zu schätzen oder ähnliches. Die Zeitpunkte wurden über einen Zeitraum von einem Jahr gemessen, sodass die Daten allen saisonalen und zyklischen Effekten unterworfen waren, die in jeder Zeitreihe nur einmal auftraten.
Eine Teilmenge der Daten wies im Vergleich zu den übrigen Daten eine unplausibel hohe Granger-Kausalitätsrate auf. Stichproben ergaben, dass positive Spitzen in dieser Teilmenge ein oder zwei Verzögerungen auftraten. Aus dem Zusammenhang ging jedoch hervor, dass beide Spitzen direkt von einer externen Quelle verursacht wurden und dass eine Spitze nicht die andere verursachte. Vorhersagen außerhalb der Stichprobe mit diesen Modellen wären wahrscheinlich falsch, da die Modelle überarbeitet waren: Anstatt die Spitzen durch Mitteln aus den restlichen Daten zu "glätten", gab es nur wenige Beobachtungen, die tatsächlich von den Spitzen verursacht wurden die Schätzungen.
Insgesamt denke ich, dass das Projekt nicht schlecht gelaufen ist, aber ich denke nicht, dass es Ergebnisse hervorgebracht hat, die bei weitem nicht so nützlich waren, wie sie hätten sein können. Ein Grund dafür ist, dass das Verfahren mit vielen unabhängigen VARs, selbst mit nur ein oder zwei Verzögerungen, eine schwierige Unterscheidung zwischen Daten und Rauschen hatte und daher auf Kosten der Gewährung von Einsicht über die Daten zu letzteren passte ehemalige.
Viele intelligente Leute in diesem Thread - viel mehr Kenner der Statistik als ich. Aber ich sehe immer noch kein leicht verständliches Beispiel für Laien. Das Presidential-Beispiel ist in Bezug auf die typische Überanpassung nicht ganz überzeugend, denn während es in jeder seiner wilden Behauptungen technisch überanpassungsfähig ist, passt ein überanpassungsfähiges Modell in der Regel zu dem gegebenen Geräusch, nicht nur zu einem Element.
Ich mag das Diagramm in der Bias-Varianz-Tradeoff-Erklärung in Wikipedia wirklich: http://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff
(Die unterste Tabelle ist das Beispiel für eine Überanpassung.)
Es fällt mir schwer, mir ein reales Beispiel vorzustellen, das nicht nach komplettem Hokuspokus klingt. Die Idee ist, dass Daten zum Teil durch messbare, verständliche Variablen verursacht werden - zum Teil durch zufälliges Rauschen. Der Versuch, dieses Rauschen als Muster zu modellieren, führt zu Ungenauigkeiten.
Ein klassisches Beispiel ist die Modellierung von SOLELY auf R ^ 2 in MS Excel (Sie versuchen, eine Gleichung / ein Modell mit Hilfe von Polynomen buchstäblich so nah wie möglich an die Daten anzupassen, egal wie unsinnig sie auch sein mögen).
Angenommen, Sie versuchen, den Eisverkauf als Funktion der Temperatur zu modellieren. Sie haben Daten aus der "realen Welt". Sie zeichnen die Daten und versuchen, R ^ 2 zu maximieren. Sie werden feststellen, dass bei Verwendung von Daten aus der realen Welt die engste Anpassungsgleichung nicht linear oder quadratisch ist (was logisch sinnvoll wäre). Wie bei fast allen Gleichungen gilt: Je mehr unsinnige Polynomterme Sie hinzufügen (x ^ 6 -2x ^ 5 + 3x ^ 4 + 30x ^ 3-43,2x ^ 2-29x), desto genauer passen sie zu den Daten. Wie hängt die Temperatur also sinnvoll mit dem Eisverkauf zusammen? Wie würden Sie dieses lächerliche Polynom erklären? Die Wahrheit ist, es ist nicht das wahre Modell. Sie haben die Daten überarbeitet.
Sie nehmen Lärm, der möglicherweise auf Verkaufsförderungsaktionen oder andere Variablen oder "Lärm" zurückzuführen ist, wie einen Schmetterling, der mit den Flügeln im Kosmos flattert (etwas, das niemals vorhersehbar ist), und versuchen, diesen Lärm basierend auf der Temperatur zu modellieren. Wenn Ihr Rauschen / Fehler normalerweise nicht auf Null gemittelt wird oder automatisch korreliert wird, bedeutet dies, dass es mehr Variablen gibt - und schließlich kommt es zu einem allgemein zufällig verteilten Rauschen, aber das ist immer noch das Beste, was ich kann erkläre es.
Mein Favorit ist die Formel 3964, die ich vor der Fußball-Weltmeisterschaft 1998 entdeckt habe:
Brasilien gewann die Meisterschaften 1970 und 1994. Fassen Sie diese beiden Zahlen zusammen und Sie erhalten 3964; Deutschland gewann 1974 und 1990 und summierte sich erneut auf 3964; Das gleiche gilt für Argentinien, das 1978 und 1986 gewann (1978 + 1986 = 3964).
Dies ist eine sehr überraschende Tatsache, aber jeder kann erkennen, dass es nicht ratsam ist, eine zukünftige Vorhersage auf dieser Regel zu gründen. Tatsächlich besagt die Regel, dass der Gewinner der Weltmeisterschaft 1998 England seit 1966 + 1998 = 3964 und England 1966 gewann. Dies geschah nicht und der Gewinner war Frankreich.
Ein bisschen intuitiv, aber vielleicht hilft es. Angenommen, Sie möchten eine neue Sprache lernen. Wie lernst du? Anstatt die Regeln in einem Kurs zu lernen, verwenden Sie Beispiele. Insbesondere Fernsehsendungen. Also magst du Krimishows und siehst ein paar Serien von Polizisten-Shows. Dann nimmst du eine weitere Krimisendung und siehst dir Serien aus dieser an. Bei der dritten Show siehst du - du weißt fast alles, kein Problem. Sie brauchen keine englischen Untertitel.
Aber dann probieren Sie Ihre neu erlernte Sprache bei Ihrem nächsten Besuch auf der Straße aus und stellen fest, dass Sie über nichts anderes sprechen können, als zu sagen: "Offizier! Dieser Mann hat meine Tasche genommen und diese Dame erschossen!". Während Ihr "Trainingsfehler" Null war, ist Ihr "Testfehler" hoch, da die Sprache "überarbeitet" wurde, nur eine begrenzte Teilmenge von Wörtern studiert wurde und davon ausgegangen wurde, dass sie ausreicht.