Fråga:
Vad är ett verkligt exempel på "överanpassning"?
user3851283
2014-12-11 12:28:25 UTC
view on stackexchange narkive permalink

Jag förstår typiskt vad "överanpassning" betyder, men jag behöver hjälp med hur jag kan komma på ett verkligt exempel som gäller överanpassning.

Kanske kan du förklara vad du "förstår" om "vad överanpassning betyder", så att människor kan ta itu med de delar du inte förstår utan att behöva gissa vad dessa kan vara?
http://www.tylervigen.com
@ssdecontrol Rysk korrelation är inte överanpassad.I själva verket behöver falsk korrelation inte involvera en uttrycklig modell, och den implicita modellen är vanligtvis en rak linje med två parametrar.
@user777 Folk tittar på det för att det har en spännande titel och det finns på listan "Heta frågor".Men då visar sig frågan vara mycket vag så att folk inte röstar.
@NickCox och vem ska säga att du inte kan passa en rak linje?Visst att det inte är vad du brukar tänka på som överanpassning, men om din världsmodell är "dessa två saker har ett linjärt förhållande" när de faktiskt inte gör det, skulle jag säga att din modell är överanpassad
@whuber: Detta skulle kanske vara mer lämpligt att diskutera på meta, men jag blev förvånad över att du konverterade det här inlägget till community-wiki.Betyder det inte att OP inte kommer att få ökat rykte för framtida röster?För mig ser det nästan ut som ett "straff" för honom;vad var anledningen till det?
@amoeba Det är inte straff: denna fråga har som sagt uppenbarligen inget rätt eller kanoniskt svar.I sin ursprungliga form som en icke-CW-fråga var det inte ämnet som ett resultat - och borde ha stängts snabbt, BTW - men eftersom det kan vara värt att ha några bra exempel skapade kollektivt av samhället, vilket ger CW-status* istället för att stänga det * verkar det vara en rimlig lösning.
Hittills ** väldigt få ** av dessa svar (bara två av 11!) Försöker till och med ta itu med frågan, som ber om ett * verkligt exempel *.Det betyder inte en simulering, inte ett teoretiskt exempel, inte en tecknad film, utan en seriöst tillämpad modell för faktiska data.Observera också att frågan uttryckligen försöker styra svaren bort från förklaringar om vad överanpassning är.
http://meta.stats.stackexchange.com/q/2301/2921.Låt oss ta ytterligare diskussion om denna fråga till Meta.
@ssdecontrol Det försvaret verkar tendensiöst för mig.Eftersom falsk korrelation vanligtvis uppstår på grund av försummelse av andra variabler, är underkläder förmodligen närmare fallet.Jag skulle fortfarande betrakta falsk korrelation och överanpassning som i huvudsak orelaterad.
@NickCox Jag tycker inte att det är tendentiöst alls och dessa korrelationer är absolut inte falska på grund av utelämnad variabel bias.Jag tog upp det i Ten Fold och vi kan nog diskutera det vidare där.
@ssdecontrol Jag saknar uppenbarligen din poäng.Varför inte utveckla ditt argument som ett svar?
21 svar:
Dimitriy V. Masterov
2014-12-11 13:37:09 UTC
view on stackexchange narkive permalink

Här är ett bra exempel på tidsseriemodeller för presidentval från xkcd: enter image description here

Det har bara varit 56 presidentval och 43 presidenter. Det är inte mycket data att lära av. När prediktorutrymmet expanderar till att inkludera saker som att ha falska tänder och Scrabble-punktvärdet för namnen, är det ganska enkelt för modellen att gå från att passa de generaliserande funktionerna i data (signalen) och att börja matcha bruset. När detta händer kan anpassningen till historiska data förbättras, men modellen kommer att misslyckas när den används för att göra slutsatser om framtida presidentval.

Jag tror att du borde lägga till något om provförspänning för att förklara hur detta relaterar till överanpassning.Bara en klippning och klistra av tecknade filmer saknas förklaringen.
Ett trevligt inslag i detta exempel är att det visar skillnaden mellan överanpassning och komplexitet.Regeln "Som går Kalifornien, så går nationen" är enkel men ändå överdragen.
@TomMinka faktiskt kan överanpassning orsakas av komplexitet (en modell som är för komplex för att passa alltför enkla data, så att ytterligare parametrar passar vad som helst) eller, som du påpekade, av bullriga funktioner som får mer vikter i beslutet än relevanta funktioner.Och det finns många andra möjliga källor till överanpassning (inneboende variation i data eller modell, data som inte är relevanta för att representera målmålet etc.).Jag tror att vi borde säga att det finns överanpassning **, inte bara överanpassning (vilket innebär att det bara finns en orsak, vilket ofta inte är korrekt).
prototype
2014-12-13 04:16:45 UTC
view on stackexchange narkive permalink

Min favorit var Matlabs exempel på folkräkningen i USA jämfört med tiden:

  • En linjär modell är ganska bra
  • En kvadratisk modell är närmare
  • En kvartsmodell förutspår total förintelse från och med nästa år

(Jag hoppas åtminstone uppriktigt hoppas detta är ett exempel på överanpassning)

http://www.mathworks.com/help/curvefit/examples/polynomial-curve-fitting.html#zmw57dd0e115 enter image description here

Bara för att vara tydlig exakt under plottet säger de: "Uppförandet av den sjätte gradens polynompassning utanför dataområdet gör det till ett dåligt val för extrapolering och ** du kan avvisa denna passning. **"
Jag har precis snubblat över detta under Covid.Yikes.
Nick Cox
2014-12-11 22:13:20 UTC
view on stackexchange narkive permalink

Studien av Chen et al. (2013) passar två kubik till en förmodad diskontinuitet i livslängden som en funktion av latitud.

Chen Y., Ebenstein, A., Greenstone, M., and Li, H. 2013. Bevis på konsekvenserna av hållbar exponering för luftföroreningar på livslängden från Kinas Huai River-politik. Proceedings of the National Academy of Sciences 110: 12936–12941. abstrakt

Trots att det publicerades i en enastående tidskrift etc., dess tysta godkännande av framstående människor etc., skulle jag fortfarande presentera detta som en prima facie exempel på överpassning.

Ett kännetecken är osannolikheten för kubik. Att montera en kubik antar implicit att det finns någon anledning till att livslängden skulle variera som ett tredje gradens polynom av latitud där du bor. Det verkar ganska osannolikt: det är inte lätt att föreställa sig en trolig fysisk mekanism som skulle orsaka en sådan effekt.

Se även följande blogginlägg för en mer detaljerad analys av denna uppsats: Bevis på inverkan av ihållande användning av polynomregression på orsaksslutledning (ett påstående att koluppvärmning minskar livslängden med fem år för en halv miljard människor).

+1 Andrew Gelman skrev till och med ett eller två blogginlägg om varför det är otroligt.Här är en: http://andrewgelman.com/2013/08/05/evidence-on-the-impact-of-sustained-use-of-polynomial-regression-on-causal-inference-a-claim-that-coal-uppvärmning-minskar-livslängd-med-5-år-för-en-halv-miljard-människor /
@user777 Gelman-bloggen är förmodligen hur jag först hörde talas om detta.Men jag tyckte att det var mest lämpligt att ge referens, lägga till fluffen i min personliga kommentar och låta folk bedöma själva.
Jag har klippt en redigering av @D.W.som introducerade kommentarer om förväntad livslängd i olika länder, vilket inte alls handlar om tidningen.
+1 - Det finns skäl för att passa de polynomiska termerna i RDD-mönster, men jag har sett några ganska dumma applikationer av det (en presentation jag gick till för "robusthetskontroller" passar upp till 9 polynomiska termer - som om du någonsin har plottaten serie polynom passar du kommer att inse att detta är motsatsen till robust!)
Ett annat exempel som jag tycker är illustrativt (även om det är potentiellt mer konstruerat än "verkliga världen") är förutsägelsestävlingar som ger tillbaka mellanresultat - som kaggle.Vanligtvis finns det individer som optimerar resultaten till ledartavlan, men de är inte vinnarna för att hålla ut provet.[Rob Hyndman] (http://robjhyndman.com/hyndsight/prediction-competitions/) diskuterar detta.Det tar dock lite mer djupgående perspektiv än vad jag tror att OP vill ha här.
Jag skulle precis lägga upp Gelman och Imbens papper som kom ut ur detta: http://www.nber.org/papers/w20405 (gated, tyvärr)
whuber
2014-12-12 05:36:51 UTC
view on stackexchange narkive permalink

I en 14 mars 2014-artikel i Science identifierade David Lazer, Ryan Kennedy, Gary King och Alessandro Vespignani problem i Google Flu Trends som de tillskriver överanpassning.

Figure

Så här berättar de historien, inklusive deras förklaring av typen av överanpassning och varför det fick algoritmen att misslyckas :

I februari 2013 ... Naturen rapporterade att GFT förutspådde mer än dubbelt så mycket andelen läkarbesök för influensaliknande sjukdom (ILI) än Centersfor Disease Control and Prevention (CDC) .. ... Detta hände trots att GFT byggdes för att förutsäga CDCreports ....

I huvudsak var metoden att hitta de bästa matchningarna bland 50 miljoner söktermer för att passa 1152 datapunkter. Oddsen för att hitta söktermer som överensstämmer med influensans benägenhet men som är strukturellt oberoende och därför inte förutsäger framtiden var ganska höga. GFT-utvecklare rapporterar i själva verket att säga bort säsongsöversikter som inte är relaterade till influensa, men som är starkt korrelerade med CDC-data, till exempel de som rör gymnasiet. Detta borde ha varit en varning för att de stora uppgifterna överträffade det lilla antalet fall - en vanlig oro i dataanalysen. Denna adhoc-metod för att kasta ut speciella sökord misslyckades när GFT helt missade den icke-säsongsbetonade influensan A – H1N1 2009.

[Betoning tillagd.]

Tyvärr har detta exempel några problem.Papperet föreslår två ganska olika skäl till varför GFT gjorde dåliga förutsägelser: överanpassning och ändringar av sökmotorn.Författarna erkänner att de inte har möjlighet att avgöra vilken orsak (om någon) är korrekt, så det är i grunden spekulation.Dessutom hänvisar stycket om överanpassning till den ursprungliga versionen av systemet, medan förutsägelserna i diagrammet gjordes med ett modifierat system.
@Tom Artikeln är inte skriven som om anklagelsen om överanpassning är spekulation: författarna hävdar det.Jag tycker att det är ett rimligt uttalande.De tar också upp anledningen till att de måste vara något spekulativa: Google var inte öppen eller transparent om algoritmen.Det verkar för mig som oväsentligt för nuvarande ändamål om överanpassningen endast inträffade i en eller flera versioner, men som jag minns tar författarna upp detta också och påpekar bevis för fortsatt överanpassning i den nuvarande algoritmen.
Artikeln säger bara att överanpassning är ett standardproblem i dataanalys.Det hävdar inte att överanpassning var orsaken.[Referens (2)] (http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1003256) går in i mer detalj, men säger återigen att övermontering bara är en "möjlig fråga", med påståendet "Eftersom sökalgoritmen och de resulterande frågetermerna som användes för att definiera de ursprungliga och uppdaterade GFT-modellerna förblir okända, är det svårt att identifiera orsakerna till systemets suboptimala prestanda och ge rekommendationer för förbättringar."
@Tom Jag kommer att stå bakom citatet som ges här, vilket är korrekt, som tillräckligt stöd för varför Google Influensamodellen är värdig att överväga i det nuvarande sammanhanget.
Intressant diskussion.Jag ska bara lägga till att grafen kan stödja argumentet bättre om raderna var märkta.
@rolando2 Jag inkluderade inte en sorts legend som visas i originalet;det indikerar att den trunkerade tunga blå linjen är för säsongen 2014 och de ljusare blå linjerna är för "tidigare år."Det är faktiskt en kontroll du kan använda för att begränsa de blå linjerna till ett enda år - du måste länka till webbplatsen för att använda den.
March Ho
2014-12-12 00:08:01 UTC
view on stackexchange narkive permalink

Jag såg den här bilden för några veckor sedan och tyckte att den var ganska relevant för frågan.

meme picture

Istället för att linjärt passa sekvensen, var den försedd med ett kvartspolynom, som passade perfekt men resulterade i ett klart löjligt svar.

Detta svarar inte på frågan som ställts, och kan vara bättre som en kommentar eller inte publiceras alls.Detta ger inte ett verkligt exempel på överanpassning (vilket är vad frågan ställdes för).Det förklarar inte heller hur exempelbilden är relevant för överanpassning.Slutligen är det mycket kort.Vi föredrar grundliga, detaljerade svar som svarar på den fråga som ställdes - inte bara diskussion relaterad till frågan.
I själva verket är detta exakt ett fall av överanpassning på grund av för komplex modell, eftersom du kan konstruera en oändlighet av högre ordningsfunktioner (icke-linjära) för att generera ett oändligt antal olika sista termer i sekvensen medan du fortfarande passarandra (kända) termer, genom att använda en [Lagrange-interpolation som förklaras här] (http://math.stackexchange.com/a/341732/72736).
@user1121352 I tecknad film är högordenspolynom ** den sanna modellen, så det handlar inte alls om överpassning.Ett svar som "9" (nästa udda nummer) eller "11" (nästa udda primtal) skulle faktiskt vara * under * -passning eftersom det använder en för enkel modell för att förutsäga nästa värde.Teckningen illustrerar faktiskt det motsatta fallet, att en mer komplex modell kan vara sant.
Kvartikpolynomet (som jag tolkat) är tänkt att vara en löjlig lösning, eftersom det uppenbara svaret som någon kommer att ge innan de ser den löjliga lösningen skulle vara 9 (eller något annat OEIS-värde).Jag antog att "doge" -formatet förmedlade sarkasm, men vi ser tydligt Poes lag fungera här.
Det är dock precis den punkten jag försöker göra, vilket är att vi inte vet vad den verkliga funktionen är.Om du utför originalanalys har du inte en resurs som OEIS att vädja till för sanningen: det är vad din modell försöker etablera.Jag uppskattar att tecknade filmer försöker sarkasma, men tecknadens placering inom denna speciella diskussion visar en viktig subtilitet för frågan om överanpassning och statistisk modellering i allmänhet.Avsikten med dess ursprungliga skapare är irrelevant eftersom du har rekontextualiserat det här!
Aksakal
2014-12-11 21:12:27 UTC
view on stackexchange narkive permalink

För mig är det bästa exemplet Ptolemaic system inom astronomi. Ptolemaios antog att jorden är i centrum av universum och skapade ett sofistikerat system av kapslade cirkulära banor, som skulle förklara objektets rörelser på himlen ganska bra. Astronomer var tvungna att fortsätta lägga till cirklar för att förklara avvikelse, tills det en dag blev så invecklat att folk började tvivla på det. Det var då Copernicus kom med en mer realistisk modell.

Detta är det bästa exemplet på överutrustning för mig. Du kan inte överdriva datagenereringsprocessen (DGP) till data. Du kan bara överdräva felaktigt specificerad modell. Nästan alla våra modeller inom samhällsvetenskap är felaktigt specificerade, så nyckeln är att komma ihåg detta och hålla dem tuffa. Inte för att försöka fånga alla aspekter av datamängden, utan försöka fånga de viktigaste funktionerna genom förenkling.

Detta verkar inte vara ett exempel på överanpassning.Det är inget fel med det Ptolemaiska systemet som en förutsägbar modell: det är bara komplicerat för att koordinatsystemet är geocentriskt snarare än att det härrör från det galaktiska masscentrumet.Problemet är därför att en korrekt, legitim passning gjordes med en alltför komplicerad modell.(Ellipsen är mycket enklare än epicyklar.) Det är en riktig utmaning att hitta oberoende olinjära modeller!
Du kommer att sluta med många cirklar för att modellera Jupiters månars banor i Ptolemaic-systemet.
Det stämmer - men på det hela taget är det inte nödvändigtvis överanpassning.Syra testet ligger i förutsägelser av framtida värden, som i det systemet fungerade tillräckligt bra för att stå i 1400 år.Data är * överdragen * inte när modellen är mycket komplicerad, men när den är så * flexibel * att den genom att fånga främmande detaljer ger mycket mer felaktiga förutsägelser än vad som kan förväntas från en analys av modellens rester på dess träningsdata.
"Du kan inte överdriva datagenereringsprocessen (DGP) till data. Du kan bara överdräva felaktigt specificerad modell."är ganska oklart.Det är fel om det innebär att korrekt specificering av modellen för att återspegla datagenereringsprocessen (när detta är möjligt) är någon garanti mot överanpassning.
@Scortchi, Jag tror inte att du kan överkläda korrekt specificerad modell.Problemet är att kanske fysik och teknik är de enda områden där vi någonsin korrekt specificerar modellerna.Inom samhällsvetenskap finns det ingen chans.
Aksakal: Det kan du verkligen.Tänk på @arnaud's-exemplet, och antag att datagenereringsprocessen var känd för att vara $ \ operatorname {E} Y = \ sum_ {k = 0} ^ 9 \ beta_k x ^ i $.Skulle inlärning leda dig till att * anpassa * den modellen till de tio datapunkterna i förväntan om bättre förutsägelser på nya data än den enkla linjära modellen?
Provstorlek för tio parametrar är inte en regression alls.Det är ett linjärt ekvationssystem.
Vet inte vad du menar med det.BTW det fanns ett stavfel i min kommentar - jag menade naturligtvis $ \ operatorname {E} Y = \ sum_ {k = 0} ^ 9 \ beta_k x_k $.
Du sa att det finns tio datapunkter.Du har 11 parametrar i modellen.Detta är inte en regressionsmodell alls.I själva verket är detta inte heller ett linjärt system, du har en extra parameter.Detta kan inte lösas alls.Detta är inte ett bra exempel för ditt argument.
@Aksakal: 10-parametrar: $ \ operatorname {E} Y = \ sum_ {k = 0} ^ 9 \ beta_k x ^ k $ (typt korrekt nu!).Naturligtvis kan felet inte uppskattas eller antas att det är känt.Om det stör dig, överväga ett åttonde ordningspolynom i $ x $;poängen är densamma.
Det finns en annan anledning till att det är mycket dåligt exempel.Astronomer började inte med många cirklar och tyckte att modellen passade bra och de kastade inte många olika modeller på data och valde cirklar eftersom de fungerade bra på tidigare data.De var tvungna att använda cirklar av estetiska, religiösa och praktiska skäl och fortsatte att lägga till några för att förbättra förutsägelserna.Den processen är mindre än idealisk men det känns som motsatsen till att överanpassa mig.
@aksakal Om du tittar på [mitt svar] (http://stats.stackexchange.com/a/128719/22228) ser du R-kod för simulering som gör att du kan experimentera med överanpassning.Utför ändringarna som beskrivs i min sista punkt.Du kommer att upptäcka att genom att anpassa rätt modell till liten n får du sämre förutsägbar prestanda * även på hållset * än att använda en förenklad modell.Därför överdräkt.
@aksakal Grovt, rätt modell kan innehålla parametrar som är svåra att uppskatta från liten n;då har modellen för många df så för mycket flexibilitet och kommer att använda detta för att "passa bruset" snarare än signalen (så kommer det att generaliseras dåligt när man gör förutsägelser på en uppehållssats).Men med större n är det lättare att upptäcka den underliggande signalen, rimliga parameteruppskattningar kan göras och den sanna modellen kan överträffa förutsägelser från en enklare modell.Överanpassning kan bero på provstorlek, inte bara modellens korrekthet / komplexitet, vilket är något detta svar inte klargör.
@Silverfish, Jag ser att du modellerar BNP.Ingen modellerar det så här, lita på mig.Ditt exempel är vilseledande eftersom du försöker passa helt fel modell för att visa överpassning, medan ditt problem där helt enkelt är felaktigt specificerat. Små $ n $ är en helt annan fråga.Tjeres saknar * statistik "när antalet observationer knappt är större än antalet parametrar. Det är som att ha en observation och försöka tillämpa statistik på den.
@aksakal Simuleringen längst ner är inte relaterad till BNP-grafen högst upp, jag gav faktiskt inte någon kontextuell mening till den.Jag skulle kanske ha skickat in två separata svar.Jag är förvirrad av ditt uttalande - det finns många tekniker för att modellera data med "liten n, stor p".Provstorlek * är * relevant för överanpassning, och en korrekt modell kan vara överdragen om den är för komplex för tillgänglig data.Trots utelämnad variabel bias kan en mer parsimonious modell ha bättre förutsägbar prestanda i denna situation.
@aksakal kan det "vilseledande" exemplet övertyga dig?Antag att sådana data (behöver inte vara BNP) inte hade ett helt linjärt förhållande i befolkningen - såvida det inte fanns en fysisk lag på jobbet som knappast skulle vara förvånande.Polynompassning för ett krökt förhållande är rimligt.Tänk dig att det bara var * svagt * böjt, så sann koefficient på $ x ^ 2 $ är 0.00000001 och så vidare.Knappt annorlunda än 0. Nu är polynompassningen * inte "felaktigt specificerad" men en sådan modell har fortfarande för mycket flexibilitet för data, kommer att överträffa och förutsägelsen blir lika dålig som illustrerat.
@Silverfish, Jag ber om ursäkt, borde inte ha använt "vilseledande".Om du känner till den underliggande lagen (ekvation), bör du använda den.Om det inte finns tillräckligt med data, få det.I fysik är det så det fungerar.Inom samhällsvetenskap vet vi aldrig riktigt * den sanna * ekvationen, och vi är vanligtvis begränsade med observationsdata, dvs. vi kan inte få mer data.Så vi måste skilja på dessa situationer.Det är inte meningsfullt att prata om * sanna * modeller inom samhällsvetenskap alls.
Även om det finns en korrekt modell, med begränsad information, kan en mer parsimonious modell som extraherar viktiga funktioner ha bättre förutsägbar prestanda.Det här är vad scortchi sa om arnauds exempel - om DGP var ett åttonde maktpolynom skulle det fortfarande vara överdrivet.En linjär modell skulle göra bättre förutsägelser från data än rätt modell.
@Aksaksal: Jag älskar ditt svar.Jag tänkte självständigt bara på Ptolemaic-systemet som ett bra exempel på överanpassning.Även om det inte är så enkelt att förklara varför, skriker det ptolemaiska systemet av "övermontering" och ett av de bästa exemplen på det.
@whuber: Du tänker bara överanpassa i prediktiv bemärkelse.Det finns också överanpassning i kausal bemärkelse, och faktiskt har det sannolikt varit sammanhanget här.De ville förstå vad som orsakade de uppenbara rörelserna på himlen och inte bara förutse var en planet kommer att vara om en vecka.Om vi tänker kausalt (vad som orsakar olika planets, stjärnors rörelser) blir överanpassningen tydlig.
En kausalmodell måste formuleras innan man ser data och inte data som bryts (i ekonomernas mening av ordet) / överdriver data.Vad Ptolemaios gjorde var att formulera sin kausalmodell så att den passar de uppgifter som finns så bra som möjligt.Hans modell fick kausaliteten helt fel (visserligen beror den retrograda rörelsen inte på epicykler, motsvarigheter etc.) på grund av övermonteringen.
@ColorStatistics Jag tror att Ptolemaios hade några framgångsrika förutsägelser.Jag är inte säker på om det var av en slump eller för att hans system fungerade som en icke ortogonal funktionsexpansion.
Jag är inte säker på vad du menar med "icke-ortogonal funktionsexpansion".Baserat på vad jag läste håller jag med om att det ser ut som om hans modell gjorde ett ganska bra jobb med att förutsäga, men det var verkligen fel / helt överdriven orsaksmekanism, ungefär som om människor bär paraplyer på morgonen kommer sannolikt att vara till hjälp för att förutsäga omdet kommer att springa den dagen men paraplyer medför verkligen inte regn.Sammanhanget för hans arbete var verkligen kausal och inte förutsägelse.De försökte räkna ut solsystemets struktur och inte bara förutsäga rörelser på himlen.
@ColorStatistics, Jag skulle inte säga att Ptolemaios system var så bra att förutsäga ur provet, men de var bra på att presentera selektiva bevis.Eftersom det har förklarats som Guds system, var de tvungna att dölja motsägelser i århundraden.Med icke-ortogonal menar jag att vilken funktion som helst kan presenteras som summa $ f (x) = \ sum_i a_i g_i (x) $ där $ g_i (x) $ en uppsättning andra funktioner.Detta fungerar bäst när du ansluter dessa till ekvationerna i systemet och när $ g_i $ råkar vara egenfunktioner av det.Då får du den ortogonala expansionen som Fourier eller Bessel.
@ColorStatistics, eftersom Ptolemaios inte hade ett "riktigt" ekvationssystem, var hans cirklar inte det rätta ortogonala systemet med egenfunktioner för himmelska rörelser, så hans expansion fungerade inte så bra.Men begreppsmässigt för mig gjorde han det rätta genom att ta hänsyn till den komplexa rörelsen i enkla rörelser, om han bara kunde välja rätt system med enkla rörelser, och om bara det verkliga systemet till och med möjliggjorde för ett sådant system att existera
@Aksakal: Tack för ytterligare detaljer.
dagnelies
2014-12-11 21:34:04 UTC
view on stackexchange narkive permalink

Låt oss säga att du har 100 punkter i en graf.

Du kan säga: hmm, jag vill förutsäga nästa.

  • med en rad
  • med ett andra ordens polynom
  • med ett tredje ordets polynom
  • ...
  • med ett 100-ordet polynom

Här kan du se en förenklad illustration för detta exempel: enter image description here

Ju högre polynomordning, desto bättre kommer den att passa de befintliga punkterna.

Polynom av hög ordning, trots att de ser ut att vara bättre modeller för prickarna, överlagrar dem faktiskt. Det modellerar bruset snarare än den verkliga datafördelningen.

Som en följd, om du lägger till en ny punkt i diagrammet med din perfekt passande kurva, kommer den troligen att vara längre bort från kurvan än om du använde ett enklare polynom med låg ordning.

"Som en konsekvens, om du lägger till en ny punkt i diagrammet med din perfekt passande kurva, kommer det troligen att vara längre bort från kurvan än om du använde ett enklare polynom med låg ordning" - dessutom är det fortfarande sant även omdatagenereringsprocessen för den nya punkten (dvs. förhållandet i befolkningen) var faktiskt ett högeffektpolynom som det du (över) monterade.
Bilderna här är faktiskt felaktiga - till exempel har 9-graders polynom endast ritats som en bitvis linjär funktion, men jag misstänker att det i verkligheten borde svänga vilt upp och ner i intervallen mellan punkterna.Du bör också se denna effekt i 5-graders polynom.
Floris
2014-12-16 02:13:44 UTC
view on stackexchange narkive permalink

Analysen som kan ha bidragit till Fukushima-katastrofen är ett exempel på överanpassning. Det finns ett välkänt förhållande inom geovetenskap som beskriver sannolikheten för jordbävningar av en viss storlek, med tanke på den observerade frekvensen av "mindre" jordbävningar. Detta är känt som Gutenberg-Richter-förhållandet, och det ger en linjär loggpassning under många decennier. Analys av jordbävningsrisken i närheten av reaktorn (detta diagram från Nate Silvers utmärkta bok "The Signal and the Noise") visar en "kink" i data. Att ignorera knäcken leder till en uppskattning av den årliga risken för en jordbävning med styrka 9 som cirka 1 av 300 - definitivt något att förbereda sig för. Övermontering av en dubbel lutningslinje (som uppenbarligen gjordes under den initiala riskbedömningen för reaktorerna) minskar dock riskprognosen till cirka 1 på 13 000 år. Man kunde inte klandra ingenjörerna för att de inte utformade reaktorerna för att motstå en sådan osannolik händelse - men man borde definitivt klandra statistikerna som överanpassade (och sedan extrapolerade) data ...

enter image description here

Är det avgörande att modellen med dubbla lutningar var överdragen?Kinken är framträdande;Jag skulle gissa att om varje linjesegment uppskattades från, säg, 3 poäng vardera, skulle du få bättre förutsägelser på uppehållet än genom att uppskatta en enda rad.(Naturligtvis argumenterar den efterföljande observationen av en händelse "1 till 13 000 år"! Men det är svårt att tolka eftersom vi inte skulle granska den här modellen om det inte hade hänt.) Om det fanns fysiska skäl att ignoreraden upplevda kinken då är fallet att detta var överdräkt starkare - jag vet inte hur bra sådana data vanligtvis matchar det ideala förhållandet Gutenberg-Richter.
Detta illustrerar extrapoleringens faror mycket grafiskt och behovet av en förlustfunktion som tar hänsyn till svårighetsgraden av konsekvenserna av ett fel ...
Problemet är verkligen att väldigt lite data används för några av de sista punkterna - så de har stor osäkerhet i sig.Om du tittar noga på data kan du se att det var en enda 7.9-händelse, sedan flera 7,7.Lite är känt om jordbävningar större än 8,0 eftersom de är sällsynta - men när du observerar en 9,0-jordbävning (Tohoku-jordbävningen som orsakade tsunamin) kan du dra din egen slutsats.Den raka linjen kan vara konservativ - men när det gäller kärnsäkerhet är konservativ bra.
Jag håller med, här är konservativ bra.Det som fick mig att tänka var detta: föreställ dig att data såg i huvudsak ut, förutom att kinken gick åt andra hållet (grunt ut).Om analytikerna sedan monterade en rak linje, skulle det underspela riskerna med jordbävning i stor skala jämfört med en modell (två lutningar eller på annat sätt) som stod för knäcken.Skulle vi misstänka analytikerna för * underutrustning *?Jag tror att om jag bodde nära kärnkraftsanläggningen kanske jag!
@Floris Bra poäng.Det hade varit bättre om de hade använt en box-plot som inte bara visade de observerade frekvenserna utan också konfidensintervall för dessa frekvenser.Då skulle man antagligen få mycket smala rutor till vänster i diagrammet och mycket breda rutor till höger.(Sådana konfidensintervall kan beräknas förutsatt att varje frekvens följer en Poisson-fördelning.)
@user763305 - ja, jag är ganska säker på att lägga till konfidensintervall skulle visa att en rak linje inte är oförenlig med data (eller med andra ord att du inte kan avvisa nollhypotesen att data följer en rak linje).
@Floris Jag håller med 100%.
Mark Borgerding
2014-12-11 20:47:38 UTC
view on stackexchange narkive permalink

"Agh! Pat lämnar företaget. Hur ska vi någonsin hitta en ersättare?"

Jobb:

Önskas: Elektrotekniker. 42 år gammal androgyn person med examen inom elektroteknik, matematik och djurhållning. Måste vara 68 tum långa med brunt hår, en mullvad över vänster öga och benägen för långvariga diatribes mot gäss och missbruk av ordet "råd".

I matematisk mening, överanpassning hänvisar ofta till att skapa en modell med fler parametrar än vad som är nödvändigt, vilket resulterar i en bättre passform för en specifik datamängd, men utan att fånga relevanta detaljer som är nödvändiga för att passa andra datamängder från intresseklass. > I ovanstående exempel kan affischen inte skilja det relevanta från irrelevanta egenskaper. De resulterande kvalifikationerna uppfylls sannolikt bara av den person som de redan vet är rätt för jobbet (men inte längre vill ha det).

Medan det är underhållande, ger detta svar inte insikt i vad överutrustning betyder i statistisk mening.Kanske kan du utöka ditt svar för att klargöra förhållandet mellan dessa mycket speciella attribut och statistisk modellering.
+1 Markera.Jag håller med @user777 bara i liten utsträckning.Kanske kommer en mening med det korta exemplet hem.Men att lägga till för mycket tar bort enkelheten.
Jag tycker att detta är ett bra svar - det visar den mycket vanliga typen av överanpassning som i huvudsak lagrar träningsdata, särskilt det vanliga fallet när mängden träningsdata är otillräcklig för att mätta modellens uttrycksfulla kraft.
Tim
2014-12-11 14:25:48 UTC
view on stackexchange narkive permalink

Den här är sminkad, men jag hoppas att den kommer att illustrera fallet.

Exempel 1

Låt oss först göra några slumpmässiga data . Här har du $ k = 100 $ variabler, var och en från en normal normalfördelning, med $ n = 100 $ fall:

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

Nu ska vi passa en linjär regression till det:

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

Och här är en sammanfattning för de första tio prediktorerna:

  > sammanfattning (passform) Anrop: lm (formel = X1 ~., data = data) Rester: ALLA 100 rester är 0: inga kvarvarande frihetsgrader! Koefficienter: Uppskattning Std. Fel t värde Pr (> | t |) (Intercept) -1.502e-01 NA NA NAX2 3.153e-02 NA NA NAX3 -6.200e-01 NA NA NAX4 7.087e-01 NA NA NAX5 4.392e-01 NA NA NAX6 2.979e-01 NA NA NAX7 -9.092e-02 NA NA NAX8 -5.783e-01 NA NA NAX9 5.965e-01 NA NA NAX10 -8.289e-01 NA NA NA ... Reststandardfel: NaN vid 0 grader av freedomMultiple R-kvadrat: 1, Justerat R-kvadrat: NaN F-statistik: NaN på 99 och 0 DF, p-värde: NA  

resultaten ser ganska konstiga ut, men låt oss plotta det.

enter image description here

Det är fantastiskt, anpassade värden passar perfekt till $ X_1 $ -värdena. Felvariansen är bokstavligen noll. Men låt det inte övertyga oss, låt oss kontrollera vad som är summan av absoluta skillnader mellan $ X_1 $ och monterade värden:

  > sum (abs (data $ X1-monterad (passa))) [1] 0  

Det är noll, så tomterna ljög inte för oss: modellen passar perfekt. Och hur exakt är det i klassificeringen?

  > sum (data $ X1 == monterad (passform))
[1] 100  

Vi får 100 av 100 anpassade värden som är identiska med $ X_1 $. Och vi fick detta med helt slumpmässiga nummer anpassade till andra helt slumpmässiga nummer.

Exempel 2

Ytterligare ett exempel. Låt oss göra lite mer data:

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

så det ser ut så här:

  X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X111 1 1 0 0 0 0 0 0 0 0 02 2 0 1 0 0 0 0 0 0 0 03 3 0 0 1 0 0 0 0 0 0 04 4 0 0 0 1 0 0 0 0 0 05 5 0 0 0 0 1 0 0 0 0 06 6 0 0 0 0 0 1 0 0 0 07 7 0 0 0 0 0 0 1 0 0 08 8 0 0 0 0 0 0 0 0 0 0 9 9 0 0 0 0 0 0 0 0 1010 10 0 0 0 0 0 0 0 0 0 1  

och låter nu passa en linjär regression till detta:

  fit2 <- lm (X1 ~., Data2)  

så vi får följande uppskattningar:

  > sammanfattning (fit2) Samtal: lm (formel = X1 ~., data = data2) Rester: ALLA 10 rester är 0: inga kvarvarande frihetsgrader! Koefficienter: (1 definieras inte på grund av singulariteter) Est imate Std. Fel t värde Pr (> | t |) (Intercept) 10 NA NA NAX2 -9 NA NA NAX3 -8 NA NA NAX4 -7 NA NA NAX5 -6 NA NA NAX6 -5 NA NA NAX7 -4 NA NA NAX8 -3 NA NA NAX9 -2 NA NA NAX10 -1 NA NA NAX11 NA NA NA Nara standardfel: NaN på 0 frihetsgrader Flera R-kvadrat: 1, Justerad R-kvadrat: NaN F-statistik: NaN på 9 och 0 DF, p- värde: NA  

som du kan se har vi $ R ^ 2 = 1 $, dvs "100% varians förklaras". Linjär regression behövde inte ens använda en 10: e prediktor. Från denna regression ser vi att $ X_1 $ kan förutsägas med funktionen:

$$ X_1 = 10 + X_2 \ times -9 + X_3 \ times -8 + X_4 \ times -7 + X_5 \ times -6 + X_6 \ gånger -5 + X_7 \ gånger -4 + X_8 \ gånger -3 + X_9 \ gånger -2 $$

så $ X_1 = 1 $ är:

$$ 10 + 1 \ gånger -9 + 0 \ gånger -8 + 0 \ gånger -7 + 0 \ gånger -6 + 0 \ gånger -5 + 0 \ gånger -4 + 0 \ gånger -3 + 0 \ gånger -2 $$

Det är ganska självförklarande. Du kan tänka dig Exempel 1 som liknar Exempel 2 men med lite "brus" tillagt. Om du har tillräckligt stora data och använder den för att "förutsäga" något kan ibland en enda "funktion" övertyga dig om att du har ett "mönster" som beskriver din beroende variabel väl, medan det bara kan vara en tillfällighet. I Exempel 2 förutses ingenting egentligen, men exakt detsamma har hänt i exempel 1 bara variablernas värden var olika.

Exempel på verkliga liv

Exempel på verkliga livet för detta är att förutsäga terroristattacker den 11 september 2001 genom att titta på "mönster" i siffror som slumpmässigt ritas av datorns pseudorandom nummergeneratorer av Global Consciousness Project eller "hemliga meddelanden" i "Moby Dick" som avslöjar fakta om mord på kända personer (inspirerade av liknande upptäckter i Bibeln).

Slutsats

Om du ser tillräckligt hårt, hittar du "mönster" för vad som helst. Men dessa mönster låter dig inte lära dig något om universum och hjälper dig inte att nå några allmänna slutsatser. De passar perfekt till dina data, men skulle vara värdelösa eftersom de inte passar något annat än själva data. De låter dig inte göra några rimliga förutsägelser utanför provet, för vad de skulle göra är att de hellre skulle imitera än att beskriva data.

Jag föreslår att du sätter de verkliga exemplen längst upp i detta svar.Det är den del som faktiskt är relevant för frågan - resten är sås.
Silverfish
2014-12-12 00:16:52 UTC
view on stackexchange narkive permalink

Ett vanligt problem som resulterar i överanpassning i verkliga livet är att vi förutom termer för en korrekt specificerad modell kan ha lagt till något främmande: irrelevanta krafter (eller andra transformationer) av de korrekta termerna, irrelevanta variabler eller irrelevanta interaktioner.

Detta händer i multipel regression om du lägger till en variabel som inte ska visas i den korrekt angivna modellen men inte vill släppa den eftersom du är rädd för att inducera utelämnad variabel bias. Naturligtvis har du inget sätt att veta att du felaktigt har inkluderat det, eftersom du inte kan se hela befolkningen, bara ditt urval, så du kan inte veta säkert vad den korrekta specifikationen är. (Som @Scortchi påpekar i kommentarerna kanske det inte finns något som "den korrekta" modellspecifikationen - i den meningen är målet med modellering att hitta en "tillräckligt bra" specifikation. För att undvika överanpassning innebär att man undviker en modellkomplexitet större än vad som kan upprätthållas av tillgängliga data.) Om du vill ha ett exempel på övermontering i verkligheten händer detta varje gång du kastar alla potentiella prediktorer i en regressionsmodell, om någon av dem faktiskt skulle har inget samband med svaret när andras effekter har delats ut.

Med denna typ av överanpassning är den goda nyheten att införandet av dessa irrelevanta termer inte introducerar förspänningar för dina uppskattare, och i mycket stora prover bör koefficienterna för de irrelevanta termerna vara nära noll. Men det finns också dåliga nyheter: Eftersom den begränsade informationen från ditt prov nu används för att uppskatta fler parametrar kan den bara göra det med mindre precision - så standardfelen på de verkligt relevanta villkoren ökar. Det betyder också att de sannolikt kommer att vara längre från de sanna värdena än uppskattningar från en korrekt specificerad regression, vilket i sin tur innebär att om nya värden för dina förklarande variabler ges kommer förutsägelserna från den överanpassade modellen att vara mindre exakta den korrekt angivna modellen.

Här är ett diagram över logg-BNP mot logpopulation för 50 amerikanska stater 2010. Ett slumpmässigt urval på 10 stater valdes (markerat med rött) och för det provet passar vi ett enkelt linjär modell och en polynom av grad 5. För samplingspunkterna har polynom extra frihetsgrader som låter den "vrida sig" närmare de observerade data än den raka linjen kan. Men de 50 staterna som helhet följer ett nästan linjärt förhållande, så den prediktiva prestandan hos polynommodellen på de 40 punkterna utanför provet är mycket dålig jämfört med den mindre komplexa modellen, särskilt vid extrapolering. Polynomet passade effektivt till en del av den slumpmässiga strukturen (buller) i provet, vilket inte generaliserades för den bredare befolkningen. Det var särskilt dåligt vid extrapolering utanför provets observerade intervall. (Kod plus data för denna plot finns längst ner i denna version av detta svar.)

Extrapolation from overly complex model

Liknande problem påverkar regression mot flera prediktorer. För att titta på några faktiska data är det enklare med simulering snarare än verkliga prover eftersom du på så sätt styr datagenereringsprocessen (effektivt får du se "befolkningen" och det verkliga förhållandet). I denna R -kod är den sanna modellen $ y_i = 2x_ {1, i} + 5 + \ epsilon_i $ men data tillhandahålls också om irrelevanta variabler $ x_2 $ och $ x_3 $. Jag har utformat simuleringen så att prediktorvariablerna är korrelerade, vilket skulle vara en vanlig förekomst i verkliga data. Vi passar modeller som är korrekt specificerade och överanpassade (inkluderar de irrelevanta prediktorerna och deras interaktioner) på en del av den genererade datan, och jämför sedan prediktiv prestanda i en uppehållssats. Prediktornas multikollinearitet gör livet ännu svårare för den överanpassade modellen, eftersom det blir svårare för den att plocka isär effekterna av $ x_1 $, $ x_2 $ och $ x_3 $, men notera att detta inte påverkar någon av koefficientuppskattarna .

  kräver (MASS) # för multivariat normal simulering nsample <- 25 #sample to regress nholdout <- 1e6 #to check model predictionsSigma <- 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) ) kolonnamn (df) <- c ("x1", "x2", "x3") df $ y <- 5 + 2 * df $ x1 + rnorm (n = nrow (df)) #y = 5 + * x1 + eholdout.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) sammanfattning (overfit.lm) sammanfattning (correctspec.lm) holdout.df $ overfitPred <- predict.lm (overfit.lm, newdat a = holdout.df) holdout.df $ correctSpecPred <- förutsäga.lm (korrigerarpec.lm, newdata = holdout.df) med (holdout.df, sum ((y - overfitPred) ^ 2)) #SSEwith (holdout.df , sum ((y - correctSpecPred) ^ 2)) kräver (ggplot2)
error.df <- data.frame (Model = rep (c ("Overfitted", "Correctly specified"), each = nholdout), Error = with (holdout.df, c (y - overfitPred, y - correctSpecPred))) ggplot (error.df, aes (x = Error, color = Model)) + geom_density (size = 1) + theme (legend.position = "bottom")  

Här är mina resultat från en körning, men det är bäst att köra simuleringen flera gånger för att se effekten av olika genererade prover.

  >-sammanfattning (overfit.lm) Ring: lm (formel = y ~ x1 * x2 * x3, data = regress.df) Rester: Min 1Q Median 3Q Max -2,22294 -0,63142 -0,09491 0,51983 2,24193 Koefficienter: Uppskattning Std. Fel t värde Pr (> | t |) (Avlyssning) 18.85992 65.00775 0.290 0.775x1 -2.40912 11.90433 -0.202 0.842x2 -2.13777 12.48892 -0.171 0.866x3 -1.13941 12.94670 -0.088 0.931x1: x2 0.78280 2.25867 0.347 0.73 0.73 0,232 0,819x2: x3 0,08019 2,49028 0,032 0,975x1: x2: x3 -0,08584 0,43891 -0,196 0,847 Restfel: 1,101 på 17 frihetsgrader Flera R-kvadrat: 0,8297, Justerad R-kvadrat: 0,7596 F-statistik: 11,84 på 7 och 17 DF, p-värde: 1.942e-05  

Dessa koefficientuppskattningar för den överanpassade modellen är fruktansvärda - bör vara cirka 5 för avlyssningen, 2 för $ x_1 $ och 0 för resten . Men standardfelen är också stora. De korrekta värdena för dessa parametrar ligger väl inom 95% konfidensintervall i varje fall. $ R ^ 2 $ är 0,8297 vilket föreslår en rimlig passform.

  >-sammanfattning (korrigerarpec.lm) Ring: lm (formel = y ~ x1, data = regress.df) Rest: Min 1Q Median 3Q Max -2.4951 -0.4112 -0.2000 0.7876 2.1706 Koefficienter: Uppskattning Std. Fel t värde Pr (> | t |) (Avlyssning) 4,77844 1,1272 4,244 0,000306 *** x1 1,9974 0,2108 9,476 2,09e-09 *** ---
Signif. koder: 0 '***' 0,001 '**' 0,01 '*' 0,05 '.' 0,1 '' 1 Restfel kvarvarande: 1,036 vid 23 frihetsgrader Flera R-kvadrat: 0,7961, Justerat R-kvadrat: 0,7872 F-statistik : 89.8 på 1 och 23 DF, p-värde: 2.089e-09  

Koefficientuppskattningarna är mycket bättre för den korrekt angivna modellen. Men notera att $ R ^ 2 $ är lägre, vid 0,7961, eftersom den mindre komplexa modellen har mindre flexibilitet för att passa de observerade svaren. $ R ^ 2 $ är farligare än användbart i det här fallet!

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

Ju högre $ R ^ 2 $ på provet vi minskade på visade hur den överutrustade modellen producerade förutsägelser, $ \ hat {y} $, som var närmare den observerade $ y $ än den korrekt angivna modellen kunde. Men det beror på att det var överanpassat till dessa data (och hade mer frihetsgrader att göra så än den korrekt angivna modellen gjorde, så det kunde ge en "bättre" passform). Titta på summan av kvadrerade fel för förutsägelser på håll-set, som vi inte använde för att uppskatta regressionskoefficienterna från, och vi kan se hur mycket värre den överutrustade modellen har utfört. I verkligheten är den korrekt specificerade modellen den som ger de bästa förutsägelserna. Vi bör inte basera vår bedömning av den prediktiva prestationen på resultaten från den uppsättning data vi använde för att uppskatta modellerna. Här är en densitetsdiagram över felen, med rätt modellspecifikation som ger fler fel nära 0:

Prediction errors on holdout set

Simuleringen representerar tydligt många relevanta verkliga situationer (tänk dig alla verkliga svar som beror på en enda prediktor och föreställ dig att inkludera externa "prediktorer" i modellen) men har fördelen att du kan spela med data -genereringsprocess, provstorlekar, typen av överanpassad modell och så vidare. Detta är det bästa sättet att undersöka effekterna av överanpassning eftersom för observerade data har du generellt inte tillgång till DGP, och det är fortfarande "riktiga" data i den meningen att du kan undersöka och använda den. Här är några värdefulla idéer som du bör experimentera med:

  • Kör simuleringen flera gånger och se hur resultaten skiljer sig åt. Du hittar mer variation med små provstorlekar än stora.
  • Prova att ändra provstorlekarna. Om den ökas till, säg n <- 1e6 , uppskattar den överutrustade modellen så småningom rimliga koefficienter (ca 5 för avlyssning, ca 2 för $ x_1 $, ca 0 för allt annat) och dess prediktiva prestanda som mätt med SSE spårar inte den rätt angivna modellen så illa. Omvänt, försök att montera ett mycket litet urval (kom ihåg att du måste lämna tillräckligt med frihetsgrader för att uppskatta alla koefficienter) och du kommer att se att den överutrustade modellen har skrämmande prestanda både för att uppskatta koefficienter och förutsäga för nya data. li>
  • Försök att minska korrelationen mellan prediktorvariablerna genom att spela med de diagonala elementen i varianskovariansmatrisen Sigma . Kom bara ihåg att hålla det positivt halvt bestämt (som inkluderar att vara symmetrisk). Du bör hitta om du minskar multikollineariteten, den överanpassade modellen fungerar inte riktigt så illa. Men kom ihåg att korrelerade prediktorer förekommer i verkliga livet.
  • Försök att experimentera med specifikationen för den överanpassade modellen. Vad händer om du tar med polynomiska termer?
  • Vad händer om du simulerar data för en annan region av prediktorer, snarare än att ha deras medel runt 5? Om den korrekta datagenereringsprocessen för $ y $ fortfarande är df $ y <- 5 + 2 * df $ x1 + rnorm (n = nrow (df)) , se hur väl modellerna passar till ursprungliga data kan förutsäga att $ y $. Beroende på hur du genererar $ x_i $ -värdena kan det hända att extrapolering med den överanpassade modellen ger förutsägelser mycket sämre än den korrekt angivna modellen.
  • Vad händer om du ändrar datagenereringsprocessen så att $ y $ nu, svagt, beror på $ x_2 $, $ x3 $ och kanske också interaktionerna? Detta kan vara ett mer realistiskt scenario som beror på $ x_1 $ ensam. Om du använder t.ex. df $ y <- 5 + 2 * df $ x1 + 0.1 * df $ x2 + 0.1 * df $ x3 + rnorm (n = nrow (df)) då är $ x_2 $ och $ x_3 $ "nästan irrelevant", men inte riktigt. (Observera att jag ritade alla $ x $ -variablerna från samma intervall, så det är vettigt att jämföra deras koefficienter så.) Då lider den enkla modellen med endast $ x_1 $ utelämnad variabel bias, men sedan $ x_2 $ och $ x_3 $ är inte särskilt viktiga, det här är inte för allvarligt. På ett litet prov, t.ex. nsample <- 25 , hela modellen är fortfarande överanpassad, trots att den är en bättre representation av den underliggande befolkningen, och vid upprepade simuleringar är dess prediktiva prestanda på hållset fortfarande konsekvent sämre. Med sådana begränsade data är det viktigare att få en bra uppskattning av koefficienten på $ x_1 $ än att spendera information om lyxen att uppskatta de mindre viktiga koefficienterna. Eftersom effekterna av $ x_2 $ och $ x_3 $ är så svåra att urskilja i ett litet urval, använder hela modellen effektivt flexibiliteten från sina extra frihetsgrader för att "passa ljudet" och detta generaliserar dåligt. Men med nsample <- 1e6 kan det uppskatta de svagare effekterna ganska bra, och simuleringar visar att den komplexa modellen har prediktiv kraft som överträffar den enkla. Detta visar hur "överanpassning" är en fråga om både modellkomplexitet och tillgänglig data.
(-1) Det är ganska viktigt att förstå att överpassning inte bara är resultatet av införandet av "irrelevanta" eller "främmande" termer som inte skulle visas i en korrekt specificerad modell.I själva verket kan det hävdas att tanken på en enkel * sann * modell i många applikationer inte ger mycket mening och utmaningen med prediktiv modellering är att bygga en modell vars komplexitet är proportionerad till mängden tillgänglig data.
Utöka ditt exempel genom att ge * små * icke-nollkoefficienter till $ x_2 $, $ x_3 $, och interaktionerna: anpassning av hela (korrekt specificerade) modellen kommer att resultera i en liknande grad av överpassning för denna provstorlek, men blytill en förbättring av prediktiv prestanda på större prover.(BTW kan du lika gärna använda en större håll i en simulering eftersom 50 kommer att ge mycket varierande resultat.)
@Scortchi Tack, jag håller med.Jag tänkte detta svar som ett * grundläggande exempel * på överanpassning i verkliga livet, och ett som de flesta läsare sannolikt har stött på när de först tittade på modellval för multipel regression.(En vanlig övning i klasser verkar vara det extrema exemplet på att "förbättra" $ R ^ 2 $ genom att gå tillbaka mot fler bullervariabler.) Jag tänkte inte att det skulle representera överanpassning i allmänhet men jag har försökt förbättra formuleringen för att återspegladen där!Dina andra förslag är till hjälp - de visar övergången från mitt extrema fall till det mer allmänna fallet.Jag har försökt att införliva.
Jag skickar din bild till min kongressledamot som stöd för invandringsreformen
(+1) Jag tror att redigeringarna förbättrar förklaringen av överpassning utan att offra förståelsen.
@Silverfish, du gav två exempel i detta svar, ingen av dem kunde karakteriseras som * verklig värld *.I BNP-exemplet är endast serierna verkliga, modellen är inte, eftersom ingen modellerar BNP så här, dvs med polynomernas ordning 5. Det andra exemplet är en ren simulering, och inte ens från det publicerade papperet.
@Aksakal Jag försökte ta itu med frågan: "Jag behöver hjälp med hur jag kan komma med ett verkligt exempel som gäller övermontering".Det är oklart om OP ombads att hitta ett publicerat papper som överdriver, eller - en mer naturlig betydelse av "komma med" - för att konstruera sitt eget exempel.Om överutrustning är dålig, varför skulle någon i stället överträffa det?Mitt svar, att en analytiker kanske föredrar att göra fel för en överspecificerad vs underspecificerad modell (på grund av rädsla för OVB eller misstankar om att ett förhållande är krökt) är ett sådant exempel.Grafen / simuleringen visar helt enkelt konsekvensen: dålig förutsägelse utanför provet
@Aksakal Det är inte klart för mig att en polynommodell är "overklig" för grafen.Den dominerande funktionen är linjär, men vet vi att den är * helt * linjär?Om vi hade tillgång till en hypotetisk miljon politiska enheter och jag var tvungen att sätta mitt liv på något sätt, skulle jag hellre spela om vi skulle upptäcka ett litet krökt förhållande än att alla polynomiska termer skulle vara obetydliga.Trots detta undviker endast en linjär modell övermontering att passa till låg n.(Vi kan inte lösa detta på grund av svårighetsprovtagning från den teoretiskt oändliga befolkningen av "möjliga amerikanska stater". Detta är en fördel med simulerad data!)
@Silverfish, en relaterad fråga: ska man alltid väga högre ordning i polynommodeller, t.ex.vikter [1 1 1/2 1/3 1/4 1/5] istället för [1 1 0 0 0 0]?(eller bättre, använd en ortogonal bas så att "vacklande" sticker ut.)
@denis Det låter för mig som skälet till en bra CV-fråga i sig själv!Varför inte kontrollera om det är ett duplikat (jag tror inte det är, efter att ha gjort en kort sökning) och fråga det?
Christoph Hanck
2016-03-10 13:47:35 UTC
view on stackexchange narkive permalink

En form av överanpassning är ganska vanligt inom sport, nämligen att identifiera mönster för att förklara tidigare resultat med faktorer som inte har eller i bästa fall vaga makter att förutsäga framtida resultat. Ett vanligt inslag i dessa "mönster" är att de ofta baseras på väldigt få fall så att ren chans förmodligen är den mest troliga förklaringen till mönstret.

Exempel inkluderar saker som ("citaten" är gjorda av mig, men ser ofta lika ut)

Team A har vunnit alla X-spel sedan tränaren började bära hans magiska röda jacka.

Liknande:

Vi ska inte raka oss under slutspelet, för det har hjälpt oss att vinna de senaste X-spelen.

Mindre vidskeplig, men också en form av överanpassning:

Borussia Dortmund har aldrig tappat en Champions League-hemmamatch till en spansk motståndare när de har förlorat föregående Bundesliga-bortamatch med mer än två mål, efter att ha gjort minst en gång själva.

Liknande:

Roger Federer har vunnit alla sina Davis Cup-framträdanden till Europeiska motståndare när han åtminstone hade nått semifinalen i årets Australian Open.

De två första är ganska uppenbara nonsens (åtminstone för mig). De två sista exemplen kan mycket väl stämma i urvalet (dvs. i det förflutna), men jag skulle vara mycket glad över att satsa mot en motståndare som skulle låta denna "information" väsentligt påverka hans odds för att Dortmund skulle slå Madrid om de förlorade 4: 1 i Schalke föregående lördag eller Federer slog Djokovic, även om han vann Australian Open det året.

joaofm
2014-12-11 20:02:22 UTC
view on stackexchange narkive permalink

När jag försökte förstå detta själv började jag tänka i form av analogier med att beskriva verkliga objekt, så jag antar att det är så "verklig värld" som du kan få, om du vill förstå den allmänna idén:

Säg att du vill beskriva någon stolens koncept så att de får en konceptuell modell som gör att de kan förutsäga om ett nytt objekt de hittar är en stol. Du går till Ikea och får ett prov på stolar och börjar beskriva dem med hjälp av två variabler: det är ett objekt med fyra ben där du kan sitta. Det kan också beskriva en pall eller en säng eller många andra saker. Din modell är underutrustad, precis som om du skulle försöka modellera en komplex distribution med för få variabler - många saker som inte är stolar kommer att identifieras som stolar. Så, låt oss öka antalet variabler, lägg till att objektet till exempel måste ha en rygg. Nu har du en ganska acceptabel modell som beskriver din uppsättning stolar, men är tillräckligt allmän för att ett nytt objekt ska kunna identifieras som ett. Din modell beskriver informationen och kan göra förutsägelser. Men säg att du råkar ha en uppsättning där alla stolar är svarta eller vita och gjorda av trä. Du bestämmer dig för att inkludera dessa variabler i din modell och plötsligt identifierar den inte en gul plaststol som en stol. Så du har överanpassat din modell, du har inkluderat funktioner i din dataset som om de var funktioner i stolar i allmänhet (om du föredrar har du identifierat "brus" som "signal", genom att tolka slumpmässig variation från ditt prov som ett inslag i hela "verkliga världsstolar"). Så du antingen ökar ditt prov och hoppas kunna inkludera lite nytt material och färger eller minskar antalet variabler i dina modeller.

Detta kan vara en förenklad analogi och uppdelning under ytterligare granskning, men jag tror fungerar som en allmän konceptualisering ... Låt mig veta om någon del behöver förtydligas.

Kan du snälla förklara mer detaljerat tanken på "brus" och "signal" och det faktum att överanpassad modell beskriver brus orsakar att jag har problem med att förstå detta.
TrynnaDoStat
2014-12-11 20:31:31 UTC
view on stackexchange narkive permalink

I prediktiv modellering är tanken att använda data till hands för att upptäcka de trender som finns och som kan generaliseras till framtida data. Genom att inkludera variabler i din modell som har någon mindre, icke-signifikant effekt överger du denna idé. Vad du gör är att överväga de specifika trenderna i ditt specifika urval som bara finns där på grund av slumpmässigt brus istället för en sann, underliggande trend. Med andra ord passar en modell med för många variabler bullret snarare än att upptäcka signalen.

Här är en överdriven illustration av vad jag pratar om. Här är punkterna observerade data och linjen är vår modell. Titta på det som en perfekt passform - vilken fantastisk modell! Men upptäckte vi verkligen trenden eller passar vi bara ljudet? Sannolikt det senare.

enter image description here

rumtscho
2014-12-12 05:08:17 UTC
view on stackexchange narkive permalink

Här är ett "verkligt världsexempel" inte i den meningen att någon råkar stöta på det i forskning, utan i den meningen att det använder vardagliga begrepp utan många statistikspecifika termer. Kanske det här sättet att säga att det kommer att vara mer användbart för vissa människor vars utbildning är inom andra områden.

Tänk dig att du har en databas med data om patienter med en sällsynt sjukdom. Du är doktorand och vill se om du kan känna igen riskfaktorer för denna sjukdom. Det har förekommit åtta fall av sjukdomen på detta sjukhus, och du har registrerat 100 slumpmässiga uppgifter om dem: ålder, ras, födelseordning, har de haft mässling som barn, oavsett. Du har också registrerat data för 8 patienter utan denna sjukdom.

Du bestämmer dig för att använda följande heuristik för riskfaktorer: om en faktor tar ett givet värde hos fler än en av dina sjuka patienter, men i 0 av dina kontroller, kommer du att betrakta det som en riskfaktor. (I verkliga livet skulle du använda en bättre metod, men jag vill ha det enkelt). Du får reda på att 6 av dina patienter är vegetarianer (men ingen av kontrollerna är vegetarianer), 3 har svenska förfäder och två av dem har en stammande talstörning. Av de andra 97 faktorerna finns det inget som förekommer hos fler än en patient, men det finns inte bland kontrollerna.

År senare intresserar någon annan sig för denna föräldralösa sjukdom och replikerar din forskning. Eftersom han arbetar på ett större sjukhus, som har ett datadelningssamarbete med andra sjukhus, kan han använda data om 106 fall, i motsats till dina 8 fall. Och han får reda på att förekomsten av stammare är densamma i patientgruppen och kontrollgruppen; stammar är inte en riskfaktor.

Vad som hände här är att din lilla grupp slumpmässigt hade 25% stammare. Din heurist hade inget sätt att veta om detta är medicinskt relevant eller inte. Du gav kriterierna för att bestämma när du anser att ett mönster i datan är "intressant" nog för att ingå i modellen, och enligt dessa kriterier var stammningen tillräckligt intressant.

Din modell har överutrustats, eftersom den felaktigt inkluderade en parameter som inte är riktigt relevant i den verkliga världen. Det passar ditt prov - de 8 patienterna + 8 kontrollerna - mycket bra, men det passar inte den verkliga världen. När en modell beskriver ditt prov bättre än vad det beskriver verkligheten kallas det övermonterat.

Hade du valt en tröskel på 3 av 8 patienter som hade en funktion, så hade det inte hänt - men du hade större chans att missa något som faktiskt var intressant. Speciellt inom medicin, där många sjukdomar bara inträffar i en liten del av människor som uppvisar en riskfaktor, är det svårt att kompensera. Och det finns metoder för att undvika det (jämför i princip med ett andra prov och se om den förklarande kraften förblir densamma eller faller), men det här är ett ämne för en annan fråga.

Mycket påminner om http://xkcd.com/882/
shadowtalker
2014-12-13 09:39:34 UTC
view on stackexchange narkive permalink

Här är ett verkligt exempel på överanpassning som jag hjälpte till att begå och sedan försökte (utan framgång) avvärja:

Jag hade flera tusen oberoende, bivariata tidsserier, var och en med högst 50 datapunkter, och modelleringsprojektet involverade anpassning av en vektorautoregression (VAR) till var och en. Inget försök gjordes för att reglera över observationer, uppskatta varianskomponenter eller något liknande. Tidpunkterna mättes under ett år, så uppgifterna utsattes för alla typer av säsongseffekter och cykliska effekter som bara uppträdde en gång i varje tidsserie.

En delmängd av uppgifterna uppvisade en otroligt hög grad av Granger-kausalitet jämfört med resten av uppgifterna. Spotkontroller avslöjade att positiva spikar inträffade en eller två mellanrum i denna delmängd, men det framgick tydligt av sammanhanget att båda spikarna orsakades direkt av en extern källa och att en spik inte orsakade den andra . Prognoser utanför provet med de här modellerna skulle förmodligen vara ganska fel, eftersom modellerna var överanpassade: snarare än att "jämna ut" spikarna genom att ta dem i genomsnitt i resten av data, fanns det få tillräckligt med observationer att spikarna faktiskt körde uppskattningarna.

Sammantaget tror jag inte att projektet gick dåligt men jag tror inte att det gav resultat som var nära så användbara som de kunde ha varit. En del av anledningen till detta är att det många oberoende VAR-förfarandet, även med bara en eller två fördröjningar, hade svårt att skilja mellan data och brus, och så passade det senare på bekostnad av att ge insikt om tidigare.

John Babson
2014-12-13 04:34:41 UTC
view on stackexchange narkive permalink

Många intelligenta människor i denna tråd --- många mycket mer kunniga i statistik än jag. Men jag ser fortfarande inte ett lättförståeligt exempel på lekmännen. Presidentexemplet träffar inte riktigt räkningen när det gäller typisk överanpassning, för även om det är tekniskt överanpassat i var och en av sina vilda påståenden, vanligtvis överanpassar en övermonteringsmodell - ALLA - det givna bruset, inte bara ett element av det. / p>

Jag gillar verkligen diagrammet i bias-varians avvägningsförklaring i wikipedia: http://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff

(Det nedersta diagrammet är exemplet på överanpassning).

Jag är svårt att tänka på ett verkligt världsexempel som inte låter som komplett mumbo-jumbo. Tanken är att data är delvis orsakade av mätbara, förståbara variabler --- del slumpmässigt brus. Försök att modellera detta brus som ett mönster ger dig felaktighet.

Ett klassiskt exempel är modelleringsbaserat ENDAST på R ^ 2 i MS Excel (du försöker passa en ekvation / modell bokstavligen så nära som möjligt data med hjälp av polynom, oavsett hur meningslöst).

Säg att du försöker modellera glassförsäljning som en funktion av temperaturen. Du har "verkliga världen" -data. Du plottar data och försöker maximera R ^ 2. Du hittar att använda verkliga data, den närmaste passningsekvationen är inte linjär eller kvadratisk (vilket skulle vara logiskt). Ju mer meningslösa polynomtermer du lägger till (x ^ 6 -2x ^ 5 + 3x ^ 4 + 30x ^ 3-43.2x ^ 2-29x), ju närmare det passar data. Så hur relaterar det förnuftigt temperaturen till glassförsäljning? Hur skulle du förklara det löjliga polynomet? Sanningen är att det inte är den sanna modellen. Du har överträffat uppgifterna.

Du tar okänsligt för buller - vilket kan bero på säljkampanjer eller någon annan variabel eller "buller" som en fjäril som slår sina vingar i kosmos (något som aldrig är förutsägbart) --- och försökte modellera det baserade på temperatur. Nu vanligtvis om ditt brus / fel inte är i genomsnitt till noll eller är automatiskt korrelerat, etc, betyder det att det finns fler variabler där ute --- och så småningom får du generellt slumpmässigt distribuerat brus, men ändå är det det bästa jag kan förklara det.

De senare 'modellerna' i presidentens serietidning * passar * på allt givet ljud.
Serien är enligt min åsikt inte analog med de flesta överanpassade scenarier, även om de löjliga reglerna skulle förutsäga alla tidigare presidenter exakt.De flesta prognoser förutspår inte en dikotom variabel.Det nämner också humoristiskt själva regeln som kommer att brytas vid nästa val - med andra ord överdragsmodellen garanteras fel hela tiden, vilket gör den till en perfekt förutsägare för framtiden.De flesta overfit-modeller är inte baserade på en felaktig variabel som kan testas för att vara främmande - den är vanligtvis baserad på för många variabler i modellen, slumpmässigt alla kastade in för att minska R ^ 2.
Ingolifs
2018-07-20 05:35:34 UTC
view on stackexchange narkive permalink

Studera för en tentamen genom att memorera svaren på förra årets examen.

sdd
2019-08-09 21:16:53 UTC
view on stackexchange narkive permalink

Min favorit är ”3964-formeln” som upptäcktes före fotbolls-VM 1998:

Brasilien vann mästerskapen 1970 och 1994. Sammanfatta dessa två siffror så får du 3964;Tyskland vann 1974 och 1990 och ökade igen till 3964;samma sak med Argentina som vann 1978 och 1986 (1978 + 1986 = 3964).

Detta är ett mycket överraskande faktum, men alla kan se att det inte är tillrådligt att basera någon framtida förutsägelse på den regeln.Och faktiskt ger regeln att vinnaren av världscupen 1998 borde ha varit England sedan 1966 + 1998 = 3964 och England vann 1966. Detta hände inte och vinnaren var Frankrike.

denis
2015-03-03 20:22:44 UTC
view on stackexchange narkive permalink

De flesta optimeringsmetoder har vissa fudge-faktorer aka hyperparametrar. Ett verkligt exempel:

För alla system som studeras gav följande parametrar ett snabbt och robust beteende: $ N_ {min} = 5 , \ \ f_ {inc} = 1.1, \ \ f_ {dec} = 0.5, \ \ \ alpha_ {start} = 0.1, \ \ f _ {\ alpha} = 0.99. $

Är detta över passande, eller passar det bara till en viss uppsättning problem?

yoki
2014-12-12 03:31:09 UTC
view on stackexchange narkive permalink

Lite intuitivt, men kanske hjälper det. Låt oss säga att du vill lära dig något nytt språk. Hur lär du dig? istället för att lära dig reglerna i en kurs använder du exempel. Specifikt TV-program. Så du gillar brottsprogram och du tittar på några serier av någon polisshow. Sedan tar du en annan brottsshow och tittar på några serier som bildar den. Vid den tredje showen ser du - du vet nästan allt, inga problem. Du behöver inte engelska undertexter.

Men sedan provar du ditt nyinlärda språk på gatan vid ditt nästa besök, och du inser att du inte kan prata om något annat än att säga "officer! tog min väska och sköt den damen! ". Medan ditt "träningsfel" var noll är ditt "testfel" högt på grund av att "överanpassa" språket, studerade bara en begränsad delmängd av ord och antar att det räcker.

Det är inte överanpassning, det är bara att lära sig en delmängd av språk.Överanpassning skulle vara om du efter att ha tittat på brott visar dig lära dig ett helt, men konstigt, språk som sammanfaller med engelska i alla brottrelaterade ämnen men är totalt gibberish (eller kanske kinesiska) när du pratar om något annat ämne.


Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...