Qual è un esempio reale di "overfitting"?


107

In un certo senso capisco cosa significhi "overfitting", ma ho bisogno di aiuto su come elaborare un esempio del mondo reale che si applica al overfitting.


12
Forse potresti spiegare che cosa "capisci" su "cosa significa overfitting", in modo che le persone possano affrontare le parti che non capisci senza dover indovinare quali potrebbero essere?
Goangit,

3
@ssdecontrol La correlazione spuria non è eccessiva. In effetti, la correlazione spuria non deve comportare un modello esplicito e il modello implicito è di solito una linea retta con due parametri.
Nick Cox,

1
@whuber: Questo sarebbe forse più appropriato per discutere su meta, ma sono stato sorpreso di vedere che hai convertito questo post in wiki della community. Non significa che il PO non otterrà un aumento della reputazione per futuri voti positivi? A me sembra quasi una "punizione" per lui; qual è stato il motivo?
amoeba,

4
@amoeba Non è una punizione: questa domanda, come affermato, ovviamente non ha una risposta corretta o canonica. Nella sua forma originale come domanda non-CW, di conseguenza era fuori tema - e avrebbe dovuto essere rapidamente chiuso, BTW - ma perché potrebbe esserci valore nel creare alcuni buoni esempi collettivamente creati dalla comunità, conferendo lo stato CW invece di chiudere sembra essere una soluzione ragionevole.
whuber

17
Finora pochissime di queste risposte (solo due su 11!) Tentano persino di rispondere alla domanda, che richiede un esempio reale . Ciò significa non una simulazione, non un esempio teorico, non un fumetto, ma un modello seriamente applicato ai dati reali. Si noti inoltre che la domanda tenta esplicitamente di allontanare le risposte dalle spiegazioni su quale sia il sovradimensionamento.
whuber

Risposte:


96

Ecco un bell'esempio di modelli di serie storiche delle elezioni presidenziali di xkcd: inserisci qui la descrizione dell'immagine

Ci sono state solo 56 elezioni presidenziali e 43 presidenti. Non ci sono molti dati da cui imparare. Quando lo spazio del predittore si espande per includere elementi come avere i denti falsi e il valore in punti Scrabble dei nomi, è abbastanza facile per il modello passare dall'adattare le caratteristiche generalizzabili dei dati (il segnale) e iniziare a far corrispondere il rumore. Quando ciò accade, l'adattamento ai dati storici può migliorare, ma il modello fallirà miseramente quando verrà utilizzato per fare inferenze sulle future elezioni presidenziali.


15
Penso che dovresti aggiungere qualcosa sulla distorsione del campione per spiegare come ciò si collega al sovradimensionamento. Solo un taglio e incolla del fumetto manca la spiegazione.
Neil Slater,

5
Una bella caratteristica di questo esempio è che dimostra la differenza tra eccesso di adattamento e complessità. La regola "Come va la California, così va la nazione" è semplice, ma ancora troppo adatta.
Tom Minka,

2
@TomMinka, infatti, il sovradimensionamento può essere causato dalla complessità (un modello troppo complesso per adattarsi a dati troppo semplici, quindi parametri aggiuntivi si adatteranno a qualsiasi cosa venga a portata di mano) o, come hai sottolineato, da caratteristiche rumorose che ottengono più pesi nella decisione che pertinenti Caratteristiche. E ci sono molte altre possibili fonti di overfitting (varianza intrinseca dei dati o del modello, dati non pertinenti per rappresentare l'obiettivo target, ecc.). Credo che dovremmo dire che ci sono overfitting s , non solo overfitting (che implica che non c'è una sola causa, che spesso non è corretto).
gaborous

80

Il mio preferito era l'esempio Matlab della popolazione del censimento degli Stati Uniti rispetto al tempo:

  • Un modello lineare è abbastanza buono
  • Un modello quadratico è più vicino
  • Un modello quartico prevede l'annientamento totale a partire dal prossimo anno

(Almeno spero sinceramente che questo sia un esempio di overfitting)

http://www.mathworks.com/help/curvefit/examples/polynomial-curve-fitting.html#zmw57dd0e115inserisci qui la descrizione dell'immagine


1
Giusto per essere chiari esattamente sotto la trama, dicono: "Il comportamento
dell'adattamento

49

Lo studio di Chen et al. (2013) adatta due cubi a una presunta discontinuità nell'aspettativa di vita in funzione della latitudine.

Chen Y., Ebenstein, A., Greenstone, M. e Li, H. 2013. Prove sull'impatto dell'esposizione prolungata all'inquinamento atmosferico sull'aspettativa di vita dalla politica cinese del fiume Huai. Atti della National Academy of Sciences 110: 12936–12941. astratto

Nonostante la sua pubblicazione su una rivista eccezionale, ecc., La sua tacita approvazione da parte di illustri personaggi, ecc., Lo presenterei ancora come un esempio prima facie di eccesso di adattamento.

Un segno rivelatore è l'implausibilità dei cubi. Il montaggio di un cubo presuppone implicitamente che vi sia una ragione per cui l'aspettativa di vita varierebbe come un polinomio di terzo grado della latitudine in cui vivi. Sembra piuttosto non plausibile: non è facile immaginare un meccanismo fisico plausibile che provocherebbe un tale effetto.

Vedi anche il seguente post sul blog per un'analisi più dettagliata di questo articolo: prove sull'impatto dell'uso prolungato della regressione polinomiale sull'inferenza causale (un'affermazione secondo cui il riscaldamento del carbone sta riducendo la durata della vita di 5 anni per mezzo miliardo di persone) .


5
+1 Andrew Gelman ha persino scritto uno o due post sul blog sul perché non è plausibile. Eccone uno: andrewgelman.com/2013/08/05/…
Sycorax l'

@ user777 Il blog Gelman è probabilmente la prima volta che ne ho sentito parlare. Ma ho ritenuto più appropriato fornire il riferimento, aggiungere la peluria del mio commento personale e lasciare che le persone giudicassero da sole.
Nick Cox,

1
Ho tagliato una modifica di @DW che ha introdotto commenti sull'aspettativa di vita in diversi paesi, che non è affatto ciò di cui tratta il documento.
Nick Cox,

2
Un altro esempio che ritengo illustrativo (anche se potenzialmente più elaborato del "mondo reale") sono le competizioni di pronostici che forniscono risultati intermedi, come il kaggle. In genere ci sono persone che ottimizzano i risultati in classifica, ma non sono i vincitori per il campione. Rob Hyndman ne discute. Ciò richiede una prospettiva un po 'più approfondita di quanto ritenga che l'OP voglia qui.
Andy W,

2
Stavo per pubblicare il documento Gelman & Imbens che è venuto fuori da questo: nber.org/papers/w20405 (gated, sfortunatamente)
shadowtalker

38

In un articolo di Science del 14 marzo 2014 , David Lazer, Ryan Kennedy, Gary King e Alessandro Vespignani hanno identificato i problemi di Google Trend influenzali che attribuiscono a un eccesso di adattamento.

figura

Ecco come raccontano la storia, inclusa la loro spiegazione della natura del sovradimensionamento e perché ha causato il fallimento dell'algoritmo:

Nel febbraio 2013, ... Nature ha riferito che GFT prevedeva più del doppio della percentuale di visite mediche per malattia simil-influenzale (ILI) rispetto ai Centers for Disease Control and Prevention (CDC) .... Ciò è accaduto nonostante il fatto che GFT fosse stato progettato per prevedere i rapporti CDC. ...

In sostanza, la metodologia era quella di trovare le migliori corrispondenze tra 50 milioni di termini di ricerca per adattarsi a 1152 punti dati. Le probabilità di trovare termini di ricerca che corrispondano alla propensione dell'influenza ma che non sono strutturalmente indipendenti, e quindi non prevedono il futuro, erano piuttosto elevate. Gli sviluppatori di GFT, infatti, riportano di eliminare i termini di ricerca stagionali non correlati all'influenza ma fortemente correlati ai dati del CDC, come quelli riguardanti il ​​basket delle scuole superiori. Questo avrebbe dovuto essere un avvertimento del fatto che i big data stavano superando il numero esiguo di casi, una preoccupazione standard nell'analisi dei dati. Questo metodo ad hoc per scartare termini di ricerca particolari fallì quando GFT perse completamente la pandemia di influenza A-H1N1 non stagionale del 2009.

[Enfasi aggiunta.]


3
Purtroppo questo esempio presenta alcuni problemi. Il documento suggerisce due ragioni piuttosto diverse per cui GFT stava facendo previsioni sbagliate: sovralimentazione e modifiche al motore di ricerca. Gli autori ammettono di non essere in grado di determinare quale ragione (se presente) è corretta, quindi è essenzialmente una speculazione. Inoltre, il paragrafo sul sovradimensionamento si riferisce alla versione originale del sistema, mentre le previsioni nel grafico sono state fatte con un sistema modificato.
Tom Minka,

1
@Tom L'articolo non è scritto come se l'accusa di overfitting fosse speculazione: gli autori lo affermano categoricamente. Penso che sia una dichiarazione ragionevole. Affrontano anche il motivo per cui devono essere in qualche modo speculativi: Google non era aperto o trasparente sull'algoritmo. Mi sembra irrilevante per lo scopo attuale se il sovradimensionamento si è verificato solo in una o più versioni, ma mentre ricordo che gli autori affrontano anche questo e sottolineano prove di un continuo sovradattamento nell'attuale algoritmo.
whuber

2
L'articolo afferma solo che il sovradimensionamento è una preoccupazione standard nell'analisi dei dati. Non sostiene che la ragione sia stata la sovrautilizzazione. Il riferimento (2) va più in dettaglio, ma dice ancora che il sovradimensionamento è solo un "possibile problema", con la frase "Poiché l'algoritmo di ricerca e i termini di query risultanti che sono stati usati per definire i modelli GFT originali e aggiornati rimangono non divulgati, è difficile identificare i motivi delle prestazioni non ottimali del sistema e formulare raccomandazioni per il miglioramento ".
Tom Minka,

@ Tom sostengo la citazione fornita qui, che è accurata, come supporto adeguato per il motivo per cui il modello di Google Flu è degno di considerazione nel presente contesto.
whuber

Discussione interessante Aggiungerò solo che il grafico potrebbe supportare meglio l'argomento se le linee fossero etichettate.
rolando2,

32

Ho visto questa immagine alcune settimane fa e ho pensato che fosse piuttosto rilevante per la domanda in corso.

immagine meme

Invece di adattarsi linearmente alla sequenza, è stato dotato di un polinomio quartico, che si adattava perfettamente, ma ha dato una risposta chiaramente ridicola.


12
Questo non risponde alla domanda come posta e potrebbe essere migliore come commento o non essere pubblicato affatto. Questo non fornisce un esempio nel mondo reale di overfitting (che è quello che la domanda ha posto). Inoltre, non spiega in che modo l'immagine di esempio sia rilevante per il sovradimensionamento. Infine, è molto breve. Preferiamo risposte approfondite e dettagliate che rispondano alla domanda che è stata posta, non solo una discussione relativa alla domanda.
DW

9
In realtà questo è esattamente un caso di overfitting dovuto a un modello troppo complesso, in quanto è possibile costruire un'infinità di funzioni di ordine superiore (non lineari) al fine di generare un numero infinito di ultimi ultimi termini della sequenza mentre si adatta ancora il altri termini (noti), usando un'interpolazione di Lagrange come spiegato qui .
gaborous

@ user1121352 Nel cartone animato, il polinomio di alto ordine è il vero modello, quindi non si tratta affatto di un adattamento eccessivo. Una risposta come "9" (il prossimo numero dispari) o "11" (il prossimo primo dispari) sarebbe in realtà sotto -fitting perché utilizza un modello troppo semplice per predire il valore successivo. Il fumetto in realtà illustra il caso opposto, secondo cui un modello più complesso potrebbe essere vero.
Sycorax,

8
Il polinomio quartico (come interpretato da me) è inteso come una soluzione ridicola, poiché l'ovvia risposta che chiunque darà prima di vedere la soluzione ridicola sarebbe 9 (o qualsiasi altro valore OEIS). Supponevo che il formato "doge" trasmettesse il sarcasmo, ma qui vediamo chiaramente la Legge di Poe al lavoro.
Marzo Ho

2
Questo è esattamente il punto che sto cercando di chiarire, tuttavia, che è che non sappiamo quale sia la vera funzione. Se stai conducendo un'analisi originale, non hai una risorsa come l'OEIS per fare appello alla verità: questo è ciò che il tuo modello sta cercando di stabilire. Apprezzo il fatto che il fumetto stia tentando il sarcasmo, ma la collocazione del fumetto all'interno di questa particolare discussione espone un'importante sottigliezza alla domanda sul sovradimensionamento e sulla modellistica statistica in generale. L'intento del suo creatore originale è irrilevante perché l'hai ricontestualizzato qui!
Sycorax,

22

Per me il miglior esempio è il sistema tolemaico in astronomia. Tolomeo ipotizzò che la Terra fosse al centro dell'universo e creò un sofisticato sistema di orbite circolari annidate, che spiegherebbe abbastanza bene i movimenti di oggetti sul cielo. Gli astronomi hanno dovuto continuare ad aggiungere cerchi per spiegare la deviazione, fino a quando un giorno è diventato così contorto che la gente ha iniziato a dubitarne. Fu allora che Copernico inventò un modello più realistico.

Questo è il miglior esempio di adattamento a me. Non è possibile aggiungere ai dati il ​​processo di generazione dei dati (DGP). È possibile equipaggiare solo in modo eccessivo il modello non specificato. Quasi tutti i nostri modelli nelle scienze sociali sono erroneamente specificati, quindi la chiave è ricordare questo e mantenerli parsimoniosi. Non cercare di cogliere ogni aspetto del set di dati, ma provare a catturare le funzionalità essenziali attraverso la semplificazione.


15
Questo non sembra essere un esempio di overfitting. Non c'è niente di sbagliato nel sistema tolemaico come modello predittivo: è complicato solo perché il sistema di coordinate è geocentrico piuttosto che originare con il centro di massa galattico. Il problema, quindi, è che una misura precisa e legittima è stata fatta con un modello eccessivamente complicato. (Le ellissi sono molto più semplici degli epicicli.) È una vera sfida trovare modelli non lineari parsimoniosi!
whuber

1
Ti ritroverai con molti cerchi per modellare le orbite delle lune di Giove nel sistema tolemaico.
Aksakal,

17
Esatto, ma a prima vista non è necessariamente troppo adatto. Il test dell'acido sta nelle previsioni di valori futuri, che in quel sistema hanno funzionato abbastanza bene da resistere per 1400 anni. I dati non si adattano troppo quando il modello è molto complicato, ma quando è così flessibile che catturando dettagli estranei produce previsioni molto più imprecise di quanto ci si aspetterebbe da un'analisi dei residui del modello sui suoi dati di addestramento.
whuber

2
EY=k=09βkxi

2
EY=k=09βkxkx

22

Supponiamo che tu abbia 100 punti su un grafico.

Potresti dire: hmm, voglio prevedere il prossimo.

  • con una linea
  • con un polinomio di secondo ordine
  • con un polinomio di terzo ordine
  • ...
  • con un polinomio del 100 ° ordine

Qui puoi vedere un'illustrazione semplificata per questo esempio: inserisci qui la descrizione dell'immagine

Più alto è l'ordine polinomiale, migliore si adatterà ai punti esistenti.

Tuttavia, i polinomi di alto ordine, nonostante sembrino modelli migliori per i punti, li stanno effettivamente adattando. Modella il rumore anziché la vera distribuzione dei dati.

Di conseguenza, se aggiungi un nuovo punto al grafico con la curva che si adatta perfettamente, probabilmente sarà più lontano dalla curva rispetto a se utilizzassi un polinomio di ordine inferiore più semplice.


"Di conseguenza, se aggiungi un nuovo punto al grafico con la curva che si adatta perfettamente, probabilmente sarà più lontano dalla curva rispetto a se utilizzassi un polinomio di ordine inferiore più semplice" - inoltre, questo è ancora vero anche se il il processo di generazione dei dati per il nuovo punto (cioè la relazione nella popolazione) era in realtà un polinomio ad alta potenza come quello che tu (sopra) hai inserito.
Silverfish,

19
Le immagini qui sono in realtà errate - ad esempio, il polinomio di 9 gradi è stato tracciato solo come una funzione lineare a tratti, ma in realtà sospetto che dovrebbe oscillare selvaggiamente su e giù negli intervalli tra i punti. Dovresti vedere questo effetto anche nel polinomio di 5 gradi.
Ken Williams,

17

L'analisi che potrebbe aver contribuito al disastro di Fukushima è un esempio di overfitting. Esiste una relazione ben nota in Scienze della Terra che descrive la probabilità di terremoti di una certa dimensione, data la frequenza osservata di terremoti "minori". Questo è noto come il rapporto Gutenberg-Richter e fornisce un registro lineare per molti decenni. L'analisi del rischio sismico nelle vicinanze del reattore (questo diagramma dell'eccellente libro di Nate Silver "Il segnale e il rumore") mostra un "nodo" nei dati. Ignorare il nodo porta a una stima del rischio annualizzato di un terremoto di magnitudo 9 come circa 1 su 300 - sicuramente qualcosa per cui prepararsi. Però, il sovradimensionamento di una doppia linea di pendenza (come apparentemente è stato fatto durante la valutazione del rischio iniziale per i reattori) riduce la previsione del rischio a circa 1 su 13.000 anni. Non si può criticare gli ingegneri per non aver progettato i reattori per resistere a un evento così improbabile - ma si dovrebbe sicuramente criticare gli statistici che hanno sovralimentato (e quindi estrapolato) i dati ...

inserisci qui la descrizione dell'immagine


È conclusivo che il modello a doppia pendenza fosse troppo adatto? Il nodo è prominente; Immagino che se ogni segmento di linea fosse stimato, per esempio, da 3 punti ciascuno, otterresti previsioni migliori sul hold-out rispetto alla stima di una singola linea. (Ovviamente la successiva osservazione di un evento "1 su 13.000 anni" discute contro di esso! Ma è difficile da interpretare in quanto non avremmo riesaminato questo modello se ciò non fosse accaduto.) Se ci fossero ragioni fisiche per ignorare il nodo percepito quindi il caso in cui questo fosse troppo vestito è più forte - non so quanto bene questi dati di solito corrispondano alla relazione ideale di Gutenberg-Richter.
Silverfish

Ciò illustra in modo molto grafico i pericoli dell'estrapolazione e la necessità di una funzione di perdita che tenga conto della gravità delle conseguenze di un errore ...
Silverfish,

3
Il problema in realtà è che per alcuni degli ultimi punti vengono utilizzati pochissimi dati, quindi presentano una grande incertezza. Osservando da vicino i dati, puoi vedere che c'è stato un singolo evento 7.9, quindi diversi 7.7. Si sa poco sui terremoti maggiori di 8.0 in quanto sono rari - ma quando si osserva un terremoto di 9.0 (il terremoto di Tohoku che ha causato lo Tsunami) è possibile trarre le proprie conclusioni. La linea retta può essere conservativa - ma quando si tratta di sicurezza nucleare, il conservatore è buono.
Floris,

1
@Floris Ottimo punto. Sarebbe stato meglio se avessero usato un diagramma a scatole che mostrava non solo le frequenze osservate ma anche intervalli di confidenza per quelle frequenze. Quindi si otterrebbero probabilmente caselle molto strette a sinistra nel diagramma e caselle molto larghe a destra. (Tali intervalli di confidenza possono essere calcolati ipotizzando che ciascuna frequenza segua una distribuzione di Poisson.)
user763305

3
@ user763305 - sì, sono abbastanza sicuro che l'aggiunta di intervalli di confidenza mostrerebbe che una linea retta non è in contrasto con i dati (o in altre parole, che non puoi rifiutare l'ipotesi nulla che i dati seguano una linea retta).
Floris,

15

"Agh! Pat sta lasciando l'azienda. Come potremo mai trovare un sostituto?"

Offerta di lavoro:

Ricercato: ingegnere elettrico. Androgino di 42 anni, laureato in ingegneria elettrica, matematica e zootecnia. Deve essere alto 68 pollici con i capelli castani, una talpa sopra l'occhio sinistro e incline a diatribi a vento lungo contro le oche e l'uso improprio della parola "consiglio".

In senso matematico, il sovradimensionamento si riferisce spesso alla creazione di un modello con più parametri di quelli necessari, risultando in una migliore adattamento per un set di dati specifico, ma senza acquisire dettagli rilevanti necessari per adattarsi ad altri set di dati della classe di interesse.

Nell'esempio sopra, il poster non è in grado di differenziare le caratteristiche rilevanti da quelle irrilevanti. Le qualifiche risultanti sono probabilmente soddisfatte solo da una persona che già sanno che è giusto per il lavoro (ma non lo vuole più).


8
Mentre è divertente, questa risposta non fornisce informazioni su cosa significhi sovrastimare in senso statistico. Forse potresti espandere la tua risposta per chiarire la relazione tra questi attributi molto particolari e la modellazione statistica.
Sycorax,

+1 segno. Sono d'accordo con @ user777 solo in piccola parte. Forse una frase porterà a casa l'esempio conciso. Ma aggiungere troppo toglierà la semplicità.
ndoogan,

Penso che questa sia un'ottima risposta: mostra il tipo molto comune di overfitting che essenzialmente memorizza i dati di allenamento, in particolare il caso comune quando la quantità di dati di allenamento è insufficiente per saturare il potere espressivo del modello.
Ken Williams,

14

Questo è inventato, ma spero che illustrerà il caso.

Esempio 1

k=100n=100

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

Ora, inseriamo una regressione lineare ad esso:

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

Ed ecco un riepilogo per i primi dieci predittori:

> 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

i risultati sembrano piuttosto strani, ma tracciamolo.

inserisci qui la descrizione dell'immagine

X1X1

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

È zero, quindi le trame non ci mentivano: il modello si adatta perfettamente. E quanto è preciso in classifica?

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

X1

Esempio 2

Un altro esempio. Consente di recuperare alcuni altri dati:

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

quindi sembra così:

   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

e ora consente una regressione lineare a questo:

fit2 <- lm(X1~., data2)

quindi otteniamo le seguenti stime:

> 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

R2=1X1

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

X1=1

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

È piuttosto autoesplicativo. Puoi pensare all'esempio 1 come simile all'esempio 2 ma con qualche "rumore" aggiunto. Se disponi di dati abbastanza grandi e li usi per "prevedere" qualcosa, a volte una singola "caratteristica" può convincerti che hai un "modello" che descrive bene la tua variabile dipendente, mentre potrebbe essere solo una coincidenza. In Esempio 2 nulla è davvero previsto, ma esattamente lo stesso è avvenuto in Esempio 1 solo i valori delle variabili erano diverse.

Esempi di vita reale

L'esempio di vita reale per questo è la previsione di attacchi terroristici l'11 settembre 2001 osservando "schemi" in numeri estratti casualmente da generatori di numeri pseudocasuali computerizzati dal Global Consciousness Project o "messaggi segreti" in "Moby Dick" che rivelano fatti sugli omicidi di personaggi famosi (ispirato a risultati simili nella Bibbia ).

Conclusione

Se guardi abbastanza duramente, troverai "schemi" per qualsiasi cosa. Tuttavia, questi schemi non ti permetteranno di imparare nulla sull'universo e non ti aiuteranno a raggiungere conclusioni generali. Si adatteranno perfettamente ai tuoi dati, ma sarebbero inutili poiché non si adattano a nient'altro che ai dati stessi. Non ti permetteranno di fare previsioni ragionevoli al di fuori del campione, perché ciò che farebbero è che preferirebbero imitare piuttosto che descrivere i dati.


5
Suggerirei di mettere gli esempi di vita reale in cima a questa risposta. Questa è la parte che è effettivamente rilevante per la domanda: il resto è sugo.
Shadowtalker,

8

Un problema comune che si traduce in un overfitting nella vita reale è che oltre ai termini per un modello correttamente specificato, potremmo aver aggiunto qualcosa di estraneo: poteri irrilevanti (o altre trasformazioni) dei termini corretti, variabili irrilevanti o interazioni irrilevanti.

Ciò si verifica nella regressione multipla se si aggiunge una variabile che non deve apparire nel modello correttamente specificato ma non si desidera eliminarla perché si ha paura di indurre una distorsione da variabile omessa . Certo, non hai modo di sapere di averlo incluso erroneamente, dal momento che non puoi vedere l'intera popolazione, solo il tuo campione, quindi non puoi sapere con certezza quale sia la specifica corretta. (Come sottolinea @Scortchi nei commenti, potrebbe non esserci una specifica del modello "corretta" - in tal senso, l'obiettivo della modellazione è trovare una specifica "abbastanza buona"; per evitare un overfitting è necessario evitare una complessità del modello maggiore di quello che può essere sostenuto dai dati disponibili.) Se vuoi un esempio reale di overfitting, questo accade ogni voltasi gettano tutti i potenziali predittori in un modello di regressione, nel caso in cui qualcuno di essi non avesse effettivamente alcuna relazione con la risposta una volta che gli effetti degli altri sono stati parzialmente eliminati.

Con questo tipo di overfitting, la buona notizia è che l'inclusione di questi termini irrilevanti non introduce distorsioni degli stimatori e, in campioni molto grandi, i coefficienti dei termini irrilevanti dovrebbero essere vicini allo zero. Ma ci sono anche brutte notizie: poiché le informazioni limitate del tuo campione vengono ora utilizzate per stimare più parametri, può farlo solo con meno precisione, quindi aumentano gli errori standard sui termini realmente pertinenti. Ciò significa anche che è probabile che siano più lontani dai valori reali rispetto alle stime di una regressione specificata correttamente, il che a sua volta significa che se dati nuovi valori delle variabili esplicative, le previsioni dal modello sovradimensionato tenderanno ad essere meno accurate rispetto a il modello correttamente specificato.

Ecco un grafico del PIL di tronchi rispetto alla popolazione di tronchi per 50 stati degli Stati Uniti nel 2010. È stato selezionato un campione casuale di 10 stati (evidenziato in rosso) e per quel campione si adatta un modello lineare semplice e un polinomio di grado 5. Per il campione punti, il polinomio ha ulteriori gradi di libertà che gli consentono di "spostarsi" più vicino ai dati osservati rispetto alla linea retta. Ma i 50 stati nel loro insieme obbediscono a una relazione quasi lineare, quindi le prestazioni predittive del modello polinomiale sui 40 punti fuori campione sono molto scarse rispetto al modello meno complesso, in particolare durante l'estrapolazione. Il polinomio stava effettivamente adattando parte della struttura casuale (rumore) del campione, che non si generalizzava alla popolazione più ampia. È stato particolarmente scarso nell'estrapolare oltre l'intervallo osservato del campione.questa revisione di questa risposta.)

Estrapolazione da modello eccessivamente complesso

Ryi=2x1,i+5+ϵix2x3x1x2x3

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

Ecco i miei risultati da una corsa, ma è meglio eseguire la simulazione più volte per vedere l'effetto di diversi campioni generati.

>     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

x1R2

>     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

R2R2

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

R2y^y(e aveva più gradi di libertà per farlo rispetto al modello correttamente specificato, quindi poteva produrre un adattamento "migliore"). Guarda la somma degli errori quadrati per le previsioni sul set di controllo, che non abbiamo usato per stimare i coefficienti di regressione e possiamo vedere quanto peggio ha eseguito il modello con overfitting. In realtà il modello correttamente specificato è quello che fa le migliori previsioni. Non dovremmo basare la nostra valutazione delle prestazioni predittive sui risultati dell'insieme di dati che abbiamo usato per stimare i modelli. Ecco un diagramma di densità degli errori, con la specifica del modello corretta che produce più errori vicini allo 0:

Errori di previsione sul set di controllo

La simulazione rappresenta chiaramente molte situazioni rilevanti nella vita reale (immagina qualsiasi risposta nella vita reale che dipende da un singolo predittore e immagina di includere nel modello "predittori" estranei) ma ha il vantaggio che puoi giocare con il processo di generazione dei dati , le dimensioni del campione, la natura del modello sovradimensionato e così via. Questo è il modo migliore per esaminare gli effetti dell'eccessivo adattamento poiché per i dati osservati generalmente non si ha accesso al DGP, ed è comunque "reale" nel senso che è possibile esaminarlo e utilizzarlo. Ecco alcune idee utili che dovresti sperimentare:

  • Esegui la simulazione più volte e vedi come differiscono i risultati. Troverai più variabilità usando campioni di piccole dimensioni rispetto a quelli di grandi dimensioni.
  • n <- 1e6x1
  • Prova a ridurre la correlazione tra le variabili predittive giocando con gli elementi off-diagonali della matrice varianza-covarianza Sigma. Ricorda solo di mantenerlo semi-definito positivo (che include l'essere simmetrico). Dovresti scoprire se riduci la multicollinearità, il modello sovradimensionato non funziona così male. Ma tieni presente che i predittori correlati si verificano nella vita reale.
  • Prova a sperimentare le specifiche del modello sovradimensionato. E se includi termini polinomiali?
  • ydf$y <- 5 + 2*df$x1 + rnorm(n=nrow(df))yxi
  • yx2x3x1df$y <- 5 + 2 * df$x1 + 0.1*df$x2 + 0.1*df$x3 + rnorm(n=nrow(df))x2x3xx1x2x3nsample <- 25x1x2x3nsample <- 1e6, può stimare abbastanza bene gli effetti più deboli e le simulazioni mostrano che il modello complesso ha un potere predittivo che supera quello semplice. Questo dimostra come il "sovradimensionamento" sia un problema sia della complessità del modello che dei dati disponibili.

1
(-1) È piuttosto importante capire che il sovra-adattamento non deriva solo dall'inclusione di termini "irrilevanti" o "estranei" che non apparirebbero in un modello correttamente specificato. In effetti, si potrebbe sostenere che in molte applicazioni l'idea di un semplice modello vero non ha molto senso e la sfida della modellazione predittiva è quella di costruire un modello la cui complessità sia proporzionata alla quantità di dati disponibili.
Scortchi

1
Manderò la tua foto al mio deputato a sostegno della riforma dell'immigrazione
prototipo del

1
(+1) Penso che le modifiche migliorino la spiegazione del sovra-adattamento senza sacrificare la comprensibilità.
Scortchi

1
@Aksakal Ho cercato di rispondere alla domanda: "Ho bisogno di aiuto su come trovare un esempio reale che si applica al sovradimensionamento". Non è chiaro se a OP è stato chiesto di trovare un documento pubblicato che si adattasse troppo, o - un significato più naturale di "inventare" - per costruire il proprio esempio. Se il sovradimensionamento è negativo, allora perché nella vita reale qualcuno dovrebbe vestirsi eccessivamente? La mia risposta, secondo la quale un analista potrebbe preferire errare per un modello troppo specificato rispetto a quello non specificato (a causa del timore di OVB o del sospetto che una relazione sia curvilinea) è un esempio del genere. Il grafico / simulazione mostra semplicemente la conseguenza: cattiva previsione fuori campione
Silverfish,

1
@Aksakal Non è chiaro per me che un modello polinomiale sia "irreale" per il grafico. La caratteristica dominante è lineare, ma sappiamo che è completamente lineare? Se avessimo accesso a un ipotetico milione di unità politiche e dovessi mettere in gioco la mia vita in entrambi i modi, preferirei giocare d'azzardo e rileveremmo una leggera relazione curvilinea piuttosto che tutti i termini polinomiali sarebbero insignificanti. Nonostante ciò, adattandosi a n bassi, solo un modello lineare evita il sovradimensionamento. (Non possiamo risolverlo a causa della difficoltà di campionamento dalla popolazione teoricamente infinita di "possibili stati USA"; questo è un vantaggio di dati simulati!)
Silverfish,

4

Quando stavo cercando di capirlo da solo, ho iniziato a pensare in termini di analogie con la descrizione di oggetti reali, quindi immagino che sia il "mondo reale" che puoi ottenere, se vuoi capire l'idea generale:

Supponi di voler descrivere a qualcuno il concetto di sedia, in modo che ottengano un modello concettuale che consenta loro di prevedere se un nuovo oggetto che trovano è una sedia. Vai su Ikea e prendi un campione di sedie, e inizi a descriverle usando due variabili: è un oggetto con 4 gambe dove puoi sederti. Bene, questo può anche descrivere uno sgabello o un letto o molte altre cose. Il tuo modello è inadeguato, proprio come se dovessi provare a modellare una distribuzione complessa con troppe poche variabili: molte cose senza sedia saranno identificate come sedie. Quindi, aumentiamo il numero di variabili, aggiungiamo che l'oggetto deve avere un dorso, per esempio. Ora hai un modello abbastanza accettabile che descrive il tuo set di sedie, ma è abbastanza generale da consentire a un nuovo oggetto di essere identificato come uno. Il modello descrive i dati ed è in grado di fare previsioni. Tuttavia, supponiamo che tu abbia un set in cui tutte le sedie sono bianche o nere e fatte di legno. Decidi di includere quelle variabili nel tuo modello e improvvisamente non identificherà una sedia di plastica gialla come una sedia. Quindi, hai sovralimentato il tuo modello, hai incluso le caratteristiche del tuo set di dati come se fossero caratteristiche delle sedie in generale, (se preferisci, hai identificato il "rumore" come "segnale", interpretando la variazione casuale del tuo campione come una caratteristica di tutte le "sedie del mondo reale"). Quindi, aumenti il ​​tuo campione e speri di includere un po 'di nuovo materiale e colori, o diminuisci il numero di variabili nei tuoi modelli. t identificare una sedia di plastica gialla come una sedia. Quindi, hai sovralimentato il tuo modello, hai incluso le caratteristiche del tuo set di dati come se fossero caratteristiche delle sedie in generale, (se preferisci, hai identificato il "rumore" come "segnale", interpretando la variazione casuale del tuo campione come una caratteristica di tutte le "sedie del mondo reale"). Quindi, aumenti il ​​tuo campione e speri di includere un po 'di nuovo materiale e colori, o diminuisci il numero di variabili nei tuoi modelli. t identificare una sedia di plastica gialla come una sedia. Quindi, hai sovralimentato il tuo modello, hai incluso le caratteristiche del tuo set di dati come se fossero caratteristiche delle sedie in generale, (se preferisci, hai identificato il "rumore" come "segnale", interpretando la variazione casuale del tuo campione come una caratteristica di tutte le "sedie del mondo reale"). Quindi, aumenti il ​​tuo campione e speri di includere un po 'di nuovo materiale e colori, o diminuisci il numero di variabili nei tuoi modelli.

Questa potrebbe essere un'analogia semplicistica e una rottura sotto ulteriore esame, ma penso che funzioni come una concettualizzazione generale ... Fammi sapere se qualche parte necessita di chiarimenti.


Potresti spiegare in modo più dettagliato l'idea di "rumore" e "segnale" e il fatto che il modello sovradimensionato descriva il rumore perché ho problemi a comprenderlo.
Quirik,

4

Nella modellazione predittiva, l'idea è quella di utilizzare i dati a portata di mano per scoprire le tendenze esistenti e che possono essere generalizzate ai dati futuri. Includendo nel tuo modello variabili che hanno effetti minori e non significativi, stai abbandonando questa idea. Quello che stai facendo è considerare le tendenze specifiche nel tuo campione specifico che sono lì solo a causa del rumore casuale invece di una vera tendenza sottostante. In altre parole, un modello con troppe variabili si adatta al rumore anziché scoprire il segnale.

Ecco un'illustrazione esagerata di ciò di cui sto parlando. Qui i punti sono i dati osservati e la linea è il nostro modello. Guarda che si adatta perfettamente - che modello eccezionale! Ma abbiamo davvero scoperto la tendenza o ci stiamo semplicemente adattando al rumore? Probabilmente quest'ultimo.

inserisci qui la descrizione dell'immagine


4

Una forma di overfitting è abbastanza comune negli sport, vale a dire identificare schemi per spiegare i risultati passati con fattori che non hanno o, nella migliore delle ipotesi, un potere vago per prevedere i risultati futuri. Una caratteristica comune di questi "schemi" è che spesso si basano su pochissimi casi, quindi la pura possibilità è probabilmente la spiegazione più plausibile per lo schema.

Gli esempi includono cose come (le "virgolette" sono fatte da me, ma spesso sembrano simili)

La squadra A ha vinto tutte le partite X da quando l'allenatore ha iniziato a indossare la sua magica giacca rossa.

Simile:

Non ci raderemo durante i playoff, perché questo ci ha aiutato a vincere le partite X passate.

Meno superstizioso, ma anche una forma di overfitting:

Il Borussia Dortmund non ha mai perso una partita in casa della Champions League contro un avversario spagnolo quando ha perso la precedente trasferta della Bundesliga per più di due gol, avendo segnato almeno una volta se stessi.

Simile:

Roger Federer ha vinto tutte le sue presenze in Coppa Davis agli avversari europei quando aveva raggiunto almeno le semifinali negli Australian Open di quell'anno.

I primi due sono un'assurdità abbastanza ovvia (almeno per me). Gli ultimi due esempi potrebbero valere perfettamente nel campione (vale a dire, in passato), ma sarei molto felice di scommettere contro un avversario che lascerebbe che queste "informazioni" influenzino sostanzialmente le sue probabilità per il Dortmund che batte il Madrid se ha perso 4: 1 allo Schalke il sabato precedente o Federer che batte Djokovic, anche se ha vinto l'Australian Open quell'anno.


3

Ecco un esempio di "mondo reale" non nel senso che qualcuno lo ha incontrato nella ricerca, ma nel senso che usa concetti quotidiani senza molti termini specifici delle statistiche. Forse questo modo di dire sarà più utile per alcune persone la cui formazione è in altri campi.

Immagina di avere un database con dati su pazienti con una malattia rara. Sei uno studente laureato in medicina e vuoi vedere se riesci a riconoscere i fattori di rischio per questa malattia. Ci sono stati 8 casi di malattia in questo ospedale e hai registrato 100 informazioni casuali su di loro: età, razza, ordine di nascita, hanno avuto il morbillo da bambino, qualunque cosa. Hai anche registrato i dati per 8 pazienti senza questa malattia.

Decidi di utilizzare la seguente euristica per i fattori di rischio: se un fattore assume un determinato valore in più di uno dei tuoi pazienti malati, ma in 0 dei tuoi controlli, lo considererai un fattore di rischio. (Nella vita reale, useresti un metodo migliore, ma voglio mantenerlo semplice). Scoprirai che 6 dei tuoi pazienti sono vegetariani (ma nessuno dei controlli è vegetariano), 3 hanno antenati svedesi e due di loro hanno una balbuzie nel linguaggio. Tra gli altri 97 fattori, non vi è nulla che si verifichi in più di un paziente, ma non è presente tra i controlli.

Anni dopo, qualcun altro si interessa a questa malattia orfana e replica la tua ricerca. Poiché lavora in un ospedale più grande, che ha una cooperazione di condivisione dei dati con altri ospedali, può utilizzare i dati relativi a 106 casi, a differenza dei tuoi 8 casi. E scopre che la prevalenza di balbuzienti è la stessa nel gruppo di pazienti e nel gruppo di controllo; la balbuzie non è un fattore di rischio.

Quello che è successo qui è che il tuo piccolo gruppo aveva il 25% di balbuzienti per caso. Il tuo euristico non ha avuto modo di sapere se questo è clinicamente rilevante o meno. Gli hai dato i criteri per decidere quando consideri un modello nei dati "interessante" abbastanza da essere incluso nel modello e, secondo questi criteri, la balbuzie era abbastanza interessante.

Il tuo modello è stato sovraccaricato, perché includeva erroneamente un parametro che non è realmente rilevante nel mondo reale. Si adatta perfettamente al tuo campione - gli 8 pazienti + 8 controlli - molto bene, ma non si adatta ai dati del mondo reale. Quando un modello descrive il tuo campione meglio di quanto descriva la realtà, si chiama sovralimentato.

Se avessi scelto una soglia di 3 su 8 pazienti con una caratteristica, non sarebbe successo - ma avresti avuto maggiori possibilità di perdere qualcosa di veramente interessante. Soprattutto in medicina, dove molte malattie si verificano solo in una piccola parte delle persone che presentano un fattore di rischio, è un compromesso difficile da fare. E ci sono metodi per evitarlo (fondamentalmente, confrontalo con un secondo campione e vedi se il potere esplicativo rimane lo stesso o cade), ma questo è un argomento per un'altra domanda.


Ricorda molto xkcd.com/882
Floris il

3

Ecco un esempio reale di overfitting che ho aiutato a perpetrare e poi ho cercato (senza successo) di evitare:

Avevo diverse migliaia di serie temporali indipendenti e bivariate, ognuna con non più di 50 punti dati, e il progetto di modellazione prevedeva l'adattamento di una autoregressione vettoriale (VAR) a ciascuna. Non è stato fatto alcun tentativo di regolarizzare attraverso osservazioni, stimare componenti di varianza o qualcosa del genere. I punti temporali sono stati misurati nel corso di un solo anno, quindi i dati erano soggetti a tutti i tipi di effetti stagionali e ciclici che sono apparsi solo una volta in ogni serie temporale.

Un sottoinsieme dei dati mostrava un tasso incredibilmente alto di causalità di Granger rispetto al resto dei dati. I controlli a campione hanno rivelato che in questo sottoinsieme si stavano verificando picchi positivi uno o due in ritardo, ma era chiaro dal contesto che entrambi i picchi erano causati direttamente da una fonte esterna e che un picco non causava l'altro. Le previsioni fuori campione che utilizzano questi modelli probabilmente sarebbero piuttosto sbagliate, perché i modelli erano troppo adatti: invece di "appianare" i picchi facendo una media nel resto dei dati, c'erano poche osservazioni sufficienti che i picchi stessero effettivamente guidando le stime.

Nel complesso, non penso che il progetto sia andato male, ma non credo che abbia prodotto risultati che fossero quasi utili quanto avrebbero potuto essere. Parte del motivo è che la procedura VAR a molti indipendenti, anche con solo uno o due ritardi, stava facendo fatica a distinguere tra dati e rumore, e quindi si adattava a quest'ultimo a spese di fornire informazioni sul ex.


1

Molte persone intelligenti in questo thread --- molte più esperte di statistiche di me. Ma non vedo ancora un esempio di facile comprensione per l'esempio dei laici. L'esempio presidenziale non è del tutto in linea con il tipico overfitting, perché mentre è tecnicamente overfitting in ognuna delle sue affermazioni selvagge, di solito un modello overfitting si adatta - TUTTO - il rumore dato, non solo un elemento di esso.

Mi piace molto il grafico nella spiegazione del trade-biance varianza in wikipedia: http://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff

(Il grafico più in basso è l'esempio del sovradimensionamento).

Mi viene difficile pensare a un esempio del mondo reale che non suona come un mumbo-jumbo completo. L'idea è che i dati sono in parte causati da variabili misurabili e comprensibili, in parte rumore casuale. Tentare di modellare questo rumore come un modello ti dà inesattezze.

Un esempio classico è la modellazione SOLAMENTE basata su R ^ 2 in MS Excel (stai tentando di adattare un'equazione / modello il più vicino possibile ai dati usando i polinomi, non importa quanto assurdi).

Supponiamo che tu stia cercando di modellare le vendite di gelati in funzione della temperatura. Hai i dati del "mondo reale". Tracci i dati e provi a massimizzare R ^ 2. Troverai utilizzando i dati del mondo reale, l'equazione di adattamento più vicina non è lineare o quadratica (il che avrebbe senso logico). Come quasi tutte le equazioni, i termini polinomiali più insensati aggiunti (x ^ 6 -2x ^ 5 + 3x ^ 4 + 30x ^ 3-43.2x ^ 2-29x) - più si avvicina ai dati. In che modo questo collega sensibilmente la temperatura alle vendite di gelati? Come spiegheresti questo ridicolo polinomio? La verità è che non è il vero modello. Hai sovralimentato i dati.

Stai prendendo in considerazione il rumore - che potrebbe essere stato dovuto a promozioni di vendita o ad altre variabili o "rumori" come una farfalla che sbatte le ali nel cosmo (qualcosa di mai prevedibile) --- e hai tentato di modellarlo in base alla temperatura. Ora di solito se il tuo rumore / errore non è nella media pari a zero o è auto-correlato, ecc., Significa che ci sono più variabili là fuori --- e poi alla fine arrivi al rumore generalmente distribuito in modo casuale, ma comunque è il migliore che posso spiegalo.


2
I successivi "modelli" nel fumetto presidenziale si adattano a tutto il rumore dato.
Ben Voigt,

Il fumetto non è analogo alla maggior parte degli scenari troppo adatti secondo me, anche se le regole ridicole predicono con precisione tutti i precedenti presidenti. La maggior parte delle previsioni non prevedono una dicotomia variabile. Inoltre, menziona in modo umoristico la stessa regola che sarà infranta nelle prossime elezioni - in altre parole, il modello di overfit è garantito erroneamente tutto il tempo, rendendolo un perfetto predittore del futuro. La maggior parte dei modelli di overfit non sono basati su 1 variabile errata che può essere testata per essere estranea - di solito si basa su troppe variabili nel modello, tutte casualmente inserite per ridurre R ^ 2.
John Babson,

0

La maggior parte dei metodi di ottimizzazione ha alcuni fattori di fondente noti come iperparametri. Un vero esempio:

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

Si tratta di un eccesso di adattamento o semplicemente di adattamento a una particolare serie di problemi?


0

Studiare per un esame memorizzando le risposte all'esame dell'anno scorso.


0

La mia preferita è la "formula 3964" scoperta prima della competizione di calcio della Coppa del Mondo nel 1998:

Il Brasile ha vinto i campionati nel 1970 e 1994. Riassumi questi 2 numeri e otterrai 3964; La Germania vinse nel 1974 e 1990, aggiungendo nuovamente 3964; la stessa cosa con l'Argentina che vince nel 1978 e nel 1986 (1978 + 1986 = 3964).

Questo è un fatto molto sorprendente, ma tutti possono vedere che non è consigliabile basare alcuna previsione futura su quella regola. E in effetti, la regola prevede che il vincitore della Coppa del Mondo nel 1998 avrebbe dovuto essere l'Inghilterra dal 1966 + 1998 = 3964 e l'Inghilterra vinse nel 1966. Ciò non accadde e il vincitore fu la Francia.


-2

Un po 'intuitivo, ma forse ti aiuterà. Diciamo che vuoi imparare qualche nuova lingua. Come impari? invece di imparare le regole in un corso, usi degli esempi. In particolare, programmi TV. Quindi ti piacciono gli spettacoli polizieschi e guardi alcune serie di alcuni spettacoli polizieschi. Quindi, prendi un altro spettacolo criminale e guardi alcune serie da quello. Al terzo spettacolo che vedi - sai quasi tutto, nessun problema. Non hai bisogno dei sottotitoli in inglese.

Ma poi provi la tua lingua appena appresa per strada alla tua prossima visita e ti rendi conto che non puoi parlare di nient'altro che dire "agente! Quell'uomo ha preso la mia borsa e ha sparato a quella signora!". Mentre il tuo "errore di allenamento" era zero, il tuo "errore di prova" è elevato, a causa del "sovradimensionamento" della lingua, studiando solo un sottoinsieme limitato di parole e assumendone abbastanza.


8
Non è troppo adatto, sta solo imparando un sottoinsieme di lingua. Sarebbe eccessivo se dopo aver visto il crimine mostrasse di imparare un'intera, ma strana, lingua che coincide con l'inglese su tutti gli argomenti relativi al crimine ma è totalmente incomprensibile (o forse cinese) quando parli di qualsiasi altro argomento.
amoeba,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.