Come dovrebbero essere trattati i valori anomali nell'analisi della regressione lineare?


73

Spesso a un analista statistico viene consegnato un set di dati impostato e viene chiesto di adattare un modello utilizzando una tecnica come la regressione lineare. Molto spesso il set di dati è accompagnato da una dichiarazione di non responsabilità simile a "Oh sì, abbiamo sbagliato a raccogliere alcuni di questi punti di dati - fai quello che puoi".

Questa situazione porta a regressioni che sono fortemente influenzate dalla presenza di valori anomali che possono essere dati errati. Dato quanto segue:

  • È pericoloso dal punto di vista sia scientifico che morale diffondere i dati per nessun motivo se non "fa apparire male la misura".

  • Nella vita reale, le persone che hanno raccolto i dati spesso non sono disponibili a rispondere a domande come "durante la generazione di questo set di dati, quale dei punti hai incasinato, esattamente?"

Quali test statistici o regole empiriche possono essere utilizzati come base per escludere gli outlier nell'analisi di regressione lineare?

Ci sono considerazioni speciali per la regressione multilineare?


Risposte:


33

Invece di escludere i valori anomali, è possibile utilizzare un metodo di regressione affidabile. In R, ad esempio, è possibile utilizzare la rlm()funzione dal pacchetto MASS anziché la lm()funzione. Il metodo di stima può essere ottimizzato per essere più o meno robusto rispetto ai valori anomali.


Se si usa la funzione rlm (), vedo che vengono prodotti i coefficienti e i loro t-test. Ma come posso ottenere i valori f-test, R-square da qui? Suppongo che non posso semplicemente portare questi valori di f-test e R quadrati dai semplici risultati di riepilogo 'lm' se ho ragione.
Eric,

1
Per una regressione solida, i presupposti alla base di un test F non sono più soddisfatti e R ^ 2 può essere definito in diversi modi che non sono più equivalenti. Vedi stats.idre.ucla.edu/stata/faq/… per qualche discussione al riguardo su Stata.
Rob Hyndman,


Ma trovo il comando chiamato f.robftest dal pacchetto sfsmisc che fornisce il risultato di f-test. Posso usare questo risultato per definire le statistiche di f-test per rlm? Inoltre, mi sembra di ottenere R quadrato semplicemente immettendo i valori nella formula matematica del quadrato R come 1 - sum (residui (rlm (y ~ x)) ^ 2) / sum ((y-mean (y)) ^ 2) . Per i valori del test t per verificare la significatività dei coefficienti, ottengo i valori del test t dal riepilogo (rlm (y ~ x)) che confronto con i valori t dal livello di confidenza del 95% o giù di lì. Posso usare questi metodi?
Eric,

22

A volte i valori anomali sono dati errati e devono essere esclusi, come errori di battitura. A volte sono Wayne Gretzky o Michael Jordan e dovrebbero essere tenuti.

I metodi di rilevamento anomali includono:

Univariato -> boxplot. al di fuori di 1,5 volte l'intervallo quartile è un valore anomalo.

Bivariato -> grafico a dispersione con ellisse di confidenza. al di fuori, diciamo, l'ellisse di confidenza al 95% è un valore anomalo.

Multivariata -> Mahalanobis D2 distanza

Segna queste osservazioni come valori anomali.

Esegui una regressione logistica (su Y = IsOutlier) per vedere se ci sono modelli sistematici.

Rimuovi quelli che puoi dimostrare che non sono rappresentativi di alcuna sottopopolazione.


E se hai ancora valori anomali, considera l'utilizzo di un modello diverso da quello lineare. Ad esempio, se si utilizza un modello con un comportamento simile alla legge del potere, Michael Jordan non è più un valore anomalo (in termini di capacità dei modelli di adattarlo).
drevicko,

1
Concordo con la maggior parte di ciò che viene detto qui, ma vorrei aggiungere la cautela aggiuntiva che " al di fuori dell'intervallo quartile di 1,5 volte è un valore anomalo " è una convenzione , non una regola con alcun fondamento teorico. Non dovrebbe essere usato come giustificazione per escludere i punti dati.
mkt - Ripristina Monica il

20

Penso che ci sia qualcosa da dire solo escludendo gli outlier. Una riga di regressione dovrebbe riassumere i dati. A causa della leva finanziaria è possibile che si verifichi una situazione in cui l'1% dei punti dati influisce sulla pendenza del 50%.

È pericoloso solo dal punto di vista morale e scientifico se non dici a nessuno che hai escluso gli outlier. Finché li fai notare puoi dire:

"Questa linea di regressione si adatta abbastanza bene alla maggior parte dei dati. L'1% delle volte arriverà un valore che non si adatta a questa tendenza, ma ehi, è un mondo pazzo, nessun sistema è perfetto"


1
"hey, è un mondo pazzo, nessun sistema è perfetto" +1 per quello amico mio! :)
bartektartanus,

1
Prendi in considerazione altri modelli però. Il mondo è pieno di "valori anomali" rimossi che erano dati reali, con il risultato di non riuscire a prevedere qualcosa di veramente importante. Molti processi naturali hanno comportamenti simili alla legge del potere con eventi estremi rari. I modelli lineari sembrano adattarsi a tali dati (anche se non troppo bene), ma usarne uno ed eliminare gli "outlier" significa perdere quegli eventi estremi, che di solito sono importanti da sapere!
drevicko,

10

Sharpie,

Prendendo letteralmente la tua domanda, direi che non ci sono test statistici o regole empiriche che possono essere utilizzate come base per escludere gli outlier nell'analisi di regressione lineare (al contrario di determinare se una data osservazione è o meno un outlier). Questo deve venire dalla conoscenza dell'area tematica.

Penso che il modo migliore per iniziare sia chiedere se anche gli outlier abbiano un senso, soprattutto date le altre variabili che hai raccolto. Ad esempio, è davvero ragionevole che tu abbia una donna di 600 libbre nel tuo studio, reclutata da varie cliniche di infortuni sportivi? Oppure, non è strano che una persona abbia 55 anni o un'esperienza professionale quando ha solo 60 anni? E così via. Spero che tu abbia una base ragionevole per buttarli fuori o far controllare i compilatori di dati per te.

Suggerirei anche metodi di regressione robusti e la comunicazione trasparente delle osservazioni lasciate cadere, come suggerito rispettivamente da Rob e Chris.

Spero che questo aiuti, Brenden



5

Esistono due misure statistiche della distanza che sono specificamente studiate per rilevare valori anomali e quindi valutare se tali valori anomali debbano essere rimossi dalla regressione lineare.

Il primo è la distanza di Cook. Puoi trovarne una spiegazione abbastanza buona su Wikipedia: http://en.wikipedia.org/wiki/Cook%27s_distance .

Maggiore è la distanza di Cook, più influente (impatto sul coefficiente di regressione) è l'osservazione. Il tipico punto di interruzione da considerare per la rimozione dell'osservazione è la distanza di Cook = 4 / n (n è la dimensione del campione).

Il secondo è DFFITS che è anche ben coperto da Wikipedia: http://en.wikipedia.org/wiki/DFFITS . Il tipico punto limite per considerare la rimozione di un'osservazione è un valore DFFITS di 2 volte sqrt (k / n) dove k è il numero di variabili e n è la dimensione del campione.

Entrambe le misure di solito ti danno risultati simili portando a una simile selezione dell'osservazione.


3

Immondizia dentro, immondizia fuori ....

Implicito nel trarre il massimo beneficio dalla regressione lineare è che il rumore segue una distribuzione normale. Idealmente hai principalmente dati e un po 'di rumore .... non principalmente rumore e un po' di dati. È possibile verificare la normalità dei residui dopo l'adattamento lineare osservando i residui. È inoltre possibile filtrare i dati di input prima dell'adattamento lineare per errori evidenti e evidenti.

Ecco alcuni tipi di rumore nei dati di input di immondizia che in genere non rientrano in una distribuzione normale:

  • Cifre mancanti o aggiunte con dati inseriti a mano (disattivati ​​di un fattore di 10 o più)
  • Unità errate o convertite in modo errato (grammi contro chili contro libbre; metri, piedi, miglia, km), probabilmente dall'unione di più set di dati (Nota: si pensava che Mars Orbiter andasse perso in questo modo, quindi anche gli scienziati missilistici della NASA possono farcela sbaglio)
  • Utilizzo di codici come 0, -1, -99999 o 99999 per indicare qualcosa di non numerico come "non applicabile" o "colonna non disponibile" e scaricarlo in un modello lineare insieme a dati validi

Scrivere una specifica per i "dati validi" per ogni colonna può aiutarti a taggare i dati non validi. Ad esempio, l'altezza di una persona in cm dovrebbe essere compresa tra 100 e 300 cm. Se trovi 1,8 per altezza, questo è un errore di battitura, e mentre puoi supporre che fosse 1,8 me lo modifichi a 180, direi che di solito è più sicuro buttarlo fuori e meglio documentare quanto più filtro possibile.


1

Per una regressione lineare è possibile utilizzare un adattamento rettilineo mediano ripetuto.


0

Test statistici da utilizzare come base per l'esclusione: - residui standardizzati - statistiche sulla leva finanziaria - distanza di Cook, che è una combinazione dei due precedenti.

Per esperienza, l'esclusione dovrebbe essere limitata alle istanze di immissione errata dei dati. La ponderazione dei valori anomali nel modello di regressione lineare è un ottimo metodo di compromesso. L'applicazione di questo in R è offerta da Rob. Un grande esempio è qui: http://www.ats.ucla.edu/stat/r/dae/rreg.htm

Se è necessaria l'esclusione, "una regola empirica" ​​si riferisce alle statistiche di Dfbeta (le misure cambiano nella stima quando il valore anomalo viene eliminato), in modo tale che se il valore assoluto della statistica di DfBeta supera 2 / sqrt (n), ciò conferma la rimozione di il valore anomalo.

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.