Je comprends un peu ce que signifie "surapprentissage", mais j’ai besoin d’aide pour trouver un exemple concret qui s’applique à la suralimentation.
Je comprends un peu ce que signifie "surapprentissage", mais j’ai besoin d’aide pour trouver un exemple concret qui s’applique à la suralimentation.
Réponses:
Voici un bel exemple de modèles de séries chronologiques pour les élections présidentielles de xkcd:
Il n’ya eu que 56 élections présidentielles et 43 présidents. Ce ne sont pas beaucoup de données à apprendre. Lorsque l'espace de prédicteur s'agrandit pour inclure des éléments tels que fausses dents et la valeur en points de Scrabble, il est assez facile pour le modèle d'adapter les caractéristiques généralisables des données (le signal) et de commencer à faire correspondre le bruit. Lorsque cela se produit, l'ajustement des données historiques peut être amélioré, mais le modèle échouera lamentablement lorsqu'il sera utilisé pour tirer des conclusions sur les futures élections présidentielles.
Mon préféré était l'exemple de Matlab de la population recensée aux États-Unis:
(Au moins , je sincèrement espère que ceci est un exemple de overfitting)
http://www.mathworks.com/help/curvefit/examples/polynomial-curve-fitting.html#zmw57dd0e115
L'étude de Chen et al. (2013) adapte deux cubiques à une discontinuité supposée de l'espérance de vie en fonction de la latitude.
Chen Y., Ebenstein, A., Greenstone, M. et Li, H., 2013. Preuves de l'impact de l'exposition prolongée à la pollution de l'air sur l'espérance de vie découlant de la politique chinoise sur la rivière Huai. Actes de l'Académie nationale des sciences 110: 12936-12941. abstrait
Malgré sa publication dans un journal exceptionnel, etc., son approbation tacite par des personnalités distinguées, etc., je voudrais néanmoins présenter cela comme un exemple prima facie de sur-adaptation.
Un signe révélateur est l'implausibilité des cubiques. Le montage d'un cube suppose implicitement qu'il y a une raison pour laquelle l'espérance de vie varierait comme un polynôme du troisième degré de la latitude où vous habitez. Cela semble plutôt invraisemblable: il n’est pas facile d’imaginer un mécanisme physique plausible qui provoquerait un tel effet.
Voir également l'article suivant sur le blog pour une analyse plus détaillée de ce document: Données sur l'impact de l'utilisation soutenue de la régression polynomiale sur l'inférence causale (affirmation selon laquelle le chauffage au charbon réduit la durée de vie de 5 ans pour un demi-milliard de personnes) .
Dans un article du 14 mars 2014 dans Science , David Lazer, Ryan Kennedy, Gary King et Alessandro Vespignani ont identifié des problèmes dans Google Flu Trends qu’ils attribuent à la suralimentation.
Voici comment ils racontent l'histoire, y compris leur explication de la nature de l'overfitting et la raison pour laquelle l'algorithme a échoué:
En février 2013, ... Nature a signalé que GFT prédisait plus du double de la proportion de visites chez le médecin pour syndrome grippal (SG) par rapport aux centres de contrôle et de prévention des maladies (CDC) .... Cela s’est produit malgré le fait que GFT a été conçu pour prévoir les rapports du CDC. ...
La méthodologie consistait essentiellement à trouver les meilleurs correspondances parmi 50 millions de termes de recherche pour correspondre à 1152 points de données. Les chances de trouver des termes de recherche qui correspondent à la propension de la grippe mais qui sont structurellement indépendants, et qui ne prédisent donc pas l’avenir, étaient très élevées. Les développeurs de GFT, en fait, rapportent avoir éliminé les termes de recherche saisonnière non liés à la grippe mais fortement corrélés aux données du CDC, tels que ceux concernant le basketball au lycée. Cela aurait dû être un avertissement sur le fait que les mégadonnées sur-utilisaient trop le petit nombre de cas - une préoccupation standard dans l'analyse des données. Cette méthode ad hoc de suppression des termes de recherche particuliers a échoué lorsque GFT a complètement manqué la pandémie non saisonnière de grippe A – H1N1 de 2009.
[Je souligne.]
J'ai vu cette image il y a quelques semaines et je pensais qu'elle était plutôt pertinente pour la question à l'étude.
Au lieu d'adapter linéairement la séquence, il a été équipé d'un polynôme quartique, parfaitement ajusté, mais aboutissant à une réponse clairement ridicule.
Pour moi, le meilleur exemple est le système ptolémaïque en astronomie. Ptolémée a supposé que la Terre était au centre de l'univers et a créé un système sophistiqué d'orbites circulaires imbriquées, qui expliquerait très bien les mouvements d'objet dans le ciel. Les astronomes devaient continuer à ajouter des cercles pour expliquer la déviation, jusqu'à ce qu'un jour, cela devienne si compliqué que les gens commencent à en douter. C'est alors que Copernicus a proposé un modèle plus réaliste.
C’est le meilleur exemple de surajustement pour moi. Vous ne pouvez pas sur-adapter le processus de génération de données (DGP) aux données. Vous ne pouvez surévaluer que le modèle spécifié. Presque tous nos modèles en sciences sociales sont mal spécifiés, il est donc essentiel de s'en souvenir et de les garder parcimonieux. Ne pas essayer de saisir tous les aspects de l'ensemble de données, mais essayer de saisir les caractéristiques essentielles par la simplification.
Disons que vous avez 100 points sur un graphique.
Vous pouvez dire: hmm, je veux prédire le prochain.
Ici vous pouvez voir une illustration simplifiée pour cet exemple:
Plus l'ordre polynomial est élevé, plus il conviendra aux points existants.
Cependant, les polynômes d'ordre élevé, bien qu'ils semblent être de meilleurs modèles pour les points, les surajustent réellement. Il modélise le bruit plutôt que la vraie distribution de données.
Par conséquent, si vous ajoutez un nouveau point au graphique avec votre courbe parfaitement ajustée, il sera probablement plus éloigné de la courbe que si vous utilisiez un polynôme d'ordre inférieur plus simple.
L'analyse qui a pu contribuer à la catastrophe de Fukushima est un exemple de surapprentissage. Dans Earth Science, il existe une relation bien connue qui décrit la probabilité de tremblements de terre d’une certaine taille, étant donné la fréquence observée de séismes «moindres». Cette relation est connue sous le nom de relation Gutenberg-Richter et fournit un ajustement de journal linéaire sur plusieurs décennies. L’analyse du risque sismique à proximité du réacteur (ce schéma tiré de l’excellent ouvrage de Nate Silver intitulé "Le signal et le bruit") montre un "pli" dans les données. Ignorer cet inconvénient conduit à estimer le risque annualisé d'un séisme de magnitude 9 à environ 1 sur 300, ce qui est certainement un préparatif. cependant, Le surajustement d’une ligne à double pente (comme cela a apparemment été fait lors de l’évaluation initiale des risques pour les réacteurs) réduit la prévision des risques à environ 1 sur 13 000 ans. On ne peut reprocher aux ingénieurs de ne pas avoir conçu les réacteurs pour résister à un événement aussi improbable - mais il faut absolument reprocher aux statisticiens qui ont surajusté (puis extrapolé) les données ...
"Agh! Pat quitte l'entreprise. Comment allons-nous jamais trouver un remplaçant?"
Offre d'emploi:
Recherché: ingénieur électricien. Androgyne de 42 ans, diplômée en génie électrique, en mathématiques et en élevage. Doit être de 68 pouces de hauteur avec des cheveux bruns, une taupe sur l'œil gauche, et sujette à de longues diatribes contre les oies et à un emploi abusif du mot «avocat».
Sur un plan mathématique, le surajustement consiste souvent à créer un modèle avec plus de paramètres que nécessaire, ce qui permet un meilleur ajustement pour un ensemble de données spécifique, mais sans capturer les détails pertinents nécessaires pour s’adapter aux autres ensembles de données de la classe considérée.
Dans l'exemple ci-dessus, l'affiche est incapable de différencier les caractéristiques pertinentes des caractéristiques non pertinentes. Les qualifications qui en résultent ne sont probablement satisfaites que par la seule personne qu’elles savent déjà qui convient au poste (mais ne le souhaite plus).
Celui-ci est inventé, mais j'espère que cela illustrera le cas.
Exemple 1
set.seed(123)
k <- 100
data <- replicate(k, rnorm(100))
colnames(data) <- make.names(1:k)
data <- as.data.frame(data)
A présent, ajustons-lui une régression linéaire:
fit <- lm(X1 ~ ., data=data)
Et voici un résumé pour les dix premiers prédicteurs:
> 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
les résultats semblent assez bizarres, mais faisons le tracé.
> sum(abs(data$X1-fitted(fit)))
[1] 0
Il est nul, les parcelles ne nous ont donc pas menti: le modèle s’adapte parfaitement. Et quelle est sa précision dans la classification?
> sum(data$X1==fitted(fit))
[1] 100
Exemple 2
Un autre exemple. Permet de créer plus de données:
data2 <- cbind(1:10, diag(10))
colnames(data2) <- make.names(1:11)
data2 <- as.data.frame(data2)
donc ça ressemble à ça:
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
et maintenant ajustons une régression linéaire à ceci:
fit2 <- lm(X1~., data2)
nous obtenons donc les estimations suivantes:
> 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
C'est assez explicite. Vous pouvez considérer l' exemple 1 comme similaire à l' exemple 2, mais avec du "bruit" ajouté. Si vous disposez de suffisamment de données et que vous les utilisez pour "prédire" quelque chose, une "fonctionnalité" unique peut parfois vous convaincre que vous avez un "modèle" qui décrit bien votre variable dépendante, alors que ce n'est peut-être qu'une coïncidence. Dans l' exemple 2, rien n'est vraiment prévu, mais c'est exactement ce qui s'est passé dans l' exemple 1, mais les valeurs des variables étaient différentes.
Exemples concrets
L’exemple le plus concret en est la prévision d’attaques terroristes du 11 septembre 2001 en observant des "schémas" de nombres tirés au hasard par des générateurs de nombres pseudo-aléatoires de Global Consciousness Project ou des "messages secrets" dans "Moby Dick" qui révèlent des faits sur les assassinats de personnes célèbres. (inspiré par des découvertes similaires dans la Bible ).
Conclusion
Si vous regardez assez, vous trouverez des "modèles" pour n'importe quoi. Cependant, ces schémas ne vous permettront pas d’apprendre quoi que ce soit sur l’univers et ne vous aideront pas à tirer des conclusions générales. Elles s’intégreront parfaitement à vos données, mais seraient inutiles car elles ne correspondraient à rien d’autre que les données elles-mêmes. Ils ne vous laisseront pas faire de prédictions raisonnables hors échantillon, car ils feraient mieux d'imiter que de décrire les données.
Un problème courant qui entraîne une suralimentation dans la vie réelle est qu’en plus des termes d’un modèle correctement spécifié, nous avons peut-être ajouté quelque chose d’extraordinaire: des pouvoirs non pertinents (ou d’autres transformations) des termes corrects, des variables non pertinentes ou des interactions non pertinentes.
Cela se produit dans la régression multiple si vous ajoutez une variable qui ne devrait pas apparaître dans le modèle correctement spécifié mais que vous ne voulez pas supprimer, car vous avez peur d'induire un biais de variable omis . Bien sûr, vous n’avez aucun moyen de savoir que vous l’avez mal incluse, car vous ne pouvez pas voir l’ensemble de la population, mais uniquement votre échantillon, vous ne pouvez donc pas savoir avec certitude quelle est la spécification correcte. (Comme @Scortchi le souligne dans les commentaires, il n’existe peut-être pas de spécification de modèle "correcte" - en ce sens, le but de la modélisation est de trouver une spécification "suffisamment bonne"; éviter les surajustements implique d'éviter la complexité du modèle Si vous souhaitez un exemple concret d’overfitting, cela se produit à chaque fois.vous intégrez tous les prédicteurs potentiels dans un modèle de régression, si aucun d’entre eux n’avait en fait aucun rapport avec la réponse une fois que les effets des autres sont partiels.
Avec ce type de surajustement, la bonne nouvelle est que l'inclusion de ces termes non pertinents n'introduit pas de biais dans vos estimateurs et que, dans de très grands échantillons, les coefficients des termes non pertinents devraient être proches de zéro. Mais il y a aussi une mauvaise nouvelle: comme les informations limitées de votre échantillon sont maintenant utilisées pour estimer plus de paramètres, il ne peut le faire qu'avec moins de précision - les erreurs-types sur les termes véritablement pertinents augmentent donc. Cela signifie également qu'elles seront probablement plus éloignées des valeurs vraies que les estimations d'une régression correctement spécifiée, ce qui signifie que si les nouvelles valeurs de vos variables explicatives sont données, les prédictions du modèle suréquipé auront tendance à être moins précises que pour le modèle correctement spécifié.
Voici un graphique du logarithme du PIB par rapport au logarithme de 50 États américains en 2010. Un échantillon aléatoire de 10 États a été sélectionné (surligné en rouge) et pour cet échantillon, nous ajustons un modèle linéaire simple et un polynôme de degré 5. Pour l'échantillon points, le polynôme a des degrés de liberté supplémentaires qui lui permettent de "se tortiller" plus près des données observées que ne le peut la ligne droite. Mais dans l’ensemble, les 50 États obéissent à une relation presque linéaire, de sorte que la performance prédictive du modèle polynomial sur les 40 points hors échantillon est très médiocre par rapport au modèle moins complexe, en particulier lors de l’extrapolation. Le polynôme correspondait effectivement à une partie de la structure aléatoire (bruit) de l'échantillon, qui ne s'est pas généralisée à l'ensemble de la population. L'extrapolation au-delà de la plage observée de l'échantillon était particulièrement médiocre.cette révision de cette réponse.)
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")
Voici les résultats d'une analyse, mais il est préférable d'exécuter la simulation plusieurs fois pour voir l'effet de différents échantillons générés.
> 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
(et disposait de plus de degrés de liberté que le modèle spécifié correctement pour produire un "meilleur" ajustement). Examinez la somme des erreurs carrées pour les prédictions de l'ensemble de rétention, que nous n'avons pas utilisées pour estimer les coefficients de régression, et nous pouvons voir à quel point le modèle suréquipé a été pire. En réalité, le modèle correctement spécifié est celui qui fait les meilleures prédictions. Nous ne devrions pas baser notre évaluation de la performance prédictive sur les résultats de l'ensemble de données que nous avons utilisé pour estimer les modèles. Voici un graphique de densité des erreurs, avec la spécification de modèle correcte produisant plus d'erreurs proches de 0:
La simulation représente clairement de nombreuses situations réelles pertinentes (imaginez simplement une réponse réelle qui dépend d’un prédicteur unique et imaginez l’inclusion de "prédicteurs" superflus dans le modèle), mais présente l’avantage de pouvoir jouer avec le processus de génération de données. , la taille des échantillons, la nature du modèle suréquipé, etc. C’est la meilleure façon d’examiner les effets de la suralimentation car, pour les données observées, vous n’avez généralement pas accès au DGP, et il s’agit toujours de «vraies» données dans la mesure où vous pouvez les examiner et les utiliser. Voici quelques idées intéressantes que vous devriez expérimenter:
n <- 1e6
Sigma
. Rappelez-vous juste de le garder positif semi-défini (ce qui implique d'être symétrique). Vous devriez trouver que si vous réduisez la multicolinéarité, le modèle suréquipé ne fonctionne pas aussi mal. Mais gardez à l'esprit que des prédicteurs corrélés se produisent dans la vie réelle.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
nsample <- 1e6
, il peut très bien estimer les effets les plus faibles et les simulations montrent que le modèle complexe possède un pouvoir prédictif supérieur au modèle simple. Cela montre à quel point la "surévaluation" est un problème à la fois de complexité du modèle et de données disponibles.Quand j'essayais de comprendre cela moi-même, j'ai commencé à penser en termes d'analogie avec la description d'objets réels, alors je suppose que c'est dans le "monde réel" que vous pouvez obtenir, si vous voulez comprendre l'idée générale:
Supposons que vous souhaitiez décrire à quelqu'un le concept de chaise, de sorte qu'il dispose d'un modèle conceptuel lui permettant de prédire si un nouvel objet trouvé est une chaise. Vous allez chez Ikea pour obtenir un échantillon de chaises et commencez à les décrire en utilisant deux variables: c'est un objet à 4 pieds où vous pouvez vous asseoir. Cela peut aussi décrire un tabouret, un lit ou bien d’autres choses. Votre modèle est sous-adapté, comme si vous essayiez de modéliser une distribution complexe avec trop peu de variables - beaucoup d'éléments non-président seront identifiés en tant que chaises. Alors augmentons le nombre de variables, ajoutons que l'objet doit avoir un retour, par exemple. Vous avez maintenant un modèle assez acceptable qui décrit votre ensemble de chaises, mais qui est suffisamment général pour permettre l’identification d’un nouvel objet. Votre modèle décrit les données et est capable de faire des prédictions. Cependant, supposons que vous ayez un ensemble où toutes les chaises sont noires ou blanches et en bois. Vous décidez d’inclure ces variables dans votre modèle et tout à coup, il ne sera plus possible d’identifier une chaise jaune en plastique à une chaise. Donc, vous avez surajusté votre modèle, vous avez inclus les caractéristiques de votre jeu de données comme si elles étaient des caractéristiques de chaises en général (si vous préférez, vous avez identifié le "bruit" comme un "signal", en interprétant comme telles les variations aléatoires de votre échantillon). caractéristique de l'ensemble des "chaises du monde réel"). Vous pouvez donc augmenter votre échantillon et espérer inclure de nouveaux matériaux et couleurs ou réduire le nombre de variables dans vos modèles. t identifier une chaise jaune en plastique comme une chaise. Donc, vous avez surajusté votre modèle, vous avez inclus les caractéristiques de votre jeu de données comme si elles étaient des caractéristiques de chaises en général (si vous préférez, vous avez identifié le "bruit" comme un "signal", en interprétant comme telles les variations aléatoires de votre échantillon). caractéristique de l'ensemble des "chaises du monde réel"). Vous pouvez donc augmenter votre échantillon et espérer inclure de nouveaux matériaux et couleurs ou réduire le nombre de variables dans vos modèles. t identifier une chaise jaune en plastique comme une chaise. Donc, vous avez surajusté votre modèle, vous avez inclus les caractéristiques de votre jeu de données comme si elles étaient des caractéristiques de chaises en général (si vous préférez, vous avez identifié le "bruit" comme un "signal", en interprétant comme telles les variations aléatoires de votre échantillon). caractéristique de l'ensemble des "chaises du monde réel"). Vous pouvez donc augmenter votre échantillon et espérer inclure de nouveaux matériaux et couleurs ou réduire le nombre de variables dans vos modèles.
Il s’agit peut-être d’une analogie simpliste et d’une analyse approfondie, mais je pense que cela fonctionne comme une conceptualisation générale ... Faites-moi savoir si une partie doit être clarifiée.
En modélisation prédictive, l’idée est d’utiliser les données disponibles pour découvrir les tendances existantes et pouvant être généralisées aux données futures. En incluant dans votre modèle des variables ayant un effet mineur non significatif, vous abandonnez cette idée. Ce que vous faites, c'est examiner les tendances spécifiques de votre échantillon spécifique qui ne sont présentes qu’à cause du bruit aléatoire au lieu d’une véritable tendance sous-jacente. En d'autres termes, un modèle avec trop de variables s'adapte au bruit plutôt que de détecter le signal.
Voici une illustration exagérée de ce dont je parle. Ici, les points sont les données observées et la ligne est notre modèle. Regardez-le parfaitement: quel bon modèle! Mais avons-nous vraiment découvert la tendance ou sommes-nous simplement adaptés au bruit? Probablement le dernier.
Une forme de surajustement est assez courante dans le sport, à savoir identifier des schémas permettant d'expliquer les résultats passés par des facteurs n'ayant aucun pouvoir, ou au mieux vague, de prédire les résultats futurs. Une caractéristique commune de ces "modèles" est qu'ils sont souvent basés sur très peu de cas, de sorte que le hasard est probablement l'explication la plus plausible du modèle.
Les exemples incluent des choses comme (les "citations" sont faites par moi, mais se ressemblent souvent)
L’équipe A a remporté tous les X matchs depuis que l’entraîneur a commencé à porter sa veste rouge magique.
Similaire:
Nous ne nous rasons pas pendant les séries, car cela nous a permis de gagner les X derniers matchs.
Moins superstitieux, mais une forme de surajustement aussi:
Le Borussia Dortmund n'a jamais perdu un match à domicile de la Champions League face à un adversaire espagnol alors qu'il a perdu le match précédent de Bundesliga par plus de deux buts, après avoir marqué au moins une fois.
Similaire:
Roger Federer a remporté toutes ses apparitions en Coupe Davis avec ses adversaires européens lorsqu'il avait au moins atteint les demi-finales de l'Open d'Australie de cette année.
Les deux premiers sont un non-sens assez évident (du moins pour moi). Les deux derniers exemples peuvent parfaitement être vérifiés dans l'échantillon (c'est-à-dire, dans le passé), mais je serais très heureux de parier contre un adversaire qui laisserait cette "information" affecter considérablement ses chances de voir Dortmund battre Madrid si ils perdaient 4: 1 à Schalke le samedi précédent ou Federer battant Djokovic, même s'il avait remporté l'Open d'Australie cette année-là.
Voici un exemple du "monde réel", non pas dans le sens où il a été découvert par quelqu'un dans la recherche, mais dans le sens où il utilise des concepts de tous les jours sans beaucoup de termes spécifiques à une statistique. Peut-être que cette façon de le dire sera plus utile pour certaines personnes dont la formation est dans d'autres domaines.
Imaginez que vous disposiez d'une base de données contenant des données sur les patients atteints d'une maladie rare. Vous êtes étudiant en médecine et vous voulez savoir si vous pouvez reconnaître les facteurs de risque de cette maladie. Il y a eu 8 cas de la maladie dans cet hôpital et vous avez enregistré 100 informations aléatoires à leur sujet: âge, race, ordre de naissance, ont-elles eu la rougeole dans leur enfance, peu importe. Vous avez également enregistré les données pour 8 patients sans cette maladie.
Vous décidez d'utiliser l'heuristique suivante pour les facteurs de risque: si un facteur prend une valeur donnée chez plusieurs de vos patients malades, mais dans 0 de vos contrôles, vous considérerez qu'il s'agit d'un facteur de risque. (Dans la vraie vie, vous utiliseriez une meilleure méthode, mais je veux que cela reste simple). Vous découvrez que 6 de vos patients sont végétariens (mais aucun des témoins n’est végétarien), 3 ont des ancêtres suédois et deux d’entre eux souffrent de troubles de la parole. Parmi les 97 autres facteurs, rien ne se produit chez plus d'un patient, mais n'est pas présent chez les témoins.
Des années plus tard, quelqu'un d'autre s'intéresse à cette maladie orpheline et reproduit vos recherches. Puisqu'il travaille dans un hôpital plus grand, qui coopère en partage de données avec d'autres hôpitaux, il peut utiliser des données relatives à 106 cas, par opposition à vos 8 cas. Et il découvre que la prévalence des bègues est la même dans le groupe de patients et le groupe de contrôle; le bégaiement n'est pas un facteur de risque.
Ce qui s’est passé ici, c’est que votre petit groupe comptait 25% de bègues au hasard. Votre heuristique n'a aucun moyen de savoir si cela est médicalement pertinent ou non. Vous lui avez donné des critères pour décider quand vous considérez un motif dans les données suffisamment «intéressant» pour être inclus dans le modèle, et selon ces critères, le bégaiement était assez intéressant.
Votre modèle a été suradapté, car il incluait par erreur un paramètre qui n’était pas vraiment pertinent dans le monde réel. Cela correspond à votre échantillon - les 8 patients + 8 contrôles - très bien, mais il ne correspond pas aux données du monde réel. Lorsqu'un modèle décrit votre échantillon mieux qu'il ne décrit la réalité, il est appelé sur-équipé.
Si vous aviez choisi un seuil de 3 patients sur 8 avec une fonction, cela ne se serait pas passé, mais vous auriez une chance plus grande de rater quelque chose d'intéressant. Surtout en médecine, où de nombreuses maladies ne surviennent que chez une petite fraction de personnes présentant un facteur de risque, c'est un compromis difficile à faire. Et il existe des méthodes pour l'éviter (en gros, comparez-le à un deuxième échantillon et voyez si le pouvoir explicatif reste le même ou s'il tombe), mais c'est un sujet pour une autre question.
Voici un exemple concret de suralimentation que j'ai aidé à commettre et que j'ai ensuite essayé (sans succès) d'éviter:
J'avais plusieurs milliers de séries chronologiques indépendantes à deux variables, chacune ne contenant pas plus de 50 points de données, et le projet de modélisation consistait à ajuster une autorégression vectorielle (VAR) à chacune d'entre elles. Aucune tentative n'a été faite pour régulariser les observations, estimer les composantes de la variance ou quelque chose du genre. Les points temporels ont été mesurés au cours d'une seule année. Les données ont donc été soumises à toutes sortes d'effets saisonniers et cycliques qui n'apparaissaient qu'une fois dans chaque série chronologique.
Un sous-ensemble des données présentait un taux invraisemblablement élevé de causalité de Granger par rapport au reste des données. Des vérifications ponctuelles ont révélé que des pics positifs se produisaient à un ou deux décalages l'un de l'autre dans ce sous-ensemble, mais il ressortait du contexte que les deux pics étaient directement causés par une source externe et qu'un pic ne causait pas l'autre. Les prévisions hors échantillon utilisant ces modèles seraient probablement tout à fait erronées, car les modèles étaient sur-équipés: plutôt que de "lisser" les pointes en les faisant la moyenne dans le reste des données, il y avait peu d'observations suffisantes pour dire que les pointes conduisaient réellement les estimations.
Globalement, je ne pense pas que le projet a mal tourné, mais je ne pense pas qu'il a abouti à des résultats aussi utiles qu'ils auraient pu l'être. Cela tient en partie au fait que la procédure à plusieurs revendeurs indépendants, même avec un ou deux retards, peinait difficilement à faire la distinction entre données et bruit, et qu’elle s’adaptait donc à ce dernier aux dépens de la compréhension du ancien.
Beaucoup de personnes intelligentes dans ce fil - beaucoup plus versé dans les statistiques que moi. Mais je ne vois toujours pas d’exemple facile à comprendre pour le profane. L’exemple présidentiel n’a pas vraiment sa place en termes de sur-aménagement typique, car, bien qu’il techniquement sur-amalgame dans chacune de ses prétentions féroces, il s’agit généralement d’un modèle surajusté qui supprime le bruit donné, pas seulement un élément.
J'aime beaucoup le graphique dans l'explication du compromis biais-variance dans wikipedia: http://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff
(Le graphique le plus bas est l'exemple de l'overfitting).
J'ai bien du mal à penser à un exemple du monde réel qui ne sonne pas comme un charabia complet. L'idée est que les données sont en partie causées par des variables mesurables et compréhensibles - un bruit en partie aléatoire. Tenter de modéliser ce bruit comme un motif vous donne une imprécision.
Un exemple classique est la modélisation basée SEULEMENT sur R ^ 2 dans MS Excel (vous essayez d’adapter littéralement une équation / un modèle aussi proche que possible des données à l’aide de polynômes, aussi absurde soit-elle).
Supposons que vous essayez de modéliser les ventes de crème glacée en fonction de la température. Vous avez des données du "monde réel". Vous tracez les données et essayez de maximiser R ^ 2. Vous constaterez qu'en utilisant des données du monde réel, l'équation d'ajustement la plus proche n'est ni linéaire ni quadratique (ce qui serait logique). Comme presque toutes les équations, plus vous ajoutez de termes polynomiaux absurdes (x ^ 6 -2x ^ 5 + 3x ^ 4 + 30x ^ 3-43,2x ^ 2-29x), plus les données sont proches. Alors, comment cela relie-t-il judicieusement la température aux ventes de crème glacée? Comment expliqueriez-vous ce polynôme ridicule? La vérité est que ce n'est pas le vrai modèle. Vous avez surajusté les données.
Vous ne tenez pas compte du bruit - ce qui est peut-être dû à une promotion des ventes ou à une autre variable ou "bruit", comme un papillon qui bat des ailes dans le cosmos (ce qui n’est jamais prévisible) - et que vous avez tenté de modéliser en fonction de la température. Maintenant, généralement, si votre bruit / erreur ne correspond pas à zéro ou est auto-corrélé, etc., cela signifie qu'il y a plus de variables - et finalement, vous obtenez un bruit généralement réparti de manière aléatoire, mais c'est ce que je peux faire de mieux. Explique le.
Mon préféré est la "formule 3964" découverte avant la Coupe du monde de football en 1998:
Le Brésil a remporté les championnats en 1970 et 1994. Résumez ces 2 numéros et vous obtiendrez 3964; L’Allemagne a gagné en 1974 et en 1990, atteignant 3964; Il en va de même avec les victoires argentines de 1978 et 1986 (1978 + 1986 = 3964).
C'est un fait très surprenant, mais tout le monde peut voir qu'il n'est pas conseillé de baser toute prédiction future sur cette règle. Et en effet, la règle veut que le vainqueur de la Coupe du monde en 1998 soit l’Angleterre depuis 1966 + 1998 = 3964 et que l’Angleterre l’avait gagnée en 1966. Cela n’a pas eu lieu et le vainqueur a été la France.
Un peu intuitif, mais peut-être que ça va aider. Disons que vous voulez apprendre une nouvelle langue. Comment apprends-tu? au lieu d'apprendre les règles d'un cours, vous utilisez des exemples. Plus précisément, les émissions de télévision. Donc, vous aimez les séries policières et regardez quelques séries de séries policières. Ensuite, vous prenez une autre série policière et regardez des séries de celle-ci. À la troisième émission, vous voyez - vous savez presque tout, pas de problème. Vous n'avez pas besoin des sous-titres anglais.
Mais ensuite, lors de votre prochaine visite, vous essayez la nouvelle langue dans la rue lors de votre prochaine visite et vous réalisez que vous ne pouvez rien dire d'autre que de dire "officier! Cet homme a pris mon sac et a tiré sur cette femme!". Alors que votre «erreur d'apprentissage» était égale à zéro, votre «erreur de test» est élevée, en raison de la suradaptation de la langue, de l'étude d'un sous-ensemble limité de mots et de la supposition suffisante.