Jak wykryć nadmierne dopasowanie modelu regresji?


14

Kiedy jesteś tym, który wykonuje tę pracę, mając świadomość tego, co robisz, masz poczucie, że nadmiernie dopasowujesz się do modelu. Po pierwsze, możesz śledzić trend lub pogorszenie w skorygowanym kwadracie R. modelu. Można również śledzić podobne pogorszenie wartości p współczynników regresji głównych zmiennych.

Ale kiedy właśnie czytasz kogoś innego i nie masz wglądu w proces tworzenia własnego modelu wewnętrznego, w jaki sposób możesz wyraźnie wykryć, czy model jest nadmiernie dopasowany, czy nie.


Wystarczy rzucić kilka pomysłów na ten temat, jeśli badanie ujawni standardowe statystyki regresji, możesz skupić się na statystykach ti wartościach współczynników. Jeśli RSquare modelu jest wysokie; ale jedna lub więcej zmiennych ma stat <2,0; to może być czerwona flaga. Ponadto, jeśli znak współczynników niektórych zmiennych jest sprzeczny z logiką, prawdopodobnie jest to kolejna czerwona flaga. Jeśli badanie nie ujawnia okresu wstrzymania dla modelu, może to być kolejna czerwona flaga. Mamy nadzieję, że będziesz miał inne i lepsze pomysły.
Sympa,

Jednym ze sposobów jest sprawdzenie, jak model działa na innych (ale podobnych) danych.
Shane

Odpowiedzi:


15

Krzyżowa walidacja i legalizacja są dość powszechnymi technikami zapobiegającymi przeuczeniu. Aby szybko wziąć udział, polecam slajdy szkoleniowe Andrew Moore'a na temat korzystania z weryfikacji krzyżowej ( lustro ) - zwróć szczególną uwagę na zastrzeżenia. Aby uzyskać więcej informacji, zdecydowanie przeczytaj rozdziały 3 i 7 EOSL , które wnikliwie omawiają ten temat i związane z nim sprawy.


2
Wow, dzięki samouczkowi Andrew Moore'a na temat walidacji krzyżowej jest światowej klasy.
Sympa,

7

Kiedy sam dopasowuję model, zwykle używam kryteriów informacyjnych podczas procesu dopasowania, takich jak AIC lub BIC , lub alternatywnie testy współczynnika wiarygodności dla modeli dopasowanych w oparciu o maksymalne prawdopodobieństwo lub test F dla modeli dopasowanych w oparciu o najmniejsze kwadraty.

Wszystkie są do siebie podobne pod względem koncepcyjnym, ponieważ wpływają na dodatkowe parametry. Ustawiają próg „dodatkowej mocy wyjaśniającej” dla każdego nowego parametru dodanego do modelu. Wszystkie są formą regularyzacji .

W przypadku modeli innych zaglądam do sekcji metod, aby sprawdzić, czy takie techniki są stosowane, a także stosuję reguły, takie jak liczba obserwacji na parametr - jeśli jest około 5 (lub mniej) obserwacji na parametr, zaczynam się zastanawiać.

Zawsze pamiętaj, że zmienna nie musi być „znacząca” w modelu, aby była ważna. Mogę być mylący i powinienem zostać uwzględniony na tej podstawie, jeśli twoim celem jest oszacowanie wpływu innych zmiennych.


Dzięki za linki do testów AIC i BIC. Czy dodają dużą wartość w porównaniu do skorygowanego kwadratu R, który robi podobnie, karając modele za dodawanie zmiennych?
Sympa,

1
@Gaeten, Skorygowany R-kwadrat wzrośnie, gdy test F modelu przed vs po będzie znaczący, więc są równoważne, z wyjątkiem tego, że normalne obliczanie skorygowanego R-kwadratu nie zwraca wartości p.
Thylacoleo

1
@Gaeten - AIC i BIC są bardziej ogólne niż testy F i dostosowane R-kwadrat, które zwykle ograniczają się do modeli pasujących do najmniejszych kwadratów. AIC i BIC można zastosować do dowolnego modelu, w którym można obliczyć prawdopodobieństwo i poznać (lub oszacować) stopnie swobody.
Thylacoleo

Testowanie zestawu zmiennych nie jest formą regularyzacji (skurczu). A testowanie daje pokusę, aby usunąć zmienne, co nie ma nic wspólnego z ograniczeniem nadmiernego dopasowania.
Frank Harrell,

@FrankHarrell Czy możesz rozwinąć ten stary komentarz? Wydaje mi się, że usunięcie zmiennej zmniejszyłoby nadmierne dopasowanie, przy czym wszystkie inne rzeczy byłyby równe, ponieważ stopnie swobody dostępne dla overfit zostały zmniejszone. Jestem pewien, że brakuje mi tutaj trochę niuansów.
Lepidopterist

5

Sugerowałbym, że jest to problem ze sposobem raportowania wyników. Bardzo nie pomogłoby to nie „pokonać bębna bayesowskiego”, ale podejście niepewności modelu z perspektywy bayesowskiej jako problemu wnioskowania . I nie musi to być duża zmiana. Gdyby raport zawierał po prostu prawdopodobieństwo, że model jest prawdziwy, byłoby to bardzo pomocne. Jest to łatwa ilość do oszacowania za pomocą BIC. Zadzwoń do BIC dla m-tego modelu . Następnie prawdopodobieństwo, że mth model jest „prawdziwym” modelem, biorąc pod uwagę, że modele M były dopasowane (i że jeden z modeli jest prawdziwy), daje:BICmM

P(model m is true|one of the M models is true)wmexp(12BICm)j=1Mwjexp(12BICj)
=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.


+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.
probabilityislogic
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.