Domanda:
Come chiami una media che non include valori anomali?
Tawani
2009-02-02 20:21:12 UTC
view on stackexchange narkive permalink

Come chiami una media che non include valori anomali?

Ad esempio, se hai un set:

  {90,89,92,91,5 } avg = 73.4  

ma escludendo il valore anomalo (5) abbiamo

  {90,89,92,91 (, 5)} avg = 90.5 

Come descrivi questa media nelle statistiche?

https://sciencing.com/calculate-outliers-5201412.html Ho sentito che il link sopra ha sicuramente risposto alla domanda.
Dipende da come vengono definiti i valori anomali presunti.Potrebbe essere una media ridotta o una media Winsorizzata o qualche altra forma di stima robusta della posizione.
Quando ho visto il titolo di questa domanda, speravo di trovare una battuta finale qui ...
Quindici risposte:
dsimcha
2009-02-02 20:24:32 UTC
view on stackexchange narkive permalink

Si chiama media ridotta. Fondamentalmente quello che fai è calcolare la media dell'80% medio dei tuoi dati, ignorando il 10% superiore e inferiore. Naturalmente, questi numeri possono variare, ma questa è l'idea generale.

Usare una regola come "il 10% più grande" non ha senso. E se non ci fossero valori anomali? La regola del 10% eliminerebbe comunque alcuni dati. Inaccettabile.
Vedere la mia risposta per un modo statisticamente significativo per decidere quali dati si qualificano come "valori anomali".
Bene, non esiste una definizione rigorosa di valore anomalo. Per quanto riguarda la tua risposta, se ci sono valori anomali influenzeranno la tua stima della deviazione standard. Inoltre, la deviazione standard può essere una cattiva misura della dispersione per i dati non distribuiti normalmente.
È vero che non esiste una definizione rigorosa, ma eliminare in base al percentile è certamente sbagliato in molti casi comuni, compreso l'esempio fornito nella domanda.
Inoltre, i valori anomali non influenzeranno molto la deviazione standard. A meno che non ce ne siano molti, nel qual caso non sono valori anomali! Ad esempio, potresti avere una distribuzione bimodale o casuale lineare, ma poi buttare fuori i dati è sbagliato, e in effetti il ​​concetto di "media" potrebbe essere sbagliato.
La media ridotta gode anche del vantaggio di includere la mediana come un caso limite, ovvero quando si ritaglia il 50% dei dati su entrambi i lati.
** Questa risposta non è corretta: ** poiché solo un valore (basso) è stato scartato, il risultato non è stato "tagliato", che per definizione rimuove un numero uguale di valori a entrambe le estremità della distribuzione dei dati.
@whuber Non così.La letteratura include certamente mezzi tagliati in cui le proporzioni sono disuguali in ciascuna coda, incluso il caso di zero in una coda.Gli esempi sono evidenti in http://onlinelibrary.wiley.com/book/10.1002/9781118165485 È una convenzione ragionevole usare proporzioni uguali (a) ovunque le distribuzioni siano approssimativamente simmetriche (b) in assenza di una motivazione per fare diversamente, maquesta non è l'unica definizione possibile di media ridotta.Chiaramente l'analisi e l'interpretazione devono tenere conto di eventuali differenze di proporzioni.
@Nick Grazie per il chiarimento.Vorrei andare oltre, tuttavia, e suggerire che a meno che quel "valore anomalo" non fosse escluso a causa di considerazioni che (a) erano indipendenti dalla distribuzione osservata dei dati e (b) * a priori * suggeriva un taglio del 20% della fascia bassa, allora sarebbe fuorviante caratterizzare il processo nella domanda come una procedura di "taglio".Sembra un rilevamento e un rifiuto anomali, puri e semplici.Sebbene il * risultato * possa sembrare lo stesso, come * procedure statistiche * i due processi di rifilatura e rimozione dei valori anomali sono molto diversi.
@whuber Sono d'accordo;personalmente non userei _trimming_ per descrivere quello che è in effetti un approccio di rimozione dei valori anomali basato su qualche altro criterio, comprese le ipotesi viscerali.Ma la distinzione è nella mente di chi guarda: c'è una differenza tra "per dati come questo, tagliare il 5% in ogni coda sembra una buona idea" e "Ho guardato i dati e il 5% più alto è probabilmente il miglioreignored ", ecc. Le formule non conoscono gli atteggiamenti dell'analista, ma questi ultimi sono la giustificazione del ricercatore per ciò che viene fatto.
La rifinitura qui era unilaterale.Se tagli sia dall'alto che dal basso, rimuoveresti 92 tagliando anche il 40% della distribuzione.
Jason Cohen
2009-02-02 20:44:31 UTC
view on stackexchange narkive permalink

Un approccio statisticamente ragionevole consiste nell'utilizzare un valore limite della deviazione standard.

Ad esempio, rimuovere qualsiasi risultato +/- 3 deviazioni standard.

Usare una regola come "il 10% più grande" non ha senso. E se non ci fossero valori anomali? La regola del 10% eliminerebbe comunque alcuni dati. Inaccettabile.

Stavo per dire che questo approccio non funziona (caso patologico = 1000 numeri tra -1 e +1, e quindi un singolo valore anomalo di valore +10000) perché un valore anomalo può influenzare la media in modo che nessuno dei risultati sia entro 3 stddev della media, ma matematicamente * funziona *.
Non è affatto difficile dimostrare che deve esserci almeno un punto dati all'interno di una deviazione standard (inclusa) della media. Qualsiasi valore anomalo abbastanza grande da tirare fuori la media aumenterà di molto la deviazione standard.
http://en.wikipedia.org/wiki/Chebychev%27s_inequality Ciò si applica indipendentemente dalla distribuzione.
ooh! grazie dsimcha! Chebyshev è uno dei miei eroi matematici (principalmente per le approssimazioni di funzioni).
Il problema è che "outlier" non è una conclusione post-hoc su un particolare set di dati realizzato. È difficile sapere cosa intendono le persone per valore anomalo senza sapere qual è lo scopo della statistica media proposta.
Quindi la tua affermazione categorica di "inaccettabile" non ha senso e non è molto utile. La media tagliata ha alcune proprietà utili e altre meno utili, come qualsiasi statistica.
@Gregg: Sono d'accordo con te. La tua dichiarazione è più accurata della mia. Tuttavia continuo a sostenere che generalmente è più utile dipendere dalla dispersione piuttosto che dal percentile.
Si noti che contrariamente ai commenti in altre parti di questo thread, tale procedura non è associata a significatività statistica.
Mark Lavin
2009-02-02 21:11:56 UTC
view on stackexchange narkive permalink

Un altro test standard per identificare i valori anomali consiste nell'usare LQ $ - $ (1,5 $ \ times $ IQR) e UQ $ + $ (1,5 $ \ times $ IQR). Questo è un po 'più facile che calcolare la deviazione standard e più generale poiché non fa alcuna ipotesi sui dati sottostanti provenienti da una distribuzione normale.

Ma se non fa alcuna supposizione, su cosa si basa?Deve almeno qualcosa come una definizione di valore anomalo?
la formula è basata sui quartili, quindi dipende dalla mediana piuttosto che dalla media
Il moltiplicatore 1.5 solleva una domanda, perché 1.5?E a quanto pare è in qualche modo basato sulla distribuzione normale. Se applichi questo, direttamente su una distribuzione guassiana, ottieni: 0,675 σ + 1,5 * (0,675 - [-0,675]) σ = 0,675 σ + 1,5 * 1,35 σ = 2,7 σ che è un intervallo accettabile da contrassegnare come "valori anomali". riferimento: https://medium.com/mytake/why-1-5-in-iqr-method-of-outlier-detection-5d07fdc82097
nickf
2009-02-02 20:29:15 UTC
view on stackexchange narkive permalink

La "media" di cui parli in realtà è chiamata "media".

Non risponde esattamente alla tua domanda, ma una statistica diversa che non è influenzata dai valori anomali è la mediana, ovvero , il numero centrale.

  {90,89,92,91,5} media: 73,4 {90,89,92,91,5} mediana: 90  

Potrebbe esserti utile, non lo so.

State tutti perdendo il punto. Non ha nulla a che fare con la media, la mediana, la modalità, lo stdev ecc. Considera questo: hai {1,1,2,3,2,400} avg = 68,17 ma quello che vogliamo è: {1,1,2,3, 2.400} avg = 1.8 // meno il valore [400 ]Come lo chiami?
@Tawani - non mancano tutti il ​​punto. Quello che dici deve essere definito utilizzando termini generici. Non puoi andare con un solo esempio. Senza definizioni generali, se 400 è 30 è ancora un valore anomalo? E se è 14? E 9? Dove ti fermi? Hai bisogno di stddev, intervalli, quartili, per farlo.
Mr Fooz
2009-02-02 20:24:58 UTC
view on stackexchange narkive permalink

Per un nome molto specifico, dovrai specificare il meccanismo per il rifiuto dei valori anomali. Un termine generale è "robusto".

dsimcha menziona un approccio: trimming. Un altro è il clipping: tutti i valori al di fuori di un intervallo noto-buono vengono scartati.

mvrak
2009-02-02 20:31:28 UTC
view on stackexchange narkive permalink

Non esiste un nome ufficiale a causa dei vari meccanismi, come il test Q, utilizzati per eliminare i valori anomali.

La rimozione dei valori anomali si chiama trimming.

Nessun programma che abbia mai usato ha average () con un trim () integrato

"mean ()" in R ha un argomento trim http://stat.ethz.ch/R-manual/R-devel/library/base/html/mean.html
Nel taglio non rimuovi i valori anomali;semplicemente non li includi nel calcolo."Rimuovi" potrebbe suggerire che i punti non sono più nel set di dati.E non li rimuovi (o ignori) perché sono valori anomali;il criterio è (di solito) solo che si trovano in una frazione estrema dei dati.Un valore non incluso in una media ridotta spesso è solo leggermente superiore (o inferiore) al valore più alto (minimo) incluso.
Jason S
2009-02-02 20:25:44 UTC
view on stackexchange narkive permalink

Non so se ha un nome, ma potresti facilmente trovare una serie di algoritmi per rifiutare i valori anomali:

  1. Trova tutti i numeri tra il 10 ° e il 90 ° percentili (eseguire l'ordinamento, quindi rifiutare i primi $ N / 10 $ e gli ultimi $ N / 10 $) e prendere il valore medio dei valori rimanenti.

  2. Ordinare i valori , rifiuta i valori alti e bassi purché in tal modo la deviazione media / standard cambi più di $ X \% $.

  3. Ordina i valori, rifiuta i valori alti e bassi come purché in tal modo i valori in questione siano più di $ K $ deviazioni standard dalla media.

Nick Fortescue
2009-02-13 15:22:20 UTC
view on stackexchange narkive permalink

Il modo più comune per avere una media Robusta (la parola usuale che significa resistente a dati non validi) è utilizzare la mediana . Questo è solo il valore medio nell'elenco ordinato (a metà tra i due valori centrali), quindi per il tuo esempio sarebbe 90,5 = a metà tra 90 e 91.

Se vuoi ottenere davvero in statistiche affidabili (come stime affidabili della deviazione standard ecc.) Suggerirei di perdere il codice nel gruppo AGORAS, ma potrebbe essere troppo avanzato per i tuoi scopi.

Sergio R F Oliveira
2014-12-03 18:18:40 UTC
view on stackexchange narkive permalink

... {90,89,92,91 (, 5)} avg = 90.5

Come descrivi questa media nelle statistiche? ...

Non esiste una designazione speciale per quel metodo. Chiamalo con il nome che desideri, a condizione che tu dica sempre al pubblico come sei arrivato al risultato e che tu abbia i valori anomali in mano da mostrare loro se lo richiedono (e credimi: lo richiederanno).

robin.datadrivers
2014-12-03 19:58:47 UTC
view on stackexchange narkive permalink

Se tutto ciò che hai è una variabile (come implichi tu), penso che alcuni degli intervistati sopra siano stati eccessivamente critici nei confronti del tuo approccio. Certamente altri metodi che considerano cose come la leva finanziaria sono più statisticamente validi; tuttavia ciò implica che stai facendo modellazione di qualche tipo. Se ad esempio hai solo punteggi su un test o l'età degli anziani (casi plausibili del tuo esempio), penso che sia pratico e ragionevole sospettare del valore anomalo che porti in ballo. È possibile osservare la media complessiva e la media ridotta e vedere quanto cambia, ma ciò sarà una funzione della dimensione del campione e della deviazione dalla media per i valori anomali.

Con valori anomali del genere, vorresti sicuramente esaminare il processo di generazione dei dati per capire perché è così. È un'immissione di dati o un colpo di fortuna amministrativo? Se è così e probabilmente non è correlato al valore reale effettivo (che non viene osservato) mi sembra perfettamente a posto. Se è un valore vero per quanto puoi dire, potresti non essere in grado di rimuoverlo a meno che tu non sia esplicito nella tua analisi al riguardo.

Samir Rachid Zaim
2020-01-12 23:40:44 UTC
view on stackexchange narkive permalink

Adoro la discussione qui: la media ridotta è uno strumento potente per ottenere una stima della tendenza centrale concentrata intorno alla metà dei dati.

L'unica cosa che vorrei aggiungere è che c'è una scelta da fare su quale "metrica" ​​utilizzare nei casi di campioni di piccole e grandi dimensioni. In alcuni casi si parla di

  • significa nel contesto di grandi campioni a causa del teorema del limite centrale,
  • mediane come valide alternative per piccoli campioni
  • e trimmed significa robusto per i valori anomali.

Ovviamente quanto sopra è una generalizzazione grossolana, ma ci sono articoli interessanti che parlano delle famiglie e delle classi di stimatori in ambienti campione grandi e piccoli e delle loro proprietà. Lavoro in bioinformatica e di solito ti occupi di piccoli campioni (3-10 secondi) di solito in modelli di topi, e cosa no, e questo articolo fornisce una buona panoramica tecnica di quali alternative esistono e quali proprietà hanno questi stimatori.

R Stima robusta in campioni molto piccoli

Questo è un articolo fuori rotta, ma ce ne sono molti altri che discutono di questi tipi di stimatori. Spero che sia di aiuto.

robert king
2018-03-09 01:09:55 UTC
view on stackexchange narkive permalink

disclaimer: questo metodo è ad hoc e senza uno studio rigoroso. Utilizzare a proprio rischio :)

Quello che ho trovato abbastanza buono è stato ridurre la rilevanza di un contributo in punti alla media da parte di square del suo numero di deviazioni standard dalla media , ma solo se il punto è più di una deviazione standard dalla media.

Passaggi:

  1. Calcola la media e la deviazione standard come al solito.
  2. Ricalcola la media, ma questa volta, per ogni valore, se è più di una deviazione standard dalla media, riduci il suo contributo alla media. Per ridurre il suo contributo, dividere il suo valore per il quadrato del suo numero di deviazioni prima di aggiungere al totale. Anche perché contribuisce di meno, dobbiamo ridurre N, quindi sottrarre 1-1 / (quadrato della deviazione dei valori) da N.
  3. Ricalcola la deviazione standard, ma utilizza questa nuova media anziché la vecchia media.

esempio: stddev = 0,5 media = 10 valore = 11

quindi, deviazioni = distanza dalla media / stddev = | 10-11 | /0.5 = 2

quindi il valore cambia da 11 a 11 / (2) ^ 2 = 11/4

anche N cambia, è ridotto a N-3/4.

codice:

  def mean (data):
    "" "Restituisce la media aritmetica dei dati campione." ""
    n = len (dati)
    se n < 1:
        raise ValueError ('la media richiede almeno un punto dati')
    return 1.0 * sum (data) / n # in Python 2 usa sum (data) / float (n)

def _ss (dati):
    "" "Restituisce la somma delle deviazioni quadrate dei dati di sequenza." ""
    c = media (dati)
    ss = sum ((x-c) ** 2 per x nei dati)
    return ss, c

def stddev (dati, ddof = 0):
    "" "Calcola la deviazione standard della popolazione
    per impostazione predefinita; specificare ddof = 1 per calcolare il campione
    deviazione standard."""
    n = len (dati)
    se n < 2:
        raise ValueError ('la varianza richiede almeno due punti dati')
    ss, c = _ss (dati)
    pvar = ss / (n-ddof)
    return pvar ** 0,5, c

def rob_adjusted_mean (valori, s, m):
    n = 0,0
    tot = 0,0
    per v nei valori:
        diff = abs (v - m)
deviazioni = diff / s
        se deviazioni > 1:
            # è un valore anomalo, quindi riduci la sua rilevanza / ponderazione per il quadrato del suo numero di deviazioni
            n + = 1.0 / deviazioni ** 2
            tot + = v / deviazioni ** 2
        altro:
            n + = 1
            tot + = v
    ritorno tot / n

def rob_adjusted_ss (valori, s, m):
    "" "Restituisce la somma delle deviazioni quadrate dei dati di sequenza." ""
    c = rob_adjusted_mean (valori, s, m)
    ss = sum ((x-c) ** 2 for x in values)
    return ss, c

def rob_adjusted_stddev (data, s, m, ddof = 0):
    "" "Calcola la deviazione standard della popolazione
    per impostazione predefinita; specificare ddof = 1 per calcolare il campione
    deviazione standard."""
    n = len (dati)
    se n < 2:
        raise ValueError ('la varianza richiede almeno due punti dati')
    ss, c = rob_adjusted_ss (data, s, m)
    pvar = ss / (n-ddof)
    return pvar ** 0,5, c

s, m = stddev (valori, ddof = 1)
stampa s, m
s, m = rob_adjusted_stddev (valori, s, m, ddof = 1)
stampa s, m
 

output prima e dopo la regolazione delle mie 50 misurazioni:

  0.0409789841609 139.04222
0,0425867309757 139,030745443
 

enter image description here

Perché potrebbe essere migliore dei metodi tradizionali?
Grazie, non ho familiarità con questo approccio.La divisione per il quadrato di una deviazione potrebbe produrre risultati insoliti quando le deviazioni sono <| 1 |.C'è una base teorica per questo metodo?
Ho accennato a farlo solo per i valori in cui la deviazione standard è maggiore di 1, che secondo la disuguaglianza di Chebyshev, non è molto spesso che i valori vengano influenzati drasticamente.
Non sono sicuro che questa tecnica sia stata utilizzata prima, sarei sorpreso se non fosse stata utilizzata prima in quanto sembra abbastanza intuitiva.Lo sto usando per notificare ai lavoratori della fabbrica le violazioni delle regole nelson sui prodotti nelle linee di produzione.Sembra ridurre il numero di violazioni segnalate ma sembra trovare ancora le violazioni critiche.Le regole Nelson riguardano più valori in una riga superiori o inferiori a 1 stddev, o un numero inferiore di punti pari a 2stddev o 3stddev. @MichaelChernick Non ho familiarità con i metodi tradizionali, Winsorized sembra interessante, può dare risultati diff negli eventi del cigno nero.
Non intendevo esattamente il * numero * di SD, esattamente.Immagina un caso in cui SD = 0,3 e una deviazione è 0,54.Quindi la deviazione è> 1SD, ma quando dividi per il quadrato della SD, dividi .54 / .3 ^ 2 = .54 / .09 = 6. Cioè, la deviazione è ora maggiore b / c della regolazione,piuttosto che essere stato reso più piccolo.
Sebbene questa procedura sia * ad hoc *, nello spirito è molto simile a un [M-estimator] (https://en.wikipedia.org/wiki/M-estimator).Uno dei motivi dei commenti che ricevi è che le proprietà di procedure come questa possono essere analizzate e studiate e che, in generale, la mancanza di tale studio mostra che la procedura non è ben compresa e probabilmente è inferiore ad altre.Pertanto, spetta a chiunque proponga una nuova procedura caratterizzare le sue proprietà in modo tale da consentirne un'applicazione intelligente e corretta.In assenza di tale caratterizzazione, i lettori dovrebbero essere riluttanti ad adottarla.
@gung Penso di aver avuto un errore di battitura - per deviazione intendevo il numero di deviazioni standard.quindi se la SD è .3, un valore deve essere maggiore di .3 dalla media per essere effettuato.se la distanza dei valori dalla media è 0,54, allora le sue deviazioni sono 0,54 / 0,3 = 1,8, quindi dovremmo dividere per 1,8 ^ 2 = 3,24 e quindi il valore sarà 1 / 3,24 importante quanto lo era in precedenza.
@whuber hai ragione questa procedura è ad hoc.hai ragione i lettori dovrebbero essere riluttanti ad adottarlo.Mi piacciono i commenti :) Sarebbe bello se qualcuno trovasse un problema con il mio metodo :) - Aggiungerò un disclaimer alla risposta
Ammiro il tuo atteggiamento (sul serio!).Tieni presente, tuttavia, che l'onere della prova è su di te.È tuo compito dimostrare la correttezza o l'utilità della tua raccomandazione (sia attraverso una citazione che un argomento legittimo).Non spetta a noi eseguire tale analisi.Ho indicato una teoria che ti dà qualche speranza che questa procedura abbia buone proprietà, ma è una meta-legge generale - ma estremamente efficace - della statistica secondo cui le procedure * ad hoc * sono inammissibili fino a prova contraria (il che significa semplicemente che c'èqualche altra procedura che funziona meglio).
Grazie per il chiarimento, questo ha molto più senso.
NuclAcc
2018-03-09 02:07:58 UTC
view on stackexchange narkive permalink

Esistono metodi superiori ai metodi basati su IQR o SD. A causa della presenza di valori anomali, la distribuzione probabilmente ha già problemi con la normalità (a meno che gli oulier non siano distribuiti uniformemente ad entrambe le estremità della distribuzione). Questo gonfia molto la SD, rendendo le SD meno desiderabili, tuttavia il metodo SD ha alcuni aspetti desiderabili rispetto al metodo IQR, vale a dire 1,5 volte l'IQR è un limite relativamente soggettivo. Sebbene la soggettività in queste materie sia inevitabile, è preferibile ridurla.

D'altra parte, un identificatore Hampel utilizza metodi affidabili per stimare i valori anomali. Essenzialmente è lo stesso del metodo SD, ma sostituiresti le medie con le mediane e la DS con le deviazioni assolute mediane (MAD). I MAD sono solo la distanza mediana dai media. Questo MAD viene moltiplicato per una costante di scala .675. La formula risulta in (X - Median) / (. 675 * MAD). La statistica risultante viene trattata in modo identico a uno Z-score. Questo aggira il problema della probabile non normalità che se si hanno valori anomali potrebbero essere presenti.

Per quanto riguarda come chiamarlo. I mezzi tagliati sono normalmente riservati al metodo di taglio del dieci percento inferiore e superiore menzionato da @dsimcha. Se è stato completamente pulito, puoi chiamarlo il mezzo pulito, o semplicemente il mezzo. Assicurati solo di essere chiaro cosa hai fatto nel tuo articolo.

Hampel, F. R., Ronchetti, E. M., Rousseeuw, P. J., & Stahel, W. A. ​​(1986). Statistiche robuste. John Wiley & Sons, New York.

Samster
2014-04-29 07:32:50 UTC
view on stackexchange narkive permalink

Può essere la mediana. Non sempre, ma a volte. Non ho idea di come si chiami in altre occasioni. Spero che questo abbia aiutato. (Almeno un po '.)

Mike
2016-03-26 08:13:52 UTC
view on stackexchange narkive permalink

Il mio libro di testo sulle statistiche fa riferimento a questa media come a una media della popolazione. L'esempio implica che è stata applicata una restrizione al set di dati completo, sebbene non sia stata apportata alcuna modifica (rimozione) al set di dati.

0. Benvenuto nel sito.1. Quale libro?Si prega di fornire un riferimento.2. La "media del campione" non si riferisce in genere a una media ottenuta dopo la rimozione dei valori anomali.
Questo non è corretto.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 2.0 con cui è distribuito.
Loading...