Wie kann festgestellt werden, ob ein Regressionsmodell überfordert ist?

14

Wenn Sie derjenige sind, der die Arbeit erledigt, und sich dessen bewusst sind, was Sie tun, entwickeln Sie ein Gefühl dafür, wann Sie das Modell überarbeitet haben. Zum einen können Sie den Trend oder die Verschlechterung im angepassten R-Quadrat des Modells verfolgen. Sie können auch eine ähnliche Verschlechterung der p-Werte der Regressionskoeffizienten der Hauptvariablen verfolgen.

Wenn Sie jedoch nur eine andere Studie lesen und keinen Einblick in den internen Modellentwicklungsprozess haben, können Sie dann klar erkennen, ob ein Modell überfordert ist oder nicht.

Sympa
quelle
Um nur ein paar Ideen zu diesem Thema zu werfen: Wenn die Studie Standard-Regressionsstatistiken enthält, können Sie sich auf die t-Statistiken und p-Werte der Koeffizienten konzentrieren. Wenn das RSquare des Modells hoch ist; aber eine oder mehrere der Variablen haben stat <2.0; Das könnte eine rote Fahne sein. Auch wenn das Vorzeichen der Koeffizienten einiger Variablen der Logik widerspricht, ist dies wahrscheinlich eine weitere rote Flagge. Wenn in der Studie keine Wartezeit für das Modell angegeben wird, kann dies eine weitere rote Fahne sein. Hoffentlich haben Sie andere und bessere Ideen.
Sympa,
Eine Möglichkeit besteht darin, die Leistung des Modells für andere (aber ähnliche) Daten zu ermitteln.
Shane

Antworten:

15

Kreuzvalidierung und Regularisierung sind weit verbreitete Techniken, um eine Überanpassung zu verhindern. Für einen schnellen Überblick empfehle ich die Tutorial-Folien von Andrew Moore zur Verwendung der Kreuzvalidierung ( Spiegel ) - achten Sie besonders auf die Vorbehalte. Lesen Sie auf jeden Fall die Kapitel 3 und 7 der EOSL , in denen das Thema und die damit verbundenen Themen ausführlich behandelt werden.

ars
quelle
2
Wow, danke Andrew Moores Tutorial zur Kreuzvalidierung ist Weltklasse.
Sympa
7

Wenn ich ein Modell selbst anpasse, verwende ich im Allgemeinen während des Anpassungsprozesses Informationskriterien, wie z. B. AIC oder BIC , oder alternativ Likelihood-Ratio-Tests für Modelle, die auf der Maximalwahrscheinlichkeit oder dem F-Test basieren für Modelle, die auf der Basis der kleinsten Fehlerquadrate passen.

Alle sind sich konzeptionell insofern ähnlich, als sie zusätzliche Parameter benachteiligen. Sie legen für jeden neuen Parameter, der einem Modell hinzugefügt wird, einen Schwellenwert für "zusätzliche Erklärungskraft" fest. Sie sind alle eine Form von Regularisierung .

Für die Modelle anderer schaue ich im Methodenabschnitt nach, ob solche Techniken verwendet werden, und verwende auch Faustregeln, wie die Anzahl der Beobachtungen pro Parameter - wenn es ungefähr 5 (oder weniger) Beobachtungen pro Parameter gibt, frage ich mich.

Denken Sie immer daran, dass eine Variable in einem Modell nicht unbedingt "signifikant" sein muss, um wichtig zu sein. Ich kann ein Störfaktor sein und sollte auf dieser Grundlage einbezogen werden, wenn Ihr Ziel darin besteht, die Wirkung anderer Variablen abzuschätzen.

Thylacoleo
quelle
Vielen Dank für die Links zu den AIC- und BIC-Tests. Erhöhen sie den Wert im Vergleich zu Adjusted R Square, bei dem Modelle für das Hinzufügen von Variablen benachteiligt werden?
Sympa
1
@Gaeten, Adjusted R-squared erhöht sich, wenn ein F-Test des Vorher-Nachher-Modells signifikant ist. Daher sind sie äquivalent, mit der Ausnahme, dass bei der Berechnung eines angepassten R-Squared normalerweise kein p-Wert zurückgegeben wird.
Thylacoleo
1
@Gaeten - AIC & BIC sind allgemeiner als F-Tests und angepasste R-Quadrate, die normalerweise auf Modelle beschränkt sind, die nach den kleinsten Quadraten passen. AIC & BIC können für jedes Modell verwendet werden, bei dem die Wahrscheinlichkeit berechnet werden kann und Freiheitsgrade bekannt sind (oder geschätzt werden können).
Thylacoleo
Das Testen einer Reihe von Variablen ist keine Form der Regularisierung (Schrumpfung). Und das Testen gibt einem die Versuchung, Variablen zu entfernen, was nichts mit dem Reduzieren von Überanpassung zu tun hat.
Frank Harrell
@FrankHarrell Kannst du auf deinen alten Kommentar näher eingehen? Es scheint mir, dass das Entfernen einer Variablen die Überanpassung reduzieren würde, wenn alle anderen Dinge gleich sind, da die Freiheitsgrade, die für die Überanpassung zur Verfügung stehen, reduziert sind. Ich bin mir sicher, dass mir hier eine Nuance fehlt.
Lepidopterist
5

BichCmM - Modelle waren fit (und das ist eines der Modelle ist wahr) ist gegeben durch:

P(Modell m ist wahr|Eines der M Modelle ist wahr)wmexp(-12BichCm)j=1Mwjexp(-12BichCj)
=11+jmMwjwmexp(12(BICjBICm))

Where wj is proportional to the prior probability for the jth model. Note that this includes a "penalty" for trying to many models - and the penalty depends on how well the other models fit the data. Usually you will set wj=1, however, you may have some "theoretical" models within your class that you would expect to be better prior to seeing any data.

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.

Wahrscheinlichkeitslogik
quelle
+1, das ist wirklich schlau. Wird das irgendwo veröffentlicht? Gibt es dafür eine "offizielle" Referenz?
gung - Wiedereinsetzung von Monica
@gung - warum danke. Leider war dies eine "Rückseite des Umschlags" Antwort. Ich bin sicher, es gibt Probleme damit, wenn Sie genauer nachforschen würden.
Wahrscheinlichkeitslogik