Comment détecter lorsqu'un modèle de régression est trop adapté?

14

Lorsque vous êtes celui qui fait le travail, sachant ce que vous faites, vous développez une idée du moment où vous avez trop adapté le modèle. D'une part, vous pouvez suivre la tendance ou la détérioration du carré R ajusté du modèle. Vous pouvez également suivre une détérioration similaire des valeurs de p des coefficients de régression des variables principales.

Mais, lorsque vous venez de lire une étude de quelqu'un d'autre et que vous n'avez aucune idée de son propre processus de développement de modèle interne, comment pouvez-vous détecter clairement si un modèle est trop adapté ou non?

Sympa
la source
Juste pour jeter quelques idées sur le sujet, si l'étude révèle des statistiques de régression standard, vous pouvez vous concentrer sur les statistiques t et les valeurs p des coefficients. Si le RSquare du modèle est élevé; mais, une ou plusieurs des variables ont à stat <2.0; cela pourrait être un drapeau rouge. De plus, si le signe des coefficients sur certaines des variables défie la logique, c'est probablement un autre drapeau rouge. Si l'étude ne révèle pas de période d'attente pour le modèle, cela peut être un autre drapeau rouge. J'espère que vous aurez d'autres idées meilleures.
Sympa
Une façon consiste à voir comment le modèle fonctionne sur d'autres données (mais similaires).
Shane

Réponses:

15

La validation croisée et la régularisation sont des techniques assez courantes pour éviter le sur-ajustement. Pour une prise de vue rapide, je recommanderais les diapositives du didacticiel d'Andrew Moore sur l'utilisation de la validation croisée ( miroir ) - accordez une attention particulière aux mises en garde. Pour plus de détails, lisez certainement les chapitres 3 et 7 de l' EOSL , qui couvrent le sujet et la matière associée en profondeur.

ars
la source
2
Wow, merci le tutoriel d'Andrew Moore sur la validation croisée est de classe mondiale.
Sympa
7

Lorsque j'adapte un modèle moi-même, j'utilise généralement des critères d'information pendant le processus d'ajustement, tels que AIC ou BIC , ou alternativement des tests de rapport de vraisemblance pour les modèles ajustés sur la base de la probabilité maximale ou F-test pour les modèles ajustés sur la base des moindres carrés.

Tous sont conceptuellement similaires en ce qu'ils pénalisent des paramètres supplémentaires. Ils ont fixé un seuil de «pouvoir explicatif supplémentaire» pour chaque nouveau paramètre ajouté à un modèle. Ils sont tous une forme de régularisation .

Pour les modèles des autres, je regarde la section des méthodes pour voir si de telles techniques sont utilisées et aussi des règles de base, telles que le nombre d'observations par paramètre - s'il y a environ 5 (ou moins) observations par paramètre, je commence à me demander.

Rappelez-vous toujours qu'une variable n'a pas besoin d'être "significative" dans un modèle pour être importante. Je peux être un facteur de confusion et je devrais être inclus sur cette base si votre objectif est d'estimer l'effet d'autres variables.

Thylacoleo
la source
Merci pour les liens vers les tests AIC et BIC. Ajoutent-ils beaucoup de valeur par rapport au carré R ajusté qui fait la même chose en pénalisant les modèles pour ajouter des variables?
Sympa
1
@Gaeten, le R-carré ajusté augmentera lorsqu'un test F du modèle avant vs après est significatif, ils sont donc équivalents, sauf que le calcul normal d'un R-carré ajusté ne renvoie pas de valeur p.
Thylacoleo
1
@Gaeten - AIC et BIC sont plus généraux que les tests F et le R ajusté au carré qui sont généralement limités aux modèles ajustés par les moindres carrés. L'AIC et le BIC peuvent être utilisés pour n'importe quel modèle, où la probabilité peut être calculée et les degrés de liberté peuvent être connus (ou estimés).
Thylacoleo
Tester un ensemble de variables n'est pas une forme de régularisation (retrait). Et les tests donnent la tentation de supprimer des variables, ce qui n'a rien à voir avec la réduction du sur-ajustement.
Frank Harrell
@FrankHarrell Pouvez-vous élaborer sur votre ancien commentaire? Il me semble que la suppression d'une variable réduirait le sur-ajustement, toutes choses étant égales par ailleurs, puisque les degrés de liberté disponibles pour le sur-ajustement sont réduits. Je suis sûr qu'il me manque une nuance ici.
Lepidopterist
5

Je dirais que c'est un problème avec la façon dont les résultats sont rapportés. Ne pas «battre le tambour bayésien», mais approcher l'incertitude du modèle d'un point de vue bayésien en tant que problème d'inférence aiderait grandement ici. Et cela ne doit pas non plus être un grand changement. Si le rapport contenait simplement la probabilité que le modèle soit vrai, ce serait très utile. Il s'agit d'une quantité facile à estimer à l'aide du BIC. Appelez le BIC pour le mième modèle . La probabilité que le mème modèle soit le "vrai" modèle, étant donné que M modèles étaient adaptés (et que l'un des modèles est vrai) est donnée par:BICmM

P(model m is true|one of the M models is true)wmexp(12BICm)j=1Mwjexp(12BICj)
=11+jmMwjwmexp(12(BICjBICm))

wjwj=1, cependant, vous pouvez avoir des modèles "théoriques" dans votre classe que vous vous attendez à améliorer avant de voir des données.

Now if somebody else doesn't report all the BIC's from all the models, then I would attempt to infer the above quantity from what you have been given. Suppose you are given the BIC from the model - note that BIC is calculable from the mean square error of the regression model, so you can always get BIC for the reported model. Now if we take the basic premise that the final model was chosen from the smallest BIC then we have BICfinal<BICj. Now, suppose you were told that "forward" or "forward stepwise" model selection was used, starting from the intercept using p potential variables. If the final model is of dimension d, then the procedure must have tried at least

M1+p+(p1)++(pd+1)=1+p(p1)(pd)(pd1)2

different models (exact for forward selection), If the backwards selection was used, then we know at least

M1+p+(p1)++(d+1)=1+p(p1)d(d1)2

Models were tried (the +1 comes from the null model or the full model). Now we could try an be more specific, but these are "minimal" parameters which a standard model selection must satisfy. We could specify a probability model for the number of models tried M and the sizes of the BICj - but simply plugging in some values may be useful here anyway. For example suppose that all the BICs were λ bigger than the one of the model chosen so that BICm=BICjλ, then the probability becomes:

11+(M1)exp(λ2)

So what this means is that unless λ is large or M is small, the probability will be small also. From an "over-fitting" perspective, this would occur when the BIC for the bigger model is not much bigger than the BIC for the smaller model - a non-neglible term appears in the denominator. Plugging in the backward selection formula for M we get:

11+p(p1)d(d1)2exp(λ2)

Now suppose we invert the problem. say p=50 and the backward selection gave d=20 variables, what would λ have to be to make the probability of the model greater than some value P0? we have

λ>2log(2(1P0)P0[p(p1)d(d1)])

Setting P0=0.9 we get λ>18.28 - so BIC of the winning model has to win by a lot for the model to be certain.

probabilityislogic
la source
+1, this is really clever. Is this published somewhere? Is there an 'official' reference for this?
gung - Reinstate Monica
@gung - why thank you. Unfortunately, this was a "back of the envelope" answer. I'm sure there's problems with it, if you were to investigate in more detail.
probabilités du