Jaki jest przykład „nadmiernego dopasowania” w świecie rzeczywistym?

107

W pewnym sensie rozumiem, co oznacza „nadmierne dopasowanie”, ale potrzebuję pomocy, aby znaleźć prawdziwy przykład, który dotyczy nadmiernego dopasowania.

3851283
źródło
12
Być może mógłbyś wyjaśnić, co „rozumiesz” na temat tego, co oznacza nadmierne dopasowanie, aby ludzie mogli zająć się częściami, których nie rozumiesz, bez konieczności odgadywania, co to może być?
goangit
3
@ssdecontrol Fałszywa korelacja nie jest nadmierna. W rzeczywistości fałszywa korelacja nie musi obejmować modelu jawnego, a model niejawny jest zwykle linią prostą z dwoma parametrami.
Nick Cox,
1
@whuber: Być może byłoby bardziej odpowiednie omawianie na temat meta, ale byłem zaskoczony, że przekonwertowałeś ten post na wiki społeczności. Czy to nie znaczy, że PO nie zyska reputacji w przyszłych głosowaniach? Dla mnie wygląda to niemal jak „kara”; jaki był tego powód?
ameba
4
@amoeba To nie kara: to pytanie, jak stwierdzono, oczywiście nie ma jednej poprawnej ani kanonicznej odpowiedzi. W swojej pierwotnej formie jako pytanie inne niż CW było w związku z tym nie na temat - i powinno być szybko zamknięte, BTW - ale ponieważ może być cenne, że niektóre dobre przykłady są tworzone wspólnie przez społeczność, nadając status CW zamiast zamykać wydaje się to rozsądnym rozwiązaniem.
whuber
17
Jak dotąd bardzo niewiele z tych odpowiedzi (tylko dwie na 11!) Nawet próbuje odpowiedzieć na pytanie, które wymaga prawdziwego przykładu. Oznacza to nie symulację, nie teoretyczny przykład, nie kreskówkę, ale poważnie zastosowany model do rzeczywistych danych. Zauważ też, że pytanie wyraźnie próbuje odciągnąć odpowiedzi od wyjaśnień na temat nadmiernego dopasowania.
whuber

Odpowiedzi:

96

Oto ładny przykład modeli szeregów czasowych wyborów prezydenckich od xkcd: wprowadź opis zdjęcia tutaj

Odbyło się tylko 56 wyborów prezydenckich i 43 prezydentów. To nie jest dużo danych do nauczenia się. Kiedy przestrzeń predyktora rozszerza się o takie rzeczy, jak fałszywe zęby i wartość punktowa nazw Scrabble, modelowi dość łatwo jest przejść od dopasowania ogólnych cech danych (sygnału) i zacząć dopasowywać szum. Gdy tak się stanie, dopasowanie danych historycznych może się poprawić, ale model zawiedzie nieszczęśliwie, gdy zostanie wykorzystany do wnioskowania na temat przyszłych wyborów prezydenckich.

Dimitriy V. Masterov
źródło
15
Myślę, że powinieneś dodać coś o uprzedzeniu próbki, aby wyjaśnić, jak to się wiąże z nadmiernym dopasowaniem. Po prostu wytnij i wklej kreskówkę brakuje wyjaśnienia.
Neil Slater,
5
Zaletą tego przykładu jest to, że pokazuje różnicę między nadmiernym dopasowaniem a złożonością. Zasada „Co idzie w Kalifornii, tak samo jak w narodzie” jest prosta, ale wciąż zbyt skomplikowana.
Tom Minka,
2
@TomMinka w rzeczywistości nadmierne dopasowanie może być spowodowane złożonością (model zbyt skomplikowany, aby zmieścił się w zbyt prostych danych, a zatem dodatkowe parametry będą pasować do wszystkiego, co jest pod ręką) lub, jak wskazałeś, przez głośne funkcje, które mają większą wagę przy podejmowaniu decyzji niż istotne cechy. Istnieje również wiele innych możliwych źródeł nadmiernego dopasowania (wewnętrzna wariancja danych lub modelu, dane niezwiązane z celem docelowym itp.). Myślę, że powinniśmy powiedzieć, że są nadpasowania, a nie po prostu za dużo (co oznacza, że ​​istnieje tylko jedna przyczyna, która często jest nieprawidłowa).
gaboryczny
80

Moim ulubionym był przykład Matlaba dotyczący populacji amerykańskiego spisu ludności w czasie:

  • Model liniowy jest całkiem dobry
  • Model kwadratowy jest bliżej
  • Model kwartalny przewiduje całkowitą anihilację od przyszłego roku

(Przynajmniej mam szczerą nadzieję, że jest to przykład nadmiernego dopasowania)

http://www.mathworks.com/help/curvefit/examples/polynomial-curve-fitting.html#zmw57dd0e115wprowadź opis zdjęcia tutaj

prototyp
źródło
1
Wystarczy być jasne, dokładnie pod fabuła oni mówią: „Zachowanie szósty stopni wielomianu dopasowanie poza zakresem danych czyni go złym wyborem dla ekstrapolacji i można odrzucić ten napad.
usεr11852
49

Badanie Chen i in. (2013) dopasowuje dwa sześcienne do rzekomej nieciągłości w oczekiwanej długości życia w funkcji szerokości geograficznej.

Chen Y., Ebenstein, A., Greenstone, M. i Li, H. 2013. Dowody dotyczące wpływu trwałego narażenia na zanieczyszczenie powietrza na oczekiwaną długość życia z chińskiej polityki dotyczącej rzeki Huai. Postępowania z National Academy of Sciences 110: 12936–12941. abstrakcyjny

Pomimo swojej publikacji w czasopiśmie wybitnego, itd., Jego milczącej akceptacji przez wybitnych ludzi, itd, chciałbym jeszcze przedstawić to jako dowód prima facie przykład nadmiernej montażu.

Znakiem ostrzegawczym jest niewiarygodność sześciennych. Pośrednie dopasowanie do sześciennego zakłada, że ​​istnieje jakiś powód, dla którego oczekiwana długość życia różni się jako wielomian trzeciego stopnia szerokości geograficznej, w której mieszkasz. Wydaje się to raczej nieprawdopodobne: nie jest łatwo wyobrazić sobie prawdopodobny mechanizm fizyczny, który spowodowałby taki efekt.

Zobacz także następujący post na blogu, aby uzyskać bardziej szczegółową analizę tego artykułu: Dowody na wpływ trwałego stosowania regresji wielomianowej na wnioskowanie przyczynowe (twierdzenie, że ogrzewanie węgla skraca żywotność o 5 lat dla pół miliarda ludzi) .

Nick Cox
źródło
5
+1 Andrew Gelman napisał nawet jeden lub dwa posty na blogu o tym, dlaczego jest to nieprawdopodobne. Oto jeden: andrewgelman.com/2013/08/05/…
Sycorax
@ user777 Blog Gelmana jest prawdopodobnie tym, jak po raz pierwszy o tym usłyszałem. Ale uznałem, że najlepiej jest podać odniesienie, dodać kłębek mojego osobistego komentarza i pozwolić ludziom osądzać sami.
Nick Cox,
1
Wytłumaczyłem edycję @DW, która wprowadziła komentarze na temat oczekiwanej długości życia w różnych krajach, o czym w ogóle nie ma w tym artykule.
Nick Cox,
2
Innym przykładem, który moim zdaniem jest ilustracyjny (choć potencjalnie bardziej wymyślny niż „świat rzeczywisty”), są zawody przewidujące, które sprzężą zwrotne wyniki pośrednie - takie jak kaggle. Zazwyczaj są osoby, które optymalizują wyniki do tabeli liderów, ale nie są one zwycięzcami próby wstrzymania. Rob Hyndman ma na ten temat trochę dyskusji. To wymaga nieco bardziej dogłębnej perspektywy, niż myślę, że OP chce tutaj.
Andy W
2
Właśnie miałem opublikować artykuł Gelman & Imbens, który z tego wyszedł : nber.org/papers/w20405 (bramkowane, niestety)
shadowtalker
38

W artykule Science z 14 marca 2014 r. David Lazer, Ryan Kennedy, Gary King i Alessandro Vespignani zidentyfikowali problemy w Google Flu Trends , które przypisują nadmiernemu dopasowaniu.

Postać

Oto, w jaki sposób opowiadają historię, w tym wyjaśniają naturę nadmiernego dopasowania i dlaczego spowodował błąd algorytmu:

W lutym 2013 r. ... Nature podało, że GFT przewiduje ponad dwukrotny udział wizyt lekarskich w przypadku chorób grypopodobnych (ILI) niż w Centrach Kontroli i Zapobiegania Chorób (CDC) ... Stało się tak pomimo faktu, że GFT został zbudowany do przewidywania raportów CDC. ...

Zasadniczo metodologia polegała na znalezieniu najlepszego dopasowania spośród 50 milionów wyszukiwanych haseł, aby pomieścić 1152 punktów danych. Szanse na znalezienie haseł, które pasują do skłonności do grypy, ale są strukturalnie niepowiązane, a więc nie przewidują przyszłości, były dość wysokie. W rzeczywistości programiści GFT informują o wyeliminowaniu sezonowych haseł niezwiązanych z grypą, ale silnie skorelowanych z danymi CDC, takimi jak te dotyczące koszykówki w szkole średniej. To powinno być ostrzeżenie, że duże zbiory danych są zbyt małe w stosunku do niewielkiej liczby przypadków - co jest standardowym problemem w analizie danych. Ta doraźna metoda wyrzucania osobliwych wyszukiwanych haseł zakończyła się niepowodzeniem, gdy GFT całkowicie opuściło niesezonową pandemię grypy A – H1N1 z 2009 roku.

[Podkreślenie dodane.]

whuber
źródło
3
Niestety w tym przykładzie występują pewne problemy. Artykuł sugeruje dwa dość różne powody, dla których GFT dokonywał złych prognoz: nadmierne dopasowanie i zmiany w wyszukiwarce. Autorzy przyznają, że nie są w stanie ustalić, który powód (jeśli istnieje) jest prawidłowy, więc jest to zasadniczo spekulacja. Ponadto akapit dotyczący nadmiernego dopasowania odnosi się do oryginalnej wersji systemu, podczas gdy prognozy na wykresie zostały wykonane w zmodyfikowanym systemie.
Tom Minka,
1
@Tom Artykuł nie jest napisany tak, jakby zarzut przeuczenia był spekulacją: autorzy zdecydowanie to twierdzą. Myślę, że to rozsądne stwierdzenie. Podają również powód, dla którego muszą być nieco spekulacyjni: Google nie był otwarty ani przejrzysty na temat algorytmu. Wydaje mi się nieistotne dla obecnego celu, czy nadmierne dopasowanie nastąpiło tylko w jednej wersji, czy w wielu, ale o ile pamiętam, autorzy również to rozwiązują i wskazują na dowody kontynuacji nadmiernego dopasowania w obecnym algorytmie.
whuber
2
Artykuł mówi tylko, że nadmierne dopasowanie jest standardowym problemem w analizie danych. Nie twierdzi, że przyczyną było przeregulowanie. Odsyłacz (2) zawiera bardziej szczegółowe informacje, ale ponownie mówi, że nadmierne dopasowanie jest tylko „możliwym problemem”, ze stwierdzeniem „Ponieważ algorytm wyszukiwania i wynikowe terminy zapytania, które zostały użyte do zdefiniowania oryginalnych i zaktualizowanych modeli GFT, pozostają nieujawnione, jest to trudno jest zidentyfikować przyczyny nieoptymalnej wydajności systemu i sformułować zalecenia dotyczące poprawy ”.
Tom Minka,
@Tom Będę przestrzegać cytatu podanego tutaj, który jest dokładny, jako odpowiednie wsparcie dla tego, dlaczego model Google Flu jest wart rozważenia w obecnym kontekście.
whuber
Interesująca dyskusja. Dodam tylko, że wykres mógłby lepiej obsługiwać argument, gdyby linie były oznaczone.
rolando2
32

Widziałem to zdjęcie kilka tygodni temu i uznałem, że ma ono raczej związek z omawianym pytaniem.

obraz mema

Zamiast liniowego dopasowania sekwencji został on wyposażony w kwartalny wielomian, który miał idealne dopasowanie, ale dał wyraźnie absurdalną odpowiedź.

March Ho
źródło
12
To nie odpowiada na zadane pytanie i może być lepsze jako komentarz lub w ogóle nie jest publikowane. Nie stanowi to rzeczywistego przykładu nadmiernego dopasowania (o to pytano). Nie wyjaśnia również, w jaki sposób przykładowy obraz ma znaczenie w przypadku nadmiernego dopasowania. Wreszcie jest bardzo krótki. Preferujemy dokładne, szczegółowe odpowiedzi, które odpowiadają na zadane pytanie - nie tylko dyskusję związaną z pytaniem.
DW
9
W rzeczywistości jest to dokładnie przypadek przeregulowania z powodu zbyt złożonego modelu, ponieważ można zbudować nieskończoność funkcji wyższego rzędu (nieliniowych) w celu wygenerowania nieskończonej liczby różnych ostatnich terminów sekwencji, wciąż dopasowując inne (znane) terminy, używając interpolacji Lagrange'a, jak wyjaśniono tutaj .
gaboryczny
@ user1121352 W kreskówce wielomian wysokiego rzędu jest prawdziwym modelem, więc wcale nie chodzi o nadmierne dopasowanie. Odpowiedź na przykład „9” (kolejna liczba nieparzysta) lub „11” (następny dziwne prime) byłby rzeczywiście pod -fitting ponieważ używa zbyt prostego modelu przewidzieć następną wartość. Kreskówka faktycznie ilustruje odwrotny przypadek, że bardziej złożony model może być prawdziwy.
Sycorax,
8
Kwartyczny wielomian (zgodnie z moją interpretacją) ma być niedorzecznym rozwiązaniem, ponieważ oczywistą odpowiedzią, którą ktokolwiek udzieli, zanim zobaczy absurdalne rozwiązanie, będzie 9 (lub jakakolwiek inna wartość OEIS). Zakładałem, że format „doża” przenosił sarkazm, ale wyraźnie widzimy tu działające prawo Poego.
Marzec Ho
2
Dokładnie o to właśnie staram się powiedzieć, że nie wiemy, jaka jest prawdziwa funkcja. Jeśli przeprowadzasz oryginalną analizę, nie masz takiego zasobu, jak OEIS, do którego mogłabyś odwołać się w prawdzie: to właśnie model próbuje ustalić. Rozumiem, że rysunek próbuje sarkazmu, ale umieszczenie go w tej konkretnej dyskusji uwidacznia ważną subtelność pytania o ogólne dopasowanie i modelowanie statystyczne. Intencja jego oryginalnego twórcy jest nieistotna, ponieważ dokonałeś ponownej wersji tutaj!
Sycorax,
22

Dla mnie najlepszym przykładem jest układ Ptolemeusza w astronomii. Ptolemeusz założył, że Ziemia znajduje się w centrum wszechświata, i stworzył wyrafinowany system zagnieżdżonych okrągłych orbit, który dość dobrze tłumaczy ruchy obiektów na niebie. Astronomowie musieli dodawać kółka, aby wyjaśnić odchylenie, aż pewnego dnia stało się tak skomplikowane, że ludzie zaczęli w to wątpić. Wtedy Kopernik wymyślił bardziej realistyczny model.

To najlepszy przykład dla mnie zbytniego dopasowania. Nie można dopasować procesu generowania danych (MZD) do danych. Możesz przewinąć tylko źle określony model. Prawie wszystkie nasze modele w naukach społecznych są błędnie sprecyzowane, więc kluczem jest pamiętać o tym i zachować ich oszczędność. Nie próbuj uchwycić każdego aspektu zestawu danych, ale spróbuj uchwycić najważniejsze funkcje poprzez uproszczenie.

Aksakal
źródło
15
To nie wydaje się być przykładem nadmiernego dopasowania. Nie ma nic złego w układzie Ptolemeusza jako modelu predykcyjnym: jest on skomplikowany tylko dlatego, że układ współrzędnych jest bardziej geocentryczny niż pochodzący z galaktycznego centrum masy. Problem polega zatem na tym, że dokładne, zgodne z prawem dopasowanie zostało wykonane przy użyciu zbyt skomplikowanego modelu. (Elipsy są znacznie prostsze niż epicykle.) Prawdziwym wyzwaniem jest znalezienie skąpych modeli nieliniowych!
whuber
1
Otrzymasz wiele kręgów do modelowania orbit księżyców Jowisza w układzie Ptolemeusza.
Aksakal,
17
Zgadza się - ale na pierwszy rzut oka niekoniecznie jest to zbyt trudne. Test kwasowy polega na przewidywaniu przyszłych wartości, które w tym systemie działały wystarczająco dobrze, aby wytrzymać 1400 lat. Dane są przeładowane nie wtedy, gdy model jest bardzo skomplikowany, ale gdy jest tak elastyczny, że przechwytując obce szczegóły generuje znacznie bardziej niedokładne prognozy, niż można by oczekiwać na podstawie analizy reszt modelu na jego danych treningowych.
whuber
2
Aksakal: Z pewnością możesz. Rozważ przykład @ arnaud i załóżmy, że proces generowania danych był znany jako nazwa . Czy nauka, która doprowadziłaby Cię do dopasowania tego modelu do tych dziesięciu punktów danych w oczekiwaniu na lepsze przewidywania nowych danych niż prosty model liniowy? EY=k=09βkxi
Scortchi
2
@Aksakal: 10 parametrów: nazwa (teraz poprawnie wpisany!). Oczywiście błędu nie można oszacować ani założyć, że jest znany. Jeśli ci to przeszkadza, rozważ wielomian ósmego rzędu w ; punkt jest taki sam. EY=k=09βkxkx
Scortchi
22

Załóżmy, że masz 100 kropek na wykresie.

Można powiedzieć: hmm, chcę przewidzieć następny.

  • z linią
  • z wielomianem drugiego rzędu
  • z wielomianem trzeciego rzędu
  • ...
  • z wielomianem 100. rzędu

Tutaj możesz zobaczyć uproszczoną ilustrację tego przykładu: wprowadź opis zdjęcia tutaj

Im wyższy porządek wielomianowy, tym lepiej będzie pasował do istniejących kropek.

Jednak wielomiany wysokiego rzędu, mimo że wyglądają na lepsze modele kropek, w rzeczywistości ich nie pasują. Modeluje raczej szum niż prawdziwy rozkład danych.

W konsekwencji, jeśli dodasz nową kropkę do wykresu z idealnie dopasowaną krzywą, prawdopodobnie będzie ona bardziej oddalona od krzywej niż w przypadku zastosowania prostszego wielomianu niskiego rzędu.

arnaud
źródło
„W konsekwencji, jeśli dodasz nową kropkę do wykresu z idealnie dopasowaną krzywą, prawdopodobnie będzie ona bardziej oddalona od krzywej niż w przypadku zastosowania prostszego wielomianu niskiego rzędu” - ponadto jest to prawdą, nawet jeśli proces generowania danych dla nowej kropki (tj. relacji w populacji) był w rzeczywistości wielomianem o dużej mocy, takim jak ten, który dopasowałeś.
Silverfish,
19
Zdjęcia tutaj są w rzeczywistości niepoprawne - na przykład 9-stopniowy wielomian został wykreślony jedynie jako liniowa funkcja, ale podejrzewam, że w rzeczywistości powinien on gwałtownie wychylać się w górę i w dół w zakresach między punktami. Powinieneś zobaczyć ten efekt również w 5-stopniowym wielomianu.
Ken Williams
17

Analiza, która mogła przyczynić się do katastrofy w Fukushimie, jest przykładem nadmiernego dopasowania. Istnieje dobrze znany związek w nauce o Ziemi, który opisuje prawdopodobieństwo trzęsień ziemi o określonej wielkości, biorąc pod uwagę obserwowaną częstotliwość „mniejszych” trzęsień ziemi. Jest to znane jako relacja Gutenberga-Richtera i zapewnia proste dopasowanie logów przez wiele dziesięcioleci. Analiza ryzyka trzęsienia ziemi w pobliżu reaktora (ten diagram z doskonałej książki Nate Silver „Sygnał i hałas”) pokazuje „załamanie” danych. Zignorowanie załamania prowadzi do oszacowania rocznego ryzyka trzęsienia ziemi o sile 9 jako około 1 na 300 - zdecydowanie coś, na co należy się przygotować. Jednak, przekroczenie linii o podwójnym nachyleniu (jak najwyraźniej zrobiono podczas wstępnej oceny ryzyka dla reaktorów) zmniejsza prognozę ryzyka do około 1 na 13 000 lat. Nie można winić inżynierów za to, że nie zaprojektowali reaktorów tak, aby wytrzymywały tak mało prawdopodobne zdarzenie - ale zdecydowanie należy winić statystyk, którzy przeregulowali (a następnie ekstrapolowali) dane ...

wprowadź opis zdjęcia tutaj

Floris
źródło
Czy to jednoznaczne, że model z podwójnym nachyleniem był zbyt dopasowany? Zagięcie jest widoczne; Sądzę, że gdyby każdy segment linii został oszacowany, powiedzmy, z 3 punktów każdy, uzyskałbyś lepsze prognozy dotyczące wstrzymania niż przez oszacowanie pojedynczej linii. (Oczywiście późniejsza obserwacja zdarzenia „1 na 13 000 lat” przemawia przeciwko temu! Ale trudno to zinterpretować, ponieważ nie zbadalibyśmy tego modelu, gdyby tak się nie stało. Gdyby istniały fizyczne powody, aby zignorować postrzegane załamanie to przypadek, w którym był to overfit, jest silniejsze - nie wiem, jak dobrze takie dane zwykle pasują do idealnej relacji Gutenberga-Richtera.
Silverfish,
To bardzo graficznie ilustruje niebezpieczeństwa ekstrapolacji i potrzebę funkcji straty, która bierze pod uwagę dotkliwość konsekwencji błędu ...
Silverfish,
3
Problem polega na tym, że bardzo mało danych jest wykorzystywanych w niektórych ostatnich punktach - więc są w nich bardzo niepewne. Patrząc uważnie na dane, można zauważyć, że miało miejsce jedno wydarzenie 7.9, a następnie kilka 7.7. Niewiele wiadomo o trzęsieniach większych niż 8,0, ponieważ są one rzadkie - ale kiedy zaobserwujesz trzęsienie 9,0 (trzęsienie Tohoku, które spowodowało tsunami), możesz wyciągnąć własne wnioski. Linia prosta może być konserwatywna - ale jeśli chodzi o bezpieczeństwo jądrowe, konserwatywna jest dobra.
Floris
1
@Floris Dobra uwaga. Byłoby lepiej, gdyby użyli wykresu ramkowego, który pokazywał nie tylko obserwowane częstotliwości, ale także przedziały ufności dla tych częstotliwości. Wtedy prawdopodobnie otrzymalibyśmy bardzo wąskie pola po lewej stronie schematu i bardzo szerokie pola po prawej stronie. (Takie przedziały ufności można obliczyć przy założeniu, że każda częstotliwość ma rozkład Poissona.)
user763305
3
@ user763305 - tak, jestem całkiem pewien, że dodanie przedziałów ufności pokazałoby, że linia prosta nie jest niezgodna z danymi (lub innymi słowy, że nie można odrzucić hipotezy zerowej, że dane podążają po linii prostej).
Floris
15

„Agh! Pat odchodzi z firmy. Jak kiedykolwiek znajdziemy zastępcę?”

Oferta pracy:

Poszukiwany: Inżynier elektryk. 42-letnia androgyniczna osoba z dyplomem elektrotechniki, matematyki i hodowli zwierząt. Musi mieć 68 centymetrów wzrostu, brązowe włosy, pieprzyk na lewym oku i podatny na długie wiatry w stosunku do gęsi i niewłaściwe użycie słowa „rada”.

W sensie matematycznym nadmierne dopasowanie często oznacza utworzenie modelu z większą liczbą parametrów niż jest to konieczne, co skutkuje lepszym dopasowaniem do określonego zestawu danych, ale bez przechwytywania odpowiednich szczegółów niezbędnych do dopasowania innych zbiorów danych z danej klasy zainteresowań.

W powyższym przykładzie plakat nie jest w stanie odróżnić istotnych od nieistotnych cech. Wynikowe kwalifikacje prawdopodobnie spełnia tylko jedna osoba, która już wie, że jest odpowiednia do pracy (ale już jej nie chce).

Mark Borgerding
źródło
8
Mimo rozrywki ta odpowiedź nie zapewnia wglądu w to, co oznacza nadmierne dopasowanie w sensie statystycznym. Być może mógłbyś rozszerzyć swoją odpowiedź, aby wyjaśnić związek między tymi bardzo szczególnymi atrybutami a modelowaniem statystycznym.
Sycorax,
+1 znak. Zgadzam się z @ user777 tylko w niewielkim stopniu. Może zdanie przyniesie zwięzły przykład do domu. Ale dodanie zbyt dużej ilości pozbawi prostotę.
ndoogan,
Myślę, że jest to świetna odpowiedź - wykazuje bardzo powszechny typ nadmiernego dopasowania, który zasadniczo zapamiętuje dane treningowe, szczególnie częsty przypadek, gdy ilość danych treningowych jest niewystarczająca do nasycenia ekspresyjnej mocy modelu.
Ken Williams
14

Ten jest wymyślony, ale mam nadzieję, że zilustruje ten przypadek.

Przykład 1

Najpierw zróbmy jakieś losowe dane. Tutaj masz zmiennych, z których każda pochodzi ze standardowego rozkładu normalnego, z przypadków:k=100n=100

set.seed(123)
k <- 100
data <- replicate(k, rnorm(100))
colnames(data) <- make.names(1:k)
data <- as.data.frame(data)

Teraz dopasujmy do niego regresję liniową:

fit <- lm(X1 ~ ., data=data)

A oto podsumowanie pierwszych dziesięciu predyktorów:

> 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

wyniki wyglądają dość dziwnie, ale spójrzmy na to.

wprowadź opis zdjęcia tutaj

To świetnie, dopasowane wartości idealnie pasują do wartości . Błąd wariancji wynosi dosłownie zero. Ale niech nas to nie przekona, sprawdźmy, jaka jest suma bezwzględnych różnic między a dopasowanymi wartościami:X1X1

> sum(abs(data$X1-fitted(fit)))
[1] 0

Jest zero, więc fabuły nas nie okłamały: model idealnie pasuje. A jak dokładna jest w klasyfikacji?

> sum(data$X1==fitted(fit))
[1] 100

Otrzymujemy 100 ze 100 dopasowanych wartości, które są identyczne z . Mamy to z całkowicie losowymi liczbami dopasowanymi do innych całkowicie losowych liczb.X1

Przykład 2

Jeszcze jeden przykład. Uzupełnijmy trochę więcej danych:

data2 <- cbind(1:10, diag(10))
colnames(data2) <- make.names(1:11)
data2 <- as.data.frame(data2)

więc wygląda to tak:

   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

i teraz dopasujmy do tego regresję liniową:

fit2 <- lm(X1~., data2)

więc otrzymujemy następujące szacunki:

> 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

jak widać, mamy , tzn. „wyjaśniono wariancję 100%”. Regresja liniowa nie musiała nawet używać 10. predyktora. Z tej regresji widzimy, że można przewidzieć za pomocą funkcji:R2=1X1

X1=10+X2×9+X3×8+X4×7+X5×6+X6×5+X7×4+X8×3+X9×2

więc to:X1=1

10+1×9+0×8+0×7+0×6+0×5+0×4+0×3+0×2

Jest to dość oczywiste. Możesz myśleć o przykładzie 1 jako podobnym do przykładu 2, ale z dodanym „szumem”. Jeśli masz wystarczająco dużo danych i używasz ich do „przewidywania” czegoś, to czasami jedna „cecha” może cię przekonać, że masz „wzorzec”, który dobrze opisuje zmienną zależną, podczas gdy może to być tylko zbieg okoliczności. W przykładzie 2 tak naprawdę nic się nie przewiduje, ale dokładnie tak samo stało się w przykładzie 1, tylko wartości zmiennych były różne.

Przykłady z życia

Prawdziwym przykładem tego jest przewidywanie ataków terrorystycznych 11 września 2001 r. Poprzez oglądanie „wzorów” w liczbach losowo narysowanych przez komputerowe generatory liczb pseudolosowych przez Global Consciousness Project lub „tajne wiadomości” w „Moby Dick”, które ujawniają fakty o zabójstwach sławnych ludzi (zainspirowany podobnymi ustaleniami w Biblii ).

Wniosek

Jeśli spojrzysz wystarczająco mocno, znajdziesz „wzory” na wszystko. Jednak te wzorce nie pozwolą ci dowiedzieć się niczego o wszechświecie i nie pomogą ci dojść do żadnych ogólnych wniosków. Będą idealnie pasować do twoich danych, ale byłyby bezużyteczne, ponieważ nie będą pasować do niczego innego niż same dane. Nie pozwolą Ci na racjonalne przewidywanie wyników poza próbą, ponieważ zrobiliby to raczej naśladowali niż opisywali dane.

Tim
źródło
5
Sugeruję umieszczenie prawdziwych przykładów na początku tej odpowiedzi. To jest część, która jest naprawdę istotna dla pytania - reszta to sos.
shadowtalker,
8

Częstym problemem, który powoduje nadmierne dopasowanie w prawdziwym życiu, jest to, że oprócz terminów dla poprawnie określonego modelu, mogliśmy dodać coś obcego: nieistotne moce (lub inne transformacje) prawidłowych terminów, nieistotne zmienne lub nieistotne interakcje.

Dzieje się tak w przypadku regresji wielokrotnej, jeśli dodasz zmienną, która nie powinna pojawiać się w poprawnie określonym modelu, ale nie chcesz jej upuścić, ponieważ boisz się indukować pominięte odchylenie zmiennej . Oczywiście nie możesz wiedzieć, że niesłusznie go uwzględniłeś, ponieważ nie widzisz całej populacji, tylko próbki, więc nie wiesz na pewno, jaka jest poprawna specyfikacja. (Jak zauważa @Scortchi w komentarzach, może nie istnieć coś takiego jak „poprawna” specyfikacja modelu - w tym sensie celem modelowania jest znalezienie specyfikacji „wystarczająco dobrej”; aby uniknąć nadmiernego dopasowania, należy unikać złożoności modelu więcej niż można uzyskać na podstawie dostępnych danych.) Jeśli chcesz rzeczywistego przykładu nadmiernego dopasowania, dzieje się tak za każdym razemwrzucisz wszystkie potencjalne predyktory do modelu regresji, jeśli którykolwiek z nich faktycznie nie będzie miał związku z odpowiedzią, gdy tylko zostaną uaktywnione skutki innych.

W przypadku tego rodzaju nadmiernego dopasowania dobrą wiadomością jest to, że włączenie tych nieistotnych warunków nie wprowadza stronniczości estymatorów, a w bardzo dużych próbach współczynniki nieistotnych warunków powinny być bliskie zeru. Ale są też złe wieści: ponieważ ograniczone informacje z twojej próbki są teraz wykorzystywane do oszacowania większej liczby parametrów, można to zrobić tylko z mniejszą precyzją - tak więc wzrastają standardowe błędy w rzeczywiście istotnych terminach. Oznacza to również, że prawdopodobnie będą one bardziej oddalone od prawdziwych wartości niż szacunki z poprawnie określonej regresji, co z kolei oznacza, że ​​jeśli otrzyma się nowe wartości zmiennych objaśniających, prognozy z przeregulowanego modelu będą zwykle mniej dokładne niż dla poprawnie określony model.

Oto wykres logarytmu PKB w stosunku do populacji logów dla 50 stanów USA w 2010 roku. Wybrano losową próbkę 10 stanów (podświetloną na czerwono) i dla tej próbki dopasowujemy prosty model liniowy i wielomian stopnia 5. Dla próbki punktów, wielomian ma dodatkowe stopnie swobody, które pozwalają mu „skręcać się” bliżej obserwowanych danych niż prosta. Ale 50 stanów jako całość podlega prawie liniowej zależności, więc predykcyjna wydajność modelu wielomianowego w 40 punktach poza próbą jest bardzo słaba w porównaniu do mniej złożonego modelu, szczególnie przy ekstrapolacji. Wielomian skutecznie dopasowywał część losowej struktury (szumu) próbki, która nie uogólniła się na szerszą populację. Był szczególnie słaby w ekstrapolowaniu poza obserwowany zakres próbki.ta wersja tej odpowiedzi).

Ekstrapolacja z nadmiernie złożonego modelu

Podobne problemy wpływają na regresję względem wielu predyktorów. Przyglądanie się niektórym faktycznym danym jest łatwiejsze dzięki symulacji niż próbkom ze świata rzeczywistego, ponieważ w ten sposób kontrolujesz proces generowania danych (w rzeczywistości widzisz „populację” i prawdziwą relację). W tym Rkodzie prawdziwy model to ale dane są również podawane na temat nieistotnych zmiennych iyi=2x1,i+5+ϵix2x3. Symulację zaprojektowałem tak, aby zmienne predykcyjne były skorelowane, co byłoby częstym zjawiskiem w rzeczywistych danych. Dopasowujemy modele, które są poprawnie określone i wyposażone (w tym nieistotne predyktory i ich interakcje) w jednej części generowanych danych, a następnie porównujemy wydajność predykcyjną w zestawie wstrzymań. Wielokoliniowość predyktorów jeszcze bardziej utrudnia życie modelowi wyposażonemu w zbyt dużo, ponieważ trudniej jest mu rozróżnić efekty , i , ale zauważ, że nie wpływa to na żaden z estymatorów współczynników.x1x2x3

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")

Oto moje wyniki z jednego przebiegu, ale najlepiej uruchomić symulację kilka razy, aby zobaczyć efekt różnych wygenerowanych próbek.

>     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

Te oszacowania współczynników dla modelu przebudowanego są okropne - powinny wynosić około 5 dla przechwytywania, 2 dla i 0 dla reszty. Ale standardowe błędy są również duże. Prawidłowe wartości tych parametrów mieszczą się w każdym przypadku w 95% przedziałach ufności. wynosi 0,8297, co sugeruje, rozsądny dopasowanie.R 2x1R2

>     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

Oszacowania współczynników są znacznie lepsze dla poprawnie określonego modelu. Należy jednak zauważyć, że jest niższy i wynosi 0,7961, ponieważ mniej złożony model ma mniejszą elastyczność w dopasowywaniu obserwowanych odpowiedzi. W tym przypadku jest bardziej niebezpieczne niż przydatne !R 2R2R2

>     with(holdout.df, sum((y - overfitPred)^2)) #SSE
[1] 1271557
>     with(holdout.df, sum((y - correctSpecPred)^2))
[1] 1052217

Wyższe w próbce, na której dokonaliśmy regresji, pokazało, w jaki sposób przeregulowany model wytworzył prognozy , które były bliższe obserwowanemu niż poprawnie określony model. Ale to dlatego, że nie pasowało do tych danychY YR2y^y(i miał więcej stopni swobody, aby to zrobić, niż zrobił to poprawnie określony model, więc mógł uzyskać „lepsze” dopasowanie). Spójrz na sumę kwadratów błędów dla prognoz dla zestawu wstrzymań, których nie wykorzystaliśmy do oszacowania współczynników regresji, i możemy zobaczyć, o ile gorzej wypadł przeregulowany model. W rzeczywistości właściwie określony model to taki, który daje najlepsze prognozy. Nie powinniśmy opierać naszej oceny wydajności predykcyjnej na wynikach z zestawu danych, które wykorzystaliśmy do oszacowania modeli. Oto wykres błędów z prawidłową specyfikacją modelu, która generuje więcej błędów zbliżonych do 0:

Błędy prognoz w zestawie blokad

Symulacja wyraźnie reprezentuje wiele istotnych rzeczywistych sytuacji (wyobraź sobie jakąkolwiek rzeczywistą reakcję, która zależy od pojedynczego predyktora i wyobraź sobie włączenie do modelu obcych „predyktorów”), ale ma tę zaletę, że możesz grać z procesem generowania danych , rozmiary próbek, charakter przebudowanego modelu i tak dalej. Jest to najlepszy sposób na zbadanie skutków nadmiernego dopasowania, ponieważ w przypadku zaobserwowanych danych zazwyczaj nie masz dostępu do MZD, a nadal są to „prawdziwe” dane w tym sensie, że możesz je zbadać i wykorzystać. Oto kilka wartościowych pomysłów, z którymi powinieneś eksperymentować:

  • Uruchom symulację kilka razy i zobacz, jak różnią się wyniki. Większa zmienność znajdziesz przy małych próbkach niż dużych.
  • Spróbuj zmienić rozmiary próbek. Jeśli zostanie zwiększony do, powiedzmy, n <- 1e6wtedy przeregulowany model ostatecznie oszacuje rozsądne współczynniki (około 5 dla przechwytywania, około 2 dla , około 0 dla wszystkiego innego), a jego wydajność predykcyjna mierzona przez SSE nie tak źle śledzi poprawnie określony model . I odwrotnie, spróbuj dopasować na bardzo małej próbce (pamiętaj, że musisz pozostawić wystarczającą liczbę stopni swobody, aby oszacować wszystkie współczynniki), a zobaczysz, że nadmiernie dopasowany model ma przerażającą wydajność zarówno do szacowania współczynników, jak i przewidywania nowych danych.x1
  • Spróbuj zmniejszyć korelację między zmiennymi predykcyjnymi, grając z elementami o przekątnej macierzy wariancji-kowariancji Sigma. Pamiętaj tylko, aby zachować dodatnią wartość półokreśloną (co obejmuje symetryczność). Powinieneś przekonać się, że jeśli zmniejszysz wielokoliniowość, model przełożony nie działa tak źle. Pamiętaj jednak, że skorelowane predyktory występują w prawdziwym życiu.
  • Spróbuj eksperymentować ze specyfikacją przerobionego modelu. Co się stanie, jeśli podasz warunki wielomianowe?
  • Co zrobić, jeśli symulujesz dane dla innego regionu predyktorów, zamiast mieć ich średnią około 5? Jeśli prawidłowy proces generowania danych dla jest nadal , sprawdź, jak dobrze modele dopasowane do oryginalnych danych mogą przewidzieć, że . W zależności od sposobu generowania wartości może się okazać, że ekstrapolacja z nadmiernie dopasowanym modelem daje prognozy znacznie gorsze niż poprawnie określony model.y x iydf$y <- 5 + 2*df$x1 + rnorm(n=nrow(df))yxi
  • Co się stanie, jeśli zmienisz proces generowania danych tak, że teraz słabo zależy od , i być może również interakcji? Może to być bardziej realistyczny scenariusz, który zależy od samego . Jeśli używasz np następnie i są „prawie bez znaczenia”, ale nie całkiem. (Zauważ, że narysowałem wszystkie zmienne z tego samego zakresu, więc sensowne jest porównywanie ich współczynników w ten sposób.) Następnie prosty model obejmujący tylko cierpi na pomijanie zmiennych zmiennych, chociaż ponieważ i nie są szczególnie ważne, to nie jest zbyt surowy. Na małej próbce, npx 2 x 3 x 1 x 2 x 3 x x 1 x 2 x 3 x 1 x 2 x 3yx2x3x1df$y <- 5 + 2 * df$x1 + 0.1*df$x2 + 0.1*df$x3 + rnorm(n=nrow(df))x2x3xx1x2x3nsample <- 25, pełny model jest wciąż przebudowany, mimo że stanowi lepszą reprezentację populacji podstawowej, a przy powtarzanych symulacjach jego skuteczność predykcyjna w zestawie wstrzymań jest wciąż gorsza. Przy tak ograniczonych danych ważniejsze jest uzyskanie dobrego oszacowania dla współczynnika niż wydawanie informacji na luksus szacowania mniej ważnych współczynników. Ponieważ efekty i są tak trudne do rozpoznania w małej próbce, pełny model skutecznie wykorzystuje elastyczność wynikającą z dodatkowej swobody „dopasowania do hałasu”, co generalnie słabo się uogólnia. Ale zx1x2x3nsample <- 1e6, potrafi dość dobrze oszacować słabsze efekty, a symulacje pokazują, że złożony model ma moc predykcyjną, która przewyższa prostą. To pokazuje, jak „nadmierne dopasowanie” jest kwestią złożoności modelu i dostępnych danych.
Silverfish
źródło
1
(-1) Raczej ważne jest, aby zrozumieć, że nadmierne dopasowanie nie wynika wyłącznie z włączenia terminów „nieistotnych” lub „obcych”, które nie pojawiałyby się w poprawnie określonym modelu. Rzeczywiście można argumentować, że w wielu aplikacjach idea prostego prawdziwego modelu nie ma większego sensu, a wyzwaniem modelowania predykcyjnego jest zbudowanie modelu, którego złożoność jest proporcjonalna do ilości dostępnych danych.
Scortchi
1
Wyślę twoje zdjęcie do mojego kongresmena na poparcie reformy imigracyjnej
prototyp
1
(+1) Wydaje mi się, że zmiany poprawiają wyjaśnienie nadmiernego dopasowania bez poświęcania zrozumiałości.
Scortchi
1
@Aksakal Próbowałem odpowiedzieć na pytanie: „Potrzebuję pomocy w znalezieniu przykładu z prawdziwego świata, który dotyczy nadmiernego dopasowania”. Nie jest jasne, czy OP poproszono o znalezienie opublikowanego artykułu, który będzie pasował, czy - bardziej naturalne znaczenie „wymyślenia” - o skonstruowanie własnego przykładu. Jeśli nadmierne dopasowanie jest złe, to dlaczego w prawdziwym życiu ktoś miałby się nadawać? Moja odpowiedź, że analityk może preferować pomyłkę w przypadku zbyt zawężonego lub nieokreślonego modelu (ze względu na lęk przed OVB lub podejrzeniem, że związek jest krzywoliniowy) jest takim przykładem. Wykres / symulacja po prostu pokazują konsekwencję: złe przewidywanie poza próbą
Silverfish,
1
@Aksakal Nie jest dla mnie jasne, że model wielomianowy jest „nierealny” dla wykresu. Dominująca cecha jest liniowa, ale czy wiemy, że jest całkowicie liniowa? Gdybyśmy mieli dostęp do hipotetycznego miliona jednostek politycznych i musiałbym postawić swoje życie tak czy inaczej, wolałbym ryzykować, że wykrylibyśmy niewielką krzywoliniową zależność, niż że wszystkie wielomianowe warunki byłyby nieznaczne. Mimo to, dopasowując się do niskiej n, tylko model liniowy pozwala uniknąć nadmiernego dopasowania. (Nie możemy tego rozwiązać z powodu trudności w pobieraniu próbek z teoretycznie nieskończonej populacji „możliwych stanów USA”; jest to zaleta symulowanych danych!)
Silverfish,
4

Kiedy sam próbowałem to zrozumieć, zacząłem myśleć w kategoriach analogii z opisywaniem rzeczywistych obiektów, więc sądzę, że jest to tak „prawdziwy świat”, jak to tylko możliwe, jeśli chcesz zrozumieć ogólną ideę:

Powiedz, że chcesz opisać komuś koncepcję krzesła, aby otrzymali model koncepcyjny, który pozwala przewidzieć, czy znaleziony przez niego nowy obiekt będzie krzesłem. Idziesz do Ikei, dostajesz próbkę krzeseł i zaczynasz opisywać je za pomocą dwóch zmiennych: jest to obiekt z 4 nogami, na którym możesz usiąść. Cóż, to może również opisywać stołek lub łóżko lub wiele innych rzeczy. Twój model jest niedopasowany, tak jakbyś próbował modelować złożoną dystrybucję ze zbyt małą liczbą zmiennych - wiele rzeczy niebędących krzesłami zostanie zidentyfikowanych jako krzesła. Zwiększmy więc liczbę zmiennych, dodajmy na przykład, że obiekt musi mieć back. Teraz masz całkiem akceptowalny model, który opisuje Twój zestaw krzeseł, ale jest na tyle ogólny, że pozwala zidentyfikować nowy przedmiot jako jeden. Twój model opisuje dane i potrafi przewidywać. Załóżmy jednak, że masz zestaw, w którym wszystkie krzesła są czarne lub białe i wykonane z drewna. Postanawiasz uwzględnić te zmienne w swoim modelu i nagle nie zidentyfikuje plastikowego żółtego krzesła jako krzesła. Tak więc, przerobiłeś swój model, uwzględniłeś cechy zestawu danych tak, jakby były one ogólnie cechami krzeseł (jeśli wolisz, zidentyfikowałeś „hałas” jako „sygnał”, interpretując losową zmienność z próbki jako cecha całego „krzesła z prawdziwego świata”). Tak więc albo zwiększasz próbkę i masz nadzieję, że dodasz nowy materiał i kolory, albo zmniejszysz liczbę zmiennych w swoich modelach. t zidentyfikować plastikowe żółte krzesło jako krzesło. Tak więc, przerobiłeś swój model, uwzględniłeś cechy zestawu danych tak, jakby były one ogólnie cechami krzeseł (jeśli wolisz, zidentyfikowałeś „hałas” jako „sygnał”, interpretując losową zmienność z próbki jako cecha całego „krzesła z prawdziwego świata”). Tak więc albo zwiększasz próbkę i masz nadzieję, że dodasz nowy materiał i kolory, albo zmniejszysz liczbę zmiennych w swoich modelach. t zidentyfikować plastikowe żółte krzesło jako krzesło. Tak więc, przerobiłeś swój model, uwzględniłeś cechy zestawu danych tak, jakby były one ogólnie cechami krzeseł (jeśli wolisz, zidentyfikowałeś „hałas” jako „sygnał”, interpretując losową zmienność z próbki jako cecha całego „krzesła z prawdziwego świata”). Tak więc albo zwiększasz próbkę i masz nadzieję, że dodasz nowy materiał i kolory, albo zmniejszysz liczbę zmiennych w swoich modelach.

Może to być uproszczona analogia i załamanie pod dalszą analizą, ale myślę, że to działa jako ogólna konceptualizacja ... Daj mi znać, jeśli jakaś część wymaga wyjaśnienia.

joaofm
źródło
Czy mógłbyś bardziej szczegółowo wyjaśnić ideę „szumu” i „sygnału” oraz fakt, że nadmiernie wyposażony model opisuje hałas, ponieważ mam problem z jego zrozumieniem.
quirik
4

W modelowaniu predykcyjnym chodzi o wykorzystanie dostępnych danych do odkrywania istniejących trendów, które można uogólnić na przyszłe dane. Uwzględniając zmienne w swoim modelu, które mają niewielki, nieistotny wpływ, porzucasz ten pomysł. To, co robisz, polega na rozważeniu określonych trendów w konkretnej próbce, które występują tylko z powodu losowego hałasu zamiast prawdziwego, leżącego u podstaw trendu. Innymi słowy, model ze zbyt wieloma zmiennymi pasuje raczej do szumu niż do wykrycia sygnału.

Oto przesadna ilustracja tego, o czym mówię. Kropki to obserwowane dane, a linia to nasz model. Spójrz na to idealne dopasowanie - co za wspaniały model! Ale czy naprawdę odkryliśmy ten trend, czy po prostu dopasowujemy się do hałasu? Prawdopodobnie to drugie.

wprowadź opis zdjęcia tutaj

TrynnaDoStat
źródło
4

Forma nadmiernego dopasowania jest dość powszechna w sporcie, a mianowicie do identyfikowania wzorców wyjaśniających wcześniejsze wyniki za pomocą czynników, które nie mają lub w najlepszym razie niejasne są w stanie przewidzieć przyszłe wyniki. Wspólną cechą tych „wzorów” jest to, że często opierają się one na bardzo niewielu przypadkach, więc czysty przypadek jest prawdopodobnie najbardziej prawdopodobnym wyjaśnieniem wzoru.

Przykłady obejmują takie rzeczy („cytaty” są tworzone przeze mnie, ale często wyglądają podobnie)

Drużyna A wygrała wszystkie mecze X, odkąd trener zaczął nosić swoją magiczną czerwoną kurtkę.

Podobny:

Nie będziemy się golić podczas play-offów, ponieważ pomogło nam to wygrać poprzednie mecze X.

Mniej przesądny, ale także forma nadmiernego dopasowania:

Borussia Dortmund nigdy nie przegrała u siebie z Hiszpanią w Lidze Mistrzów, kiedy przegrała poprzedni mecz wyjazdowy z Bundesligą więcej niż dwoma bramkami, zdobywając przynajmniej raz siebie.

Podobny:

Roger Federer wygrał wszystkie występy w Pucharze Davisa dla europejskich przeciwników, kiedy przynajmniej dotarł do półfinałów tegorocznego Australian Open.

Pierwsze dwa to całkiem oczywiste bzdury (przynajmniej dla mnie). Dwa ostatnie przykłady mogą doskonale sprawdzać się w próbce (tj. W przeszłości), ale z przyjemnością postawiłbym zakład przeciwko przeciwnikowi, który pozwoliłby, aby te „informacje” znacząco wpłynęły na jego szanse na wygraną przez Dortmund z Madrytem 4: 1 w Schalke w poprzednią sobotę lub Federer pokonując Djokovica, nawet jeśli wygrał Australian Open w tym roku.

Christoph Hanck
źródło
3

Oto przykład „prawdziwego świata” nie w tym sensie, że ktoś natknął się na niego w badaniach, ale w tym sensie, że używa codziennych pojęć bez wielu terminów specyficznych dla statystyki. Być może ten sposób powiedzenia będzie bardziej pomocny dla niektórych osób, które szkolą się w innych dziedzinach.

Wyobraź sobie, że masz bazę danych z danymi o pacjentach z rzadką chorobą. Jesteś studentem medycyny i chcesz sprawdzić, czy potrafisz rozpoznać czynniki ryzyka tej choroby. W tym szpitalu odnotowano 8 przypadków choroby i zarejestrowałeś 100 przypadkowych informacji na ich temat: wiek, rasę, kolejność urodzenia, czy mieli odrę jako dziecko, cokolwiek. Zapisałeś również dane dla 8 pacjentów bez tej choroby.

Decydujesz się zastosować następującą heurystykę dla czynników ryzyka: jeśli czynnik przyjmuje daną wartość u więcej niż jednego z twoich chorych pacjentów, ale u 0 twoich kontroli, uznajesz to za czynnik ryzyka. (W rzeczywistości użyłbyś lepszej metody, ale chcę to uprościć). Dowiesz się, że 6 z twoich pacjentów to wegetarianie (ale żadna z kontroli nie jest wegetarianami), 3 ma szwedzkich przodków, a dwóch z nich ma jąkające upośledzenie mowy. Spośród pozostałych 97 czynników nic nie występuje u więcej niż jednego pacjenta, ale nie występuje wśród kontroli.

Wiele lat później ktoś inny interesuje się tą chorobą sierocą i powtarza twoje badania. Ponieważ pracuje w większym szpitalu, który współpracuje z innymi szpitalami w zakresie wymiany danych, może wykorzystać dane o 106 przypadkach, w przeciwieństwie do twoich 8 przypadków. I dowiaduje się, że częstość jąkania jest taka sama w grupie pacjentów i grupie kontrolnej; jąkanie nie jest czynnikiem ryzyka.

Stało się tutaj to, że twoja mała grupa miała 25% jąkających się przypadkowo. Twój heurysta nie miał możliwości dowiedzieć się, czy jest to medycznie istotne, czy nie. Podałeś kryteria, aby zdecydować, kiedy wzorzec w danych będzie wystarczająco „interesujący”, aby można go było uwzględnić w modelu, i według tych kryteriów jąkanie było wystarczająco interesujące.

Twój model został przebudowany, ponieważ omyłkowo zawiera parametr, który nie jest tak naprawdę istotny w prawdziwym świecie. Pasuje do twojej próbki - 8 pacjentów + 8 kontroli - bardzo dobrze, ale nie pasuje do rzeczywistych danych. Kiedy model opisuje twoją próbkę lepiej niż rzeczywistość, nazywa się to nadmiernym dopasowaniem.

Gdybyście wybrali próg 3 z 8 pacjentów mających tę cechę, to by się nie zdarzyło - ale mielibyście większą szansę pominięcia czegoś naprawdę interesującego. Szczególnie w medycynie, gdzie wiele chorób występuje tylko u niewielkiej części osób wykazujących czynnik ryzyka, jest to trudny kompromis. Istnieją metody, aby tego uniknąć (w zasadzie porównaj z drugą próbką i sprawdź, czy moc wyjaśniająca pozostaje taka sama, czy spada), ale jest to temat na inne pytanie.

rumtscho
źródło
Bardzo przypomina xkcd.com/882
Floris
3

Oto prawdziwy przykład nadmiernego dopasowania, który pomogłem popełnić, a następnie (bezskutecznie) spróbowałem uniknąć:

Miałem kilka tysięcy niezależnych, dwuwymiarowych szeregów czasowych, każdy z nie więcej niż 50 punktami danych, a projekt modelowania obejmował dopasowanie do każdej z nich autoregresji wektorowej (VAR). Nie podjęto żadnej próby uregulowania wyników obserwacji, oszacowania składników wariancji ani niczego podobnego. Punkty czasowe mierzono w ciągu jednego roku, więc dane podlegały wszelkiego rodzaju efektom sezonowym i cyklicznym, które pojawiały się tylko raz w każdym szeregu czasowym.

Jeden podzbiór danych wykazywał nieprawdopodobnie wysoki stopień przyczynowości Grangera w porównaniu z resztą danych. Kontrole wyrywkowe ujawniły, że dodatnie skoki występowały w tym podzbiorze o jedno lub dwa opóźnienia od siebie, ale z kontekstu jasno wynikało, że oba skoki były powodowane bezpośrednio przez źródło zewnętrzne i że jeden skok nie powodował drugiego. Prognozy poza próbą przy użyciu tych modeli byłyby prawdopodobnie błędne, ponieważ modele były przeregulowane: zamiast „wygładzania” skoków przez uśrednianie ich w pozostałej części danych, mało było obserwacji, że impulsy rzeczywiście napędzają szacunki.

Ogólnie rzecz biorąc, nie sądzę, aby projekt poszedł źle, ale nie wydaje mi się, aby przyniósł wyniki, które byłyby tak przydatne, jak mogłyby być. Jednym z powodów tego jest to, że procedura wielu niezależnych VAR, nawet z jednym lub dwoma opóźnieniami, miała trudności z rozróżnieniem między danymi a szumem, a zatem pasowała do tego drugiego kosztem zapewnienia wglądu w były.

Shadowtalker
źródło
1

Wielu inteligentnych ludzi w tym wątku --- o wiele bardziej zorientowanych w statystyce niż ja. Ale wciąż nie widzę łatwego do zrozumienia przykładu dla osób świeckich. Przykład prezydencki nie do końca uderzył w rachunek w kategoriach typowego przeuczenia, ponieważ chociaż technicznie jest on niedopasowany w każdym ze swoich dzikich roszczeń, zwykle model nadmiernego dopasowania przebija - WSZYSTKIE - dany hałas, a nie tylko jeden jego element.

Naprawdę podoba mi się wykres w objaśnieniu kompromisu wariancji w Wikipedii: http://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff

(Najniższa tabela jest przykładem nadmiernego dopasowania).

Trudno mi wymyślić przykład z prawdziwego świata, który nie brzmi jak kompletne mumbo-jumbo. Chodzi o to, że dane są częściowo spowodowane mierzalnymi, zrozumiałymi zmiennymi --- częściowo przypadkowym szumem. Próba modelowania tego hałasu jako wzoru daje niedokładność.

Klasycznym przykładem jest modelowanie oparte WYŁĄCZNIE na R ^ 2 w MS Excel (próbujesz dopasować równanie / model dosłownie jak najbliżej danych za pomocą wielomianów, bez względu na to, jak nonsensowne).

Załóżmy, że próbujesz modelować sprzedaż lodów w funkcji temperatury. Masz dane z „prawdziwego świata”. Rysujesz dane i próbujesz zmaksymalizować R ^ 2. Znajdziesz dane rzeczywiste, najbliższe równanie dopasowania nie jest liniowe ani kwadratowe (co miałoby logiczny sens). Jak prawie wszystkie równania, bardziej nonsensowne terminy wielomianowe dodajesz (x ^ 6 -2x ^ 5 + 3x ^ 4 + 30x ^ 3-43.2x ^ 2-29x) - im bardziej pasuje do danych. Jak to rozsądnie wiąże temperaturę ze sprzedażą lodów? Jak wytłumaczysz ten absurdalny wielomian? Prawda jest taka, że ​​to nie jest prawdziwy model. Przekroczyłeś dane.

Bierzesz pod uwagę hałas - który mógł być spowodowany promocjami sprzedaży lub inną zmienną lub „hałasem” jak motyl trzepoczący skrzydłami w kosmosie (coś, co nigdy nie jest przewidywalne) - i próbowałeś modelować to na podstawie temperatury. Zazwyczaj teraz, jeśli twój szum / błąd nie osiąga wartości średniej lub jest automatycznie skorelowany itp., Oznacza to, że jest tam więcej zmiennych --- i wtedy w końcu dochodzi do generalnie losowo rozłożonego hałasu, ale nadal jest to najlepsze, co mogę wyjaśnić.

John Babson
źródło
2
Późniejsze modele „” w komiksie Prezydenckim nie zmieścić cały dany hałas.
Ben Voigt,
Moim zdaniem komiks nie jest przeciwny większości scenariuszy, które są zbyt niepasujące, mimo że te absurdalne zasady dokładnie przewidziały wszystkich poprzednich prezydentów. Większość prognoz nie przewiduje zmiennej dychotomicznej. Również humorystycznie wspomina o samej zasadzie, która zostanie złamana w następnych wyborach - innymi słowy, model overfit cały czas się myli, co czyni go doskonałym prognostykiem na przyszłość. Większość modeli overfit nie jest oparta na 1 błędnej zmiennej, którą można przetestować pod kątem bycia obcym - zwykle opiera się na zbyt wielu zmiennych w modelu, wszystkie przypadkowo wprowadzone w celu zmniejszenia R ^ 2.
John Babson,
0

Większość metod optymalizacji ma pewne czynniki krówki, czyli hiperparametry. Prawdziwy przykład:

Nmin=5,  finc=1.1,  fdec=0.5,  αstart=0.1,  fα=0.99.

Czy to przez montaż, lub po prostu dopasowanie do konkretnego zestawu problemów?

denis
źródło
0

Studiowanie do egzaminu poprzez zapamiętanie odpowiedzi na zeszłoroczny egzamin.

Ingolifs
źródło
0

Moim ulubionym jest „formuła 3964” odkryta przed zawodami piłkarskimi Pucharu Świata w 1998 roku:

Brazylia wygrała mistrzostwa w 1970 i 1994 roku. Zsumuj te 2 liczby, a dostaniesz 3964; Niemcy wygrały w 1974 i 1990 roku, ponownie sumując się do 3964; to samo dotyczy wygranej Argentyny w 1978 i 1986 roku (1978 + 1986 = 3964).

Jest to bardzo zaskakujący fakt, ale wszyscy widzą, że nie jest wskazane opieranie jakichkolwiek przyszłych prognoz na tej zasadzie. I rzeczywiście, reguła ta mówi, że zwycięzcą Pucharu Świata w 1998 roku powinna była być Anglia od 1966 + 1998 = 3964, a Anglia wygrała w 1966. To się nie zdarzyło, a zwycięzcą została Francja.

sdd
źródło
-2

Trochę intuicyjne, ale może to pomoże. Powiedzmy, że chcesz nauczyć się nowego języka. Jak się uczysz? zamiast uczyć się zasad na kursie, korzystasz z przykładów. W szczególności programy telewizyjne. Więc lubisz programy kryminalne i oglądasz kilka seriali z policjantów. Następnie bierzesz kolejny serial kryminalny i oglądasz serial z tego serialu. Po trzecim programie, który widzisz - wiesz prawie wszystko, nie ma problemu. Nie potrzebujesz angielskich napisów.

Ale podczas następnej wizyty wypróbujesz swój nowo nauczony język na ulicy i zdasz sobie sprawę, że nie możesz rozmawiać o niczym innym niż powiedzieć „oficerze! Ten mężczyzna wziął moją torbę i zastrzelił tę kobietę!”. Podczas gdy „błąd szkolenia” wynosił zero, „błąd testu” jest wysoki z powodu „przeuczenia” języka, studiowania tylko ograniczonego zestawu słów i zakładania, że ​​jest wystarczający.

yoki
źródło
8
To nie jest zbyt trudne, to tylko nauka podzbioru języka. Nadmierne dopasowanie byłoby, gdyby po obejrzeniu pokazów kryminalnych nauczyłeś się całego, ale dziwnego, języka, który pokrywa się z angielskim we wszystkich tematach związanych z przestępczością, ale jest totalnym bełkotem (a może chińskim), kiedy mówisz o jakimkolwiek innym temacie.
ameba