Question:
Comment appelez-vous une moyenne qui n'inclut pas les valeurs aberrantes?
Tawani
2009-02-02 20:21:12 UTC
view on stackexchange narkive permalink

Comment appelez-vous une moyenne qui n'inclut pas les valeurs aberrantes?

Par exemple, si vous avez un ensemble:

  {90,89,92,91,5 } avg = 73,4  

mais en excluant la valeur aberrante (5), nous avons

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

Comment décrivez-vous cette moyenne dans les statistiques?

https://science.com/calculate-outliers-5201412.html J'ai senti que le lien ci-dessus avait sûrement répondu à la question.
Cela dépend de la manière dont les valeurs aberrantes supposées sont définies.Il peut s'agir d'une moyenne tronquée ou d'une moyenne Winsorisée ou d'une autre forme d'estimation robuste de l'emplacement.
Quand j'ai vu le titre de cette question, j'espérais trouver une punchline ici ...
Quinze réponses:
dsimcha
2009-02-02 20:24:32 UTC
view on stackexchange narkive permalink

C'est ce qu'on appelle la moyenne tronquée. Fondamentalement, ce que vous faites est de calculer la moyenne des 80% du milieu de vos données, en ignorant les 10% supérieurs et inférieurs. Bien sûr, ces chiffres peuvent varier, mais c'est l'idée générale.

Utiliser une règle comme «les 10% les plus gros» n'a pas de sens. Et s'il n'y a pas de valeurs aberrantes? La règle des 10% éliminerait de toute façon certaines données. Inacceptable.
See my answer for a statistically-significant way to decide which data qualify as an "outlier."
Eh bien, il n'y a pas de définition rigoureuse des valeurs aberrantes. Quant à votre réponse, s'il y a des valeurs aberrantes, elles affecteront votre estimation de l'écart type. En outre, l'écart type peut être une mauvaise mesure de la dispersion pour les données non distribuées normalement.
Certes, il n'y a pas de définition rigoureuse, mais l'élimination basée sur le centile est certainement une erreur dans de nombreux cas courants, y compris l'exemple donné dans la question.
De plus, les valeurs aberrantes n'affecteront pas beaucoup l'écart type. Sauf s'il y en a beaucoup, auquel cas ils ne sont pas des valeurs aberrantes! Vous pourriez par exemple avoir une distribution bimodale ou linéaire aléatoire, mais alors rejeter des données est erroné, et en effet la notion de «moyenne» peut être fausse.
La moyenne tronquée bénéficie également de l'avantage d'inclure la médiane comme cas limite, c'est-à-dire lorsque vous découpez 50% des données des deux côtés.
** Cette réponse est incorrecte: ** étant donné qu'une seule valeur (faible) a été ignorée, le résultat n'a pas été «coupé», ce qui, par définition, supprime un nombre égal de valeurs aux deux extrémités de la distribution des données.
@whuber Pas si.La littérature comprend certainement des moyens coupés où les proportions sont inégales dans chaque queue, y compris le cas de zéro dans une queue.Des exemples sont en évidence dans http://onlinelibrary.wiley.com/book/10.1002/9781118165485 C'est une convention raisonnable d'utiliser des proportions égales (a) là où les distributions sont approximativement symétriques (b) en l'absence de justification pour faire autrement, maisce n'est pas la seule définition possible d'une moyenne tronquée.Il est clair que l'analyse et l'interprétation doivent tenir compte des différences de proportions.
@Nick Merci pour la clarification.J'irais plus loin, cependant, et suggérerais qu'à moins que cette «valeur aberrante» ne soit exclue en raison de considérations qui (a) étaient indépendantes de la distribution observée des données et (b) * a priori * suggéraient une réduction de 20% du bas de gamme, il serait alors trompeur de qualifier le processus dans la question de procédure de "parage".Cela ressemble à la détection et au rejet des valeurs aberrantes, purement et simplement.Bien que le * résultat * puisse sembler identique, en tant que * procédures statistiques *, les deux processus de réduction et d'élimination des valeurs aberrantes sont très différents.
@whuber Je suis d'accord;Personnellement, je n'utiliserais pas _trimming_ pour décrire ce qui est en fait une approche d'élimination des valeurs aberrantes basée sur un autre critère, y compris des suppositions viscérales.Mais la distinction est dans l'esprit du spectateur: il y a une différence entre "pour des données comme celle-ci, couper 5% dans chaque queue semble une bonne idée" et "j'ai regardé les données et les 5% supérieurs sont probablement les meilleursignoré », etc. Les formules ne connaissent pas les attitudes de l'analyste, mais ces dernières sont la justification du chercheur pour ce qui est fait.
La coupe ici était unilatérale.Si vous coupiez à la fois du haut et du bas, vous supprimeriez 92 coupant également 40% de la distribution.
Jason Cohen
2009-02-02 20:44:31 UTC
view on stackexchange narkive permalink

Une approche statistiquement raisonnable consiste à utiliser un seuil de écart-type.

Par exemple, supprimez tous les résultats de +/- 3 écarts-types.

Utiliser une règle comme «les 10% les plus gros» n'a pas de sens. Et s'il n'y a pas de valeurs aberrantes? La règle des 10% éliminerait de toute façon certaines données. Inacceptable.

J'allais dire que cette approche ne fonctionne pas (cas pathologique = 1000 nombres entre -1 et +1, puis une seule valeur aberrante de valeur +10000) car une valeur aberrante peut biaiser la moyenne afin qu'aucun des résultats ne soit à moins de 3 stddev de la moyenne, mais il semble mathématiquement que cela fonctionne.
Il n'est pas du tout difficile de prouver qu'il doit y avoir au moins un point de données dans un écart type (inclus) de la moyenne. Toute valeur aberrante suffisamment grande pour extraire la voie moyenne augmentera considérablement l'écart type.
http://en.wikipedia.org/wiki/Chebychev%27s_inequality Ceci s'applique quelle que soit la distribution.
ooh! thanks dsimcha! Chebyshev is one of my math heroes (mostly for function approximations).
The problem is that "outlier" isn't post-hoc conclusion about a particular realized data set. It's hard to know what people mean by outlier without knowing what the purpose of their proposed mean statistic is.
Ainsi, votre déclaration catégorielle d '«inacceptable» est absurde et pas vraiment très utile. La moyenne tronquée a des propriétés utiles, et d'autres moins utiles, comme toute statistique.
AilizkyywtCMT I agree with you. Your statement is more accurate than mine. However I still contend that generally it's more useful to depend on dispersion rather than percentile.
Notez que contrairement aux commentaires ailleurs dans ce fil, une telle procédure n'est pas associée à une signification statistique.
Mark Lavin
2009-02-02 21:11:56 UTC
view on stackexchange narkive permalink

Un autre test standard pour identifier les valeurs aberrantes consiste à utiliser LQ $ - $ (1,5 $ \ fois $ IQR) et UQ $ + $ (1,5 $ \ fois $ IQR). C'est un peu plus facile que de calculer l'écart type et plus général car cela ne fait aucune hypothèse sur le fait que les données sous-jacentes proviennent d'une distribution normale.

Mais s'il ne fait aucune hypothèse, sur quoi repose-t-il alors?Il doit au moins quelque chose comme une définition d'une valeur aberrante?
la formule est basée sur un quartile, elle dépend donc de la médiane plutôt que de la moyenne
Le multiplicateur de 1,5 soulève une question, pourquoi 1,5?Et apparemment, il est un peu basé sur une distribution normale. Si vous appliquez ceci, directement sur une distribution guassienne, vous obtenez: 0,675σ + 1,5 * (0,675 - [-0,675]) σ = 0,675σ + 1,5 * 1,35σ = 2,7σ qui est une plage acceptable pour marquer comme «valeurs aberrantes». référence: 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 «moyenne» dont vous parlez s'appelle en fait la «moyenne».

Elle ne répond pas exactement à votre question, mais une statistique différente qui n'est pas affectée par les valeurs aberrantes est la médiane, c'est , le nombre du milieu.

  {90,89,92,91,5} signifie: 73,4 {90,89,92,91,5} médiane: 90   pré > 

Cela pourrait vous être utile, je ne sais pas.

You are all missing the point. It has nothing to do with the mean, median, mode, stdev etc.Consider this: you have {1,1,2,3,2,400} avg = 68.17but what we want is:{1,1,2,3,2,400} avg = 1.8 //minus the [400] valueWhat do you call that?
AilietondwCMT - they are not all missing the point. What you say needs to be defined using generic terms. You cannot go with a single example. Without general definitions, if 400 is 30 is it still an outlier? And if it is 14? And 9? Where do you stop? You need stddev's, ranges, quartiles, to do that.
Mr Fooz
2009-02-02 20:24:58 UTC
view on stackexchange narkive permalink

Pour un nom très spécifique, vous devrez spécifier le mécanisme de rejet des valeurs aberrantes. Un terme général est «robuste».

dsimcha mentionne une approche: le rognage. Un autre est l'écrêtage: toutes les valeurs en dehors d'une plage de valeur connue sont ignorées.

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

Il n'y a pas de nom officiel à cause des divers mécanismes, tels que le test Q, utilisés pour se débarrasser des valeurs aberrantes.

La suppression des valeurs aberrantes s'appelle rognage.

Aucun programme que j'ai jamais utilisé n'a average () avec un trim intégré ()

`mean()` in R has a trim argument http://stat.ethz.ch/R-manual/R-devel/library/base/html/mean.html
Lors de la coupe, vous ne supprimez pas les valeurs aberrantes;vous ne les incluez tout simplement pas dans le calcul."Supprimer" peut suggérer que les points ne sont plus dans l'ensemble de données.Et vous ne les supprimez pas (ou ne les ignorez pas) car ce sont des valeurs aberrantes;le critère est (généralement) simplement qu'ils sont dans une fraction extrême des données.Une valeur non incluse dans une moyenne tronquée n'est souvent que légèrement supérieure (ou inférieure) à la valeur la plus élevée (la plus basse) incluse.
Jason S
2009-02-02 20:25:44 UTC
view on stackexchange narkive permalink

Je ne sais pas s'il a un nom, mais vous pouvez facilement trouver un certain nombre d'algorithmes pour rejeter les valeurs aberrantes:

  1. Trouvez tous les nombres entre le 10e et le 90e centiles (faites-le en triant puis en rejetant les premiers $ N / 10 $ et les derniers $ N / 10 $) et prenez la valeur moyenne des valeurs restantes.

  2. Trier les valeurs , rejetez les valeurs hautes et basses tant que, ce faisant, la moyenne / l'écart type change de plus de $ X \% $.

  3. Trier les valeurs, rejeter les valeurs hautes et basses comme tant que ce faisant, les valeurs en question sont plus de $ K $ d'écart-type par rapport à la moyenne.

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

La façon la plus courante d'avoir une moyenne Robuste (le mot habituel signifiant résistant aux mauvaises données) est d'utiliser la médiane . Ce n'est que la valeur du milieu dans la liste triée (à mi-chemin entre les deux valeurs du milieu), donc pour votre exemple, ce serait 90,5 = mi-chemin entre 90 et 91.

Si vous voulez vraiment dans des statistiques robustes (telles que des estimations robustes de l'écart type, etc.) Je recommanderais de perdre le code au groupe AGORAS, mais cela peut être trop avancé pour vos besoins.

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

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

Comment décrivez-vous cette moyenne dans les statistiques? ...

Il n'y a pas de désignation spéciale pour cette méthode. Appelez-le comme vous le souhaitez, à condition que vous disiez toujours au public comment vous êtes arrivé à votre résultat, et que vous ayez les valeurs aberrantes en main pour leur montrer s'ils le demandent (et croyez-moi: ils le demanderont).

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

Si tout ce que vous avez est une variable (comme vous l'impliquez), je pense que certains des répondants ci-dessus sont trop critiques à l'égard de votre approche. Il est certain que d'autres méthodes qui examinent des choses comme l'effet de levier sont plus solides d'un point de vue statistique; cependant, cela implique que vous effectuez une modélisation quelconque. Si vous avez juste par exemple des scores à un test ou l'âge des seniors (cas plausibles de votre exemple), je pense qu'il est pratique et raisonnable de se méfier de la valeur aberrante que vous évoquez. Vous pouvez regarder la moyenne globale et la moyenne tronquée et voir à quel point elle change, mais cela dépendra de la taille de votre échantillon et de l'écart par rapport à la moyenne pour vos valeurs aberrantes.

Avec des valeurs aberrantes comme celles-ci, vous voudrez certainement examiner le processus de génération de données pour comprendre pourquoi c'est le cas. Est-ce une saisie de données ou un coup de chance administratif? Si tel est le cas et que cela n'a probablement aucun rapport avec la valeur réelle réelle (qui n'est pas observée), il me semble parfaitement correct de le couper. S'il s'agit d'une valeur vraie pour autant que vous puissiez le dire, vous ne pourrez peut-être pas la supprimer à moins que vous ne soyez explicite dans votre analyse à ce sujet.

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

J'adore la discussion ici - la moyenne tronquée est un outil puissant pour obtenir une estimation de tendance centrale concentrée au milieu des données.

La seule chose que j'ajouterais est qu'il y a un choix à faire sur la "métrique" à utiliser dans les cas de petites et grandes tailles d'échantillon. Dans certains cas, nous parlons de

  • signifie dans le contexte de grands échantillons en raison du théorème de la limite centrale,
  • Les médianes en tant qu'alternatives robustes pour petits échantillons
  • et coupé signifie aussi robuste aux valeurs aberrantes.

De toute évidence, ce qui précède est une généralisation grossière, mais il existe des articles intéressants qui parlent des familles et des classes d'estimateurs dans les grands et petits échantillons et leurs propriétés. Je travaille en bioinformatique et généralement vous traitez avec de petits échantillons (3-10) généralement dans des modèles de souris, et ce qui ne l'est pas, et cet article donne un bon aperçu technique des alternatives existantes et des propriétés de ces estimateurs.

Restimation robuste dans de très petits échantillons

Il s'agit d'un article hors cours, mais il y en a beaucoup d'autres qui traitent de ces types d'estimateurs. J'espère que cela t'aides.

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

avertissement - cette méthode est ad hoc et sans étude rigoureuse. Utilisez à vos risques et périls :)

Ce que j'ai trouvé assez bon, c'est de réduire la pertinence d'une contribution en points à la moyenne par l'square de son nombre d'écarts-types par rapport à la moyenne mais seulement si le point est plus d'un écart-type de la moyenne.

Étapes:

  1. Calculez la moyenne et l'écart type comme d'habitude.
  2. Recalculez la moyenne, mais cette fois, pour chaque valeur, si elle est plus d'un écart-type de la moyenne réduit sa contribution à la moyenne. Pour réduire sa contribution, divisez sa valeur par le carré de son nombre d'écarts avant d'ajouter au total. De plus, parce qu'il contribue moins, nous devons réduire N, donc soustraire 1-1 / (carré de l'écart des valeurs) de N.
  3. Recalculez l'écart type, mais utilisez cette nouvelle moyenne plutôt que l'ancienne.

exemple: stddev = 0,5 moyenne = 10 valeur = 11

alors, écarts = distance de la moyenne / stddev = | 10-11 | /0.5 = 2

donc la valeur passe de 11 à 11 / (2) ^ 2 = 11/4

également N change, il est réduit à N-3/4.

code:

  par défaut moyenne (données):
    "" "Renvoie l'exemple de moyenne arithmétique des données." ""
    n = len (données)
    si n < 1:
        lever ValueError ('mean requiert au moins un point de données')
    return 1.0 * sum (data) / n # en Python 2 utiliser sum (data) / float (n)

def _ss (données):
    "" "Renvoie la somme des écarts carrés des données de séquence." ""
    c = moyenne (données)
    ss = somme ((x-c) ** 2 pour x dans les données)
    retour ss, c

def stddev (données, ddof = 0):
    "" "Calcule l'écart type de la population
    par défaut; spécifiez ddof = 1 pour calculer l'échantillon
    écart-type."""
    n = len (données)
    si n < 2:
        lever ValueError ('la variance nécessite au moins deux points de données')
    ss, c = _ss (données)
    pvar = ss / (n-ddof)
    retourne pvar ** 0,5, c

def rob_adjusted_mean (valeurs, s, m):
    n = 0,0
    tot = 0,0
    pour v en valeurs:
        diff = abs (v - m)
écarts = diff / s
        si écarts > 1:
            # c'est une valeur aberrante, alors réduisez sa pertinence / pondération par carré de son nombre d'écarts
            n + = 1,0 / écarts ** 2
            tot + = v / écarts ** 2
        autre:
            n + = 1
            tot + = v
    retour tot / n

def rob_adjusted_ss (valeurs, s, m):
    "" "Renvoie la somme des écarts carrés des données de séquence." ""
    c = rob_adjusted_mean (valeurs, s, m)
    ss = somme ((x-c) ** 2 pour x en valeurs)
    retour ss, c

def rob_adjusted_stddev (données, s, m, ddof = 0):
    "" "Calcule l'écart type de la population
    par défaut; spécifiez ddof = 1 pour calculer l'échantillon
    écart-type."""
    n = len (données)
    si n < 2:
        lever ValueError ('la variance nécessite au moins deux points de données')
    ss, c = rob_adjusted_ss (données, s, m)
    pvar = ss / (n-ddof)
    retourne pvar ** 0,5, c

s, m = stddev (valeurs, ddof = 1)
imprimer s, m
s, m = rob_adjusted_stddev (valeurs, s, m, ddof = 1)
imprimer s, m
 

sortie avant et après ajustement de mes 50 mesures:

  0.0409789841609 139.04222
0,0425867309757 139,030745443
 

enter image description here

Pourquoi cela pourrait-il être meilleur que les méthodes traditionnelles?
Merci, je ne connais pas cette approche.La division par le carré d'un écart peut produire des résultats inhabituels lorsque les écarts sont <| 1 |.Existe-t-il une base théorique pour cette méthode?
J'ai mentionné de ne le faire que pour les valeurs où l'écart type est supérieur à 1, ce qui, selon l'inégalité de Chebyshev, ce n'est pas très souvent que les valeurs seront radicalement affectées.
Je ne sais pas si cette technique a déjà été utilisée, je serais surpris qu'elle ne l'ait pas été auparavant car elle semble assez intuitive.Je l'utilise pour informer les travailleurs d'usine des violations des règles Nelson sur les produits dans les lignes de production.Il semble réduire le nombre de violations signalées mais semble toujours trouver les violations critiques.Les règles Nelson concernent plusieurs valeurs dans une ligne supérieures ou inférieures à 1 stddev, ou un plus petit nombre de points étant 2stddev ou 3stddev. @MichaelChernick Je ne suis pas familier avec les méthodes traditionnelles, Winsored semble intéressant, peut donner des résultats différents dans les événements de cygne noir.
Je ne parlais pas du * nombre * de SD, exactement.Imaginez un cas où le SD = 0,3 et un écart est de 0,54.Alors la déviation est> 1SD, mais quand vous divisez par le carré de la SD, vous divisez .54 / .3 ^ 2 = .54 / .09 = 6. C'est-à-dire que la déviation est maintenant plus grande b / c de l'ajustement,plutôt que d'avoir été réduit.
Bien que cette procédure soit * ad hoc *, dans l'esprit, elle ressemble beaucoup à un [M-estimator] (https://en.wikipedia.org/wiki/M-estimator).Une des raisons des commentaires que vous recevez est que les propriétés de procédures comme celle-ci peuvent être analysées et étudiées et que, en général, l'absence d'une telle étude montre que la procédure n'est pas bien comprise et est probablement inférieure aux autres.Ainsi, il incombe à quiconque propose une nouvelle procédure de caractériser suffisamment ses propriétés pour en permettre une application intelligente et correcte.En l'absence d'une telle caractérisation, les lecteurs devraient hésiter à l'adopter.
@gung Je pense que j'ai eu une faute de frappe - par écart, je voulais dire le nombre d'écarts types.donc si l'écart-type est de 0,3, une valeur doit être supérieure à 0,3 de la moyenne à effectuer.si la distance des valeurs par rapport à la moyenne est de 0,54, alors ses écarts sont de 0,54 / 0,3 = 1,8, et nous diviserions donc par 1,8 ^ 2 = 3,24 et ainsi la valeur sera 1 / 3,24 aussi importante qu'elle l'était auparavant.
@whuber vous avez raison, cette procédure est ad hoc.vous avez raison, les lecteurs devraient hésiter à l'adopter.J'apprécie les commentaires :) Ce serait cool si quelqu'un trouvait un problème avec ma méthode :) - j'ajouterai un avertissement à la réponse
J'admire votre attitude (sérieusement!).Notez cependant que la charge de la preuve incombe à vous.C'est votre travail de démontrer l'exactitude ou l'utilité de votre recommandation (soit par citation, soit par un argument légitime).Il ne nous incombe pas d'effectuer cette analyse.J'ai signalé une théorie qui vous donne un peu d'espoir que cette procédure a de bonnes propriétés, mais c'est une méta-loi générale - mais extrêmement efficace - des statistiques que les procédures * ad hoc * sont inadmissibles jusqu'à preuve du contraire (ce qui signifie simplement qu'il y aune autre procédure qui fonctionne mieux).
Merci pour la clarification, cela a beaucoup plus de sens.
NuclAcc
2018-03-09 02:07:58 UTC
view on stackexchange narkive permalink

Il existe des méthodes supérieures aux méthodes basées sur IQR ou SD. En raison de la présence de valeurs aberrantes, la distribution a probablement déjà des problèmes de normalité (sauf si les valeurs éloignées sont uniformément réparties aux deux extrémités de la distribution). Cela gonfle beaucoup le SD, ce qui rend l'utilisation des SD moins que souhaitable, mais la méthode SD présente certains aspects souhaitables par rapport à la méthode IQR, à savoir que 1,5 fois le IQR est un seuil relativement subjectif. Si la subjectivité dans ces domaines est inévitable, il est préférable de la réduire.

Un identificateur Hampel, quant à lui, utilise des méthodes robustes pour estimer les valeurs aberrantes. Essentiellement, c'est la même chose que la méthode SD, mais vous remplaceriez les moyennes par des médianes et SD par des écarts absolus médians (MAD). Les MAD ne sont que la distance médiane des médias. Ce MAD est multiplié par une constante de mise à l'échelle .675. La formule sort à (X - Médiane) / (. 675 * MAD). La statistique résultante est traitée de manière identique à un score Z. Cela contourne le problème de la non-normalité probable que si vous avez des valeurs aberrantes peuvent être présentes.

Quant à savoir comment l'appeler. Les moyens découpés sont normalement réservés à la méthode de découpage des dix pour cent inférieurs et supérieurs mentionnés par @dsimcha. S'il a été complètement nettoyé, vous pouvez vous y référer comme moyen de nettoyage ou simplement comme moyen. Assurez-vous simplement d'être clair ce que vous en avez fait dans votre article.

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

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

Cela peut être la médiane. Pas toujours, mais parfois. Je n'ai aucune idée de comment cela s'appelle à d'autres occasions. J'espère que cela a aidé. (Au moins un peu.)

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

Mon manuel de statistiques se réfère à cela comme une moyenne d'échantillon par opposition à une moyenne de population. L'échantillon implique qu'une restriction a été appliquée à l'ensemble de données complet, même si aucune modification (suppression) n'a été apportée à l'ensemble de données.

0. Bienvenue sur le site.1. Quel livre?Veuillez donner une référence.2. «Moyenne de l'échantillon» ne se réfère généralement pas à une moyenne obtenue après élimination des valeurs aberrantes.
Ce n'est pas correct.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 2.0 sous laquelle il est distribué.
Loading...