Sostituzione dei valori anomali con la media


31

Questa domanda è stata posta dal mio amico che non è esperto di Internet. Non ho un background statistico e ho cercato su Internet questa domanda.

La domanda è: è possibile sostituire i valori anomali con un valore medio? se è possibile, ci sono riferimenti / riviste di libri per il backup di questa dichiarazione?


25
È certamente possibile farlo, ma è difficile immaginare una situazione in cui abbia senso farlo.
Peter Flom - Ripristina Monica

2
Già diverse risposte più lunghe, ma è improbabile che il sommario di una frase di @Peter Flom sia abbinato come sommario.
Nick Cox,

4
Nessuna risposta ha ancora indicato l'elefante nella stanza: sebbene la sostituzione di "valori anomali" con la media preservi la media di un set di dati, cambia quasi qualsiasi altra statistica. Cambia anche le stime dell'errore standard della media. Di conseguenza - a sostegno del commento di @Peter Flom - il set di dati risultante non appare utile per nessuna forma affidabile di inferenza. (Probabilmente potrebbe essere usato non di per sé ma in passaggi intermedi in una procedura iterativa per identificare i valori anomali, spiegando in tal modo perché una tale procedura potrebbe esistere in primo luogo.)
whuber

1
@whuber Chiaramente un punto chiave. Lo trasformerei in un'altra risposta, in modo che non venga perso da chiunque legga questa discussione troppo rapidamente. Le persone tentate da questo dispositivo, e evidentemente ce ne sono alcune, devono rendersi conto che non è (a) una buona idea (b) una cattiva idea.
Nick Cox,

1
@ user2357112 L'implicazione è che la media da utilizzare è la media degli altri valori. Il valore anomalo, considerato inaffidabile, non deve essere incluso nel calcolo.
Nick Cox,

Risposte:


41

Chiaramente è possibile, ma non è chiaro che potrebbe mai essere una buona idea.

Spieghiamo diversi modi in cui questa è una soluzione limitata o carente:

  • In effetti stai dicendo che il valore anomalo è completamente inaffidabile, nella misura in cui la tua unica ipotesi possibile è che il valore dovrebbe essere la media. Se è quello che pensi, è probabile che sia più onesto omettere l'osservazione in questione, dato che evidentemente non hai abbastanza informazioni per fare un'ipotesi migliore.

  • Con nient'altro detto, hai bisogno di un criterio o criteri per identificare i valori anomali in primo luogo (come implicito da @Frank Harrell). Altrimenti si tratta di una procedura arbitraria e soggettiva, anche se viene difesa come una questione di giudizio. Con alcuni criteri, è possibile che la rimozione di valori anomali in questo modo crei ancora più valori anomali come effetto collaterale. Un esempio potrebbe essere che i valori anomali sono più di tante deviazioni standard dalla media. La rimozione di un valore anomalo modifica la deviazione standard e ora possono qualificarsi nuovi punti dati e così via.

  • Presumibilmente la media qui significa la media di tutti gli altri valori, un punto reso esplicito da @ David Marx. L'idea è ambigua senza questa stipulazione.

  • L'uso della media può sembrare una procedura sicura o conservativa, ma la modifica di un valore nella media cambierà quasi ogni altra statistica, comprese le misure di livello, scala e forma e gli indicatori della loro incertezza, un punto sottolineato da @whuber.

  • La media potrebbe non essere nemmeno un valore fattibile: semplici esempi sono quando i valori sono numeri interi, ma in genere la media non è un numero intero.

  • Anche con l'idea che usare una misura sommaria sia una cosa prudente da fare, usare la media piuttosto che la mediana o qualsiasi altra misura richiede qualche giustificazione.

  • Ogni volta che ci sono altre variabili, la modifica del valore di una variabile senza riferimento ad altre può rendere un punto dati anomalo in altri sensi.

Cosa fare con gli outlier è una domanda aperta e molto difficile. Liberamente, diverse soluzioni e strategie hanno un fascino variabile. Ecco un elenco parziale di possibilità. L'ordinamento è arbitrario e non intende trasmettere alcun ordine in termini di applicabilità, importanza o qualsiasi altro criterio. Né questi approcci si escludono a vicenda.

  • Una (a mio avviso buona definizione) è che "[o] utlier sono valori di esempio che causano sorpresa in relazione alla maggior parte del campione" (WN Venables e BD Ripley. 2002. Moderne statistiche applicate con S. New York: Springer, p.119). Tuttavia, la sorpresa è nella mente di chi guarda e dipende da un modello tacito o esplicito dei dati. Potrebbe esserci un altro modello in base al quale il valore anomalo non sorprende affatto, quindi i dati sono (diciamo) lognormali o gamma piuttosto che normali. In breve, preparati a (ri) considerare il tuo modello.

  • Andare in laboratorio o sul campo e ripetere la misurazione. Spesso questo non è praticabile, ma sembrerebbe standard in diverse scienze.

  • Verifica se i valori anomali sono autentici. La maggior parte dei test mi sembra abbastanza ingegnosa, ma potresti trovarne uno in cui puoi credere che si adatti alla tua situazione. La fede irrazionale secondo cui un test è appropriato è sempre necessaria per applicare un test che viene poi presentato come quintessenzialmente razionale.

  • Buttali via per una questione di giudizio.

  • Buttali via usando una regola più o meno automatizzata (di solito non "oggettiva").

  • Ignorali, parzialmente o completamente. Questo potrebbe essere formale (ad esempio, il taglio) o semplicemente una questione di lasciarli nel set di dati, ma ometterli dalle analisi in quanto troppo caldi da gestire.

  • Inseriscili utilizzando un qualche tipo di regolazione, ad esempio Winsorizing.

  • Li minimizza usando qualche altro metodo di stima robusto.

  • Li minimizza lavorando su una scala trasformata.

  • Li minimizza usando una funzione di collegamento non identitario.

  • Accomodali inserendo una distribuzione adeguata adiposa, lunga o pesante, senza o con predittori.

  • Accetta utilizzando un indicatore o una variabile fittizia come predittore aggiuntivo in un modello.

  • Accanto al problema, si utilizza una procedura non parametrica (ad es. Basata su gradi).

  • Ottieni una gestione dell'incertezza implicita usando la procedura di bootstrap, jackknifing o basata sulla permutazione.

  • Modifica per sostituire un valore anomalo con un valore più probabile, basato sulla logica deterministica. "È improbabile una nonna di 18 anni, ma la persona in questione è nata nel 1932, quindi presumibilmente ha davvero 81 anni."

  • Modifica per sostituire un valore anomalo impossibile o non plausibile utilizzando un metodo di imputazione che è attualmente accettabile magia non del tutto bianca.

  • Analizza con e senza, e vedendo quanta differenza fanno i valori anomali, statisticamente, scientificamente o praticamente.

  • Qualcosa di bayesiano. La mia precedente ignoranza di ciò che proibisce di fornire dettagli.

MODIFICA Questa seconda edizione beneficia di altre risposte e commenti. Ho cercato di contrassegnare le mie fonti di ispirazione.


1
(+1) bella risposta. Dal lato bayesiano, si potrebbero fare molte cose, ma in effetti stai cercando di costruire un modello per come sei arrivato ad avere tali valori (il processo che ha portato al valore anomalo). Ad esempio, potrebbe essere qualcosa di semplice come "ogni valore di dati ha qualche piccola probabilità sconosciuta di provenire da una distribuzione che è molto più selvaggia della maggior parte dei dati" e quindi mettere una distribuzione precedente su quella probabilità e formalizzare una scelta per quella selvaggia distribuzione e priori per i suoi parametri. L'effetto è di ridurre l'impatto di punti che non si adattano al modello.
Glen_b

16

Ci sono molti problemi impliciti nella tua domanda.

  1. Che cos'è un "outlier"?
  2. Un "outlier" dovrebbe essere sostituito?
  3. Cosa c'è di speciale nella media rispetto ad altre stime?
  4. Come compensereste per aumentare la varianza apparente al momento della sostituzione di un singolo valore che rende la varianza troppo piccola?
  5. Perché non usare stimatori robusti resistenti agli outlier?
  6. È una variabile indipendente o dipendente?

Nessuno dei 1-5 ha una risposta ovvia. Se ritieni davvero che questi "valori anomali" siano sbagliati e non desideri utilizzare un metodo statistico solido, puoi renderli mancanti e utilizzare l'imputazione multipla come una possibile soluzione. Se la variabile è una variabile dipendente, una scelta solida è la regressione ordinale.


1
+1, buoni punti. Sono incuriosito dal suggerimento OLR; c'è una ragione per cui preferisci l'uso di una solida funzione di perdita come la bisquare di Tukey?
gung - Ripristina Monica

2
La regressione ordinale è probabilmente un po 'più robusta di così, e consente di stimare quantità ben definite: medie, quantili e probabilità. Inoltre hai tutto il potere del rapporto di verosimiglianza, Wald, e punteggi di test e intervalli di confidenza. Stime della medianaY e cattiva Y in ordinal regression are not redundant, i.e., they are not trivially connected but are allowed to "float" because of fewer distributional assumptions.
Frank Harrell

9

The proposal has numerous flaws in it. Here is perhaps the biggest.

Suppose you are gathering data, and you see these values:

2,3,1

The mean, so far is 6/3=2.

Then comes an outlier:

2,3,1,1000

So you replace it with the mean:

2,3,1,2

The next number is good:

2,3,1,2,7

Now the mean is 3. Wait a minute, the mean is now 3, but we replaced 1000 with a mean of 2, just because it occurred as the fourth value. What if we change the order of the samples?

2,3,1,7,1000

Now the mean prior to the 1000 is (2+3+1+7)/4=13/4. So should we replace 1000 with that mean?

The problem is that the false datum we are substituting in place of 1000 is dependent on the other data. That's an epistemological problem if the samples are supposed to represent independent measurements.

Then you have the obvious problem that you not merely withholding data that doesn't fit your assumptions, but you're falsifying it. When some unwanted result occurs, you increment n, and substitute a fake value. This is wrong because n is supposed to be the count of samples. Now n represents the number of samples, plus the number of fudge values added to the data. It basically destroys the validity of all calculations involving n: even those which do not use the fudge values. Your n is a fudge value too!

Basically, trimming away results that don't fit is one thing (and can be justified if it is done consistently according to an algorithm, rather than according to changing mood swings of the experimenter).

Outright falsifying results is objectionable on philosophical, epistemological and ethical grounds.

There may be some extenuating circumstances, which have to do with how the results are used. Like for instance, say that this substitution of outliers by the current mean is part of some embedded computer's algorithm, which enables it to implement a closed-loop control system. (It samples some system outputs, then adjusts inputs in order to achieve control.) Everything is real time, and so something must be supplied for a given time period in the place of missing data. If this fudging helps to overcome glitches, and ensures smooth operation, then all is good.

Here is another example, from digital telephony: PLC (packet loss concealment). Crap happens, and packets get lost, yet communication is real time. PLC synthesizes fake pieces of voice based on recent pitch information from correctly received packets. So if a speaker was saying the vowel "aaa" and then a packet was lost, PLC can pad the missing packet by extrapolating the "aaa" for the frame duration (say 5 or 10 milliseconds or whatever). The "aaa" is such that it resembles the speaker's voice. This is analogous to using a "mean" to substitute for values regarded as bad. It's a good thing; it's better than the sound cutting in and out, and helps intelligibility.

If the fudging of data is part of a program of lying to people to cover up failing work, that's something else.

So, we cannot think about it independently of the application: how is the statistics being used? Will substitutions lead to invalid conclusions? Are there ethical implications?


The telephony story is very interesting, but it seems a matter of defensible interpolation to replace missing values. The connection with outlier replacement is tenuous, as only purely local operations are needed and local changes are secondary to the "analysis" of the entire dataset.
Nick Cox

2
Plenty of interesting ideas here (+1). Note, though, that the replacement procedure is not necessarily sequential. One can identify all "outliers" at once and replace all of them with the mean of the remainder. This is a consistent procedure not unlike Winsorizing.
whuber

6

This article by Cousineau and Chartier discusses replacing outliers with the mean

http://www.redalyc.org/pdf/2990/299023509004.pdf

They write:

Tabachnick and Fidell (2007) suggested replacing the missing data with the mean of the remaining data in the corresponding cell. However, this procedure will tend to reduce the spread of the population, make the observed distribution more leptokurtic, and possibly increase the likelihood of a type-I error. A more elaborate technique, multiple imputations, involves replacing outliers (or missing data) with possible values (Elliott & Stettler, 2007; Serfling & Dang, 2009).

There is also an R package "outliers" that has a function to replace outliers with the mean. I also saw a number of hits in my Google search that implies that SPSS also has such a function, but I am not familiar with that program. Perhaps if you follow the threads you can discover the technical basis for the practice.

References

  • Cousineau, D., & Chartier, S. (2010). Outliers detection and treatment: a review. International Journal of Psychological Research, 3(1), 58-67.

I searched your reference for all occurrences of the word "mean" and could find no place where it discusses replacing outliers with the mean. If I missed something, could you indicate more precisely where this discussion occurs?
whuber

1
I changed the link because I could not get it to work. On page 9 of the document the author says "Outliers that are clearly the result of a spurious activity should be removed. However, in multivariate designs, doing so may result in removing too many participants to the point that the analysis can no longer be performed. Tabachnick and Fidell (2007) suggested replacing the missing data with the mean of the remaining data in the corresponding cell."
Thomas

2
Thanks: I see it now. However, describing this as a "discussion"--which suggests there may be some balancing of pros and cons--may be somewhat misleading, because this passage mentions the mean-substitution procedure (a) only for multivariate applications and (b) solely to point out its defects, winding up with a suggestion to consider multiple imputation instead. (Interestingly, the paper's reference for this procedure does not even appear in its bibliography.)
whuber

5
Yes it is odd that the cited reference is not in the bib. It appears to be the book "Experimental Designs Using ANOVA." I was trying to respond to the original request and provide references for the practice of substituting the mean for outliers. That paper was all I could find in a quick search and I hoped it could provide leads so that the OP could find a more complete answer.
Thomas

4

The main thing to bear in mind when dealing with outliers is whether they're providing useful information. If you expect them to occur on a regular basis then stripping them out of the data will guarantee that your model will never predict them. Of course, it depends what you want the model to do but it's worth bearing in mind that you shouldn't necessarily drop them. If they contain important information you may want to consider a model that can account for them. One, simple way to do that is to take logs of the variables, which can account for power law relationships. Alternatively, you could use a model that accounts for them with a fat-tailed distribution of errors.

If you do want to cut them out then the usual ways are to either drop them or Winsorise them to remove the extreme values. I don't have a textbook to hand but the Wiki links there do refer to some if you want to read further. Most texts on applied statistics should have a section on outliers.


3

I'm aware of two related similar approaches in statistics.

  • Trimmed means: when computing the mean, you drop the smallest and largest observations of your data (e.g. the top and bottom 1 each; you should do this symmetrically!)
  • Winsorization: similar to the trimmed mean, you only modify extreme observations. However, instead of dropping them, you replace them with the largest/smallest non-extreme observation. This often works slightly better than trimming.

For more detailed examples, see Wikipedia:

https://en.wikipedia.org/wiki/Trimmed_estimator

https://en.wikipedia.org/wiki/Winsorising

Note that this works good for some statistics such as when computing the mean. The trimmed / winsorized mean is often a better estimate of the true mean than the artihmetic average. In other cases, it may ruin your statistics. For example when computing variance, trimming will always underestimate your true variance. Winsorization, assuming that indeed some of the extreme observations are faulty, will work a bit better then (it will probably still underestimate, but not by as much).

I don't see how replacing the extreme values with the mean would fit in here.

However, there is another practice that is related: missing value imputation. Assuming that your outlier is flawed, worthless data, so your remove it. When you then perform imputation, a typical substitute value would be the mean or mode:

https://en.wikipedia.org/wiki/Imputation_%28statistics%29


1
Trimming asymmetrically is a known and defensible tactic.
Nick Cox

2

The traditional approach for handling outliers is to simply remove them such that your model is trained only on "good" data.

Keep in mind that the mean value is affected by the presence of those outliers. If you replace outliers with the mean calculated after the outliers were removed from your dataset, it will make no difference since the regression line (from simple linear regression) will pass through the mean of your training data anyway (this will reduce the variance of your estimates though, which is probably the opposite of what you want given that you know there are outliers).

The effect your approach will have on the model depends on the influence (leverage) of the outlier. I'd recommend against the approach you suggest in lieu of just removing the point entirely.


4
Removal of data will cause a bias unless the procedure for removal is objective and that same procedure will be applied to all future data for which predictions are obtained.
Frank Harrell

0

yes the outliers can be replaced in may forms, for example, let's take a data-set of the size of Human heights, let's say we have some outliers like 500 cm and 400 cm then, we can just replace those data points that appear in the dataset because of some error that was caused during the recording of the data. so the options you can try is 1. replace it with the Median of the Whole color of the data (not the mean, as it is prone to outliers). 2. replace with the most Occurring data point in the Column. 3. If Categorial values then you can try Response coding.(wherein you Record the Probability of the word or the values occurring by the total number of words )

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.