Est-ce de la triche de laisser tomber les valeurs aberrantes basées sur la boîte à moustaches de l'erreur absolue moyenne pour améliorer un modèle de régression


15

J'ai un modèle de prédiction testé avec quatre méthodes, comme vous pouvez le voir dans la figure ci-dessous. L'attribut prédit par le modèle est compris entre 0 et 8.

Vous pouvez remarquer qu'il existe une valeur aberrante supérieure et trois valeurs aberrantes inférieures indiquées par toutes les méthodes. Je me demande s'il est approprié de supprimer ces instances des données? Ou est-ce une sorte de tricherie pour améliorer le modèle de prédiction?

entrez la description de l'image ici


1
(1) Je vois des résultats pour quatre méthodes, pas trois. (2) Comment la suppression des preuves des capacités de prédiction pourrait-elle améliorer les méthodes?
whuber

@whuber (1) est fixe. Pour le (2), vous voulez donc dire supprimer une instance qui est très imprécise, ne conduirait pas à de meilleures performances de prédiction dans l'ensemble (c'était ce que je voulais dire par "améliorer le modèle" ?
renakre

7
supprimer une observation pour une raison quelconque (disons les 4 points les moins bien ajustés) est en soi un choix de modèle. Vous devez évaluer la performance de prévision de ce deuxième choix de modèle aussi . Le point saillant est de préserver l'intégrité de l'ensemble de test final utilisé pour évaluer les performances de la méthode de prédiction globale. Il ne ressort pas clairement de votre question si vous envisagez de réaménager les modèles (Lasso, etc.) après la suppression des données mal prédites.
user603

2
En guise de remarque secondaire, j'ajouterais qu'une grande valeur est parfois cachée dans les valeurs aberrantes et qu'il vaut la peine de les examiner attentivement.
Dror Atariah

@DrorAtariah Merci Dror, je suis d'accord. Les cas extrêmes sont précieux.
renakre

Réponses:


22

C'est presque toujours une triche de supprimer des observations pour améliorer un modèle de régression. Vous ne devez supprimer des observations que lorsque vous pensez vraiment qu'il s'agit en fait de valeurs aberrantes.

Par exemple, vous avez des séries chronologiques provenant du moniteur de fréquence cardiaque connecté à votre montre intelligente. Si vous regardez la série, il est facile de voir qu'il y aurait des observations erronées avec des lectures comme 300bps. Ceux-ci doivent être supprimés, mais pas parce que vous souhaitez améliorer le modèle (quoi que cela signifie). Ce sont des erreurs de lecture qui n'ont rien à voir avec votre fréquence cardiaque.

Une chose à faire attention cependant est la corrélation des erreurs avec les données. Dans mon exemple, on pourrait faire valoir que vous avez des erreurs lorsque le moniteur de fréquence cardiaque est déplacé pendant des exercices tels que courir ou sauter. Ce qui rendra ces erreurs corrélées avec le taux de hart. Dans ce cas, il faut veiller à éliminer ces valeurs aberrantes et erreurs, car elles ne sont pas aléatoires

Je vais vous donner un exemple composé de quand ne pas supprimer les valeurs aberrantes . Disons que vous mesurez le mouvement d'un poids sur un ressort. Si le poids est petit par rapport à la force du poids, alors vous remarquerez que la loi de Hooke fonctionne très bien: F est la force, k - le coefficient de tension et Δ x est la position du poids .

F=-kΔX,
FkΔX

Maintenant, si vous mettez un poids très lourd ou déplacez trop le poids, vous commencerez à voir des écarts: à des déplacements suffisamment importants le mouvement semblera s'écarter du modèle linéaire. Ainsi, vous pourriez être tenté de supprimer les valeurs aberrantes pour améliorer le modèle linéaire. Ce ne serait pas une bonne idée, car le modèle ne fonctionne pas très bien car la loi de Hooke n'est approximativement correcte.ΔX

MISE À JOUR Dans votre cas, je suggère de tirer ces points de données et de les regarder de plus près. Serait-ce une défaillance d'un instrument de laboratoire? Interférence externe? Échantillon défectueux? etc.

Essayez ensuite d'identifier si la présence de ces valeurs aberrantes pourrait être corrélée avec ce que vous mesurez comme dans l'exemple que j'ai donné. S'il y a corrélation, il n'y a pas de moyen simple de s'y prendre. S'il n'y a pas de corrélation, vous pouvez supprimer les valeurs aberrantes


2
It is always a cheating to remove outliers to improve a regression model. Considérez-vous la régression spline comme de la triche ? FWIW, il effectue des observations de pondération afin d'améliorer le modèle de régression [local] ~
user603

1
Je ne serais pas d'accord "C'est toujours une tricherie de supprimer les valeurs aberrantes pour améliorer un modèle de régression." il existe de nombreux outils pour effectuer des diagnostics de régression, dont le but est de détecter et de «supprimer» les valeurs aberrantes et de réaménager le modèle.
Haitao Du

6
@ hxd1011 les outils tels que Grubbs ne doivent pas supprimer automatiquement les valeurs aberrantes. Ils indiquent seulement qu'il pourrait y avoir une valeur aberrante, puis vous décidez si c'est vraiment une valeur aberrante. C'est une approche très dangereuse pour améliorer les diagnostics d'ajustement en supprimant automatiquement les valeurs aberrantes. Vous devez les analyser au cas par cas.
Aksakal

2
D'accord, je comprends. Ma langue d'origine était trop rigide. J'ai édité la phrase d'ouverture. Merci pour les commentaires des commentateurs
Aksakal

1
@renakre, si vous ne pensez pas que ce sont des valeurs aberrantes, alors ne supprimez pas les observations. Cependant, vous devrez peut-être prendre en compte la mesure de la qualité des prévisions autres que l'erreur quadratique. Par exemple, si ces instances ne sont pas si importantes pour vous, alors vous n'avez peut-être pas besoin de les pondérer au carré, et d'utiliser à la place un écart absolu, etc. La mesure doit refléter l'importance des erreurs de prévision, telles que les pertes en dollars sur chaque erreur de prédiction . De plus, le fait qu'il s'agisse de décomptes ne signifie pas automatiquement qu'il n'y a pas d'erreurs d'instrument, les plugins de page Web qui comptent les clics peuvent échouer
Aksakal

4

À l'origine, je voulais publier ce commentaire en tant que commentaire dans une autre réponse, mais cela a pris trop de temps pour s'adapter.

Quand je regarde votre modèle, il ne contient pas nécessairement un grand groupe et quelques valeurs aberrantes. À mon avis, il contient 1 groupe de taille moyenne (1 à -1) puis 6 petits groupes, chacun trouvé entre 2 nombres entiers. Vous pouvez voir assez clairement que lorsque vous atteignez un nombre entier, il y a moins d'observations à ces fréquences. Le seul point spécial est 0, où il n'y a pas vraiment de baisse perceptible des observations.

À mon avis, cela vaut la peine d'expliquer pourquoi cette distribution est répartie comme suit:

  • Pourquoi la distribution fait-elle baisser le nombre d'observations en nombres entiers?
  • pourquoi ce décompte des observations ne se produit-il pas à 0?
  • Quelle est la particularité de ces valeurs aberrantes qu'elles sont aberrantes?

Lorsque vous mesurez des actions humaines discrètes, vous aurez toujours des valeurs aberrantes. Il peut être intéressant de voir pourquoi ces valeurs aberrantes ne correspondent pas à votre modèle et comment elles peuvent être utilisées pour améliorer les itérations futures de votre modèle.


+1. L'écart entre les nombres entiers ne semble pas toujours être juste sur les nombres entiers, donc il se peut que nous soyons plus nombreux à voir un modèle qui n'existe pas, mais cela pourrait être un artefact de collecte de données, de codage ou de discrétisation qui pourrait faire la lumière sur les données dans leur ensemble. Il peut même y avoir un écart à 0 qui est obscurci par le grand nombre de points qui se chevauchent et peut-être tremblent. Il vaut vraiment la peine de revenir à l'origine pour voir si les données sont ce que nous pensons être.
Wayne

2

Il y a des avantages et des inconvénients à supprimer les valeurs aberrantes et à créer un modèle pour le «modèle normal» uniquement.

  • Avantages: les performances du modèle sont meilleures. L'intuition est que, il est très difficile d'utiliser UN modèle pour capturer à la fois le «modèle normal» et le «modèle aberrant». Nous supprimons donc les valeurs aberrantes et disons que nous construisons uniquement un modèle pour le «modèle normal».

  • Inconvénients: nous ne serons pas en mesure de prédire les valeurs aberrantes. En d'autres termes, supposons que nous mettions notre modèle en production, il y aurait des prédictions manquantes du modèle

Je suggère de supprimer les valeurs aberrantes et de créer le modèle, et si possible, essayez de créer un modèle distinct pour les valeurs aberrantes uniquement.

Pour le mot «tricherie», si vous écrivez du papier et indiquez explicitement comment définir et supprimer les valeurs aberrantes, et que la mention amélioration des performances concerne uniquement les données propres. Ce n'est pas de la triche.


3
Cela ne me dérange pas d'être sous-voté, mais quelqu'un pourrait-il m'en dire la raison?
Haitao Du

J'ai voté positivement :) Pensez-vous également que c'est une bonne idée de supprimer les valeurs aberrantes, puis de rééchantillonner les données pour tester davantage le modèle de prédiction?
renakre

1
@renakre, je vous suggère de réfléchir à ce qu'il faut faire en production. Disons que si vous trouvez que la valeur aberrante n'est que de 1%, et qu'il est bon de ne produire aucun produit en production. Retirez-les ensuite. Si vous avez trouvé une valeur aberrante de 30%, et ce n'est pas OK d'ignorer les prévisions en production. Essayez ensuite d'avoir un modèle distinct pour cela.
Haitao Du

Nous testons principalement des choses pour voir si nous pouvons prédire une variable de résultat. Ça if it is fine to produce no output in productionveut dire la même chose? Donc, si nous commençons à utiliser notre modèle dans une application réelle pour tester la variable de résultat et utiliser le score prévu dans l'application, il ne serait pas correct de supprimer les valeurs aberrantes (surtout si elles sont nombreuses comme vous l'avez mentionné)? Est-ce que c'est ce que vous vouliez dire?
renakre

1
@renakre Vous êtes mort! C'est ce que nous avons fait récemment avec AITOBOX où les limites de prévision ne sont pas seulement basées sur les poids psi mais les erreurs rééchantillonnées remplies de valeurs aberrantes. Cela se fait non seulement pour les modèles ARIMA mais aussi pour les modèles causaux où l'incertitude des prédicteurs est également incorporée de manière similaire.
IrishStat

2

Je pense qu'il n'est raisonnable de supprimer les valeurs aberrantes que si l'on a une bonne raison qualitative de le faire. J'entends par là que l'on dispose d'informations qu'une autre variable, qui n'est pas dans le modèle, a un impact sur les observations aberrantes. Ensuite, on a le choix de supprimer la valeur aberrante ou d'ajouter des variables supplémentaires.

Je constate que lorsque j'ai des observations aberrantes dans mon ensemble de données, en étudiant pour déterminer pourquoi la valeur aberrante existe, j'en apprends davantage sur mes données et sur d'autres modèles possibles à considérer.


1
Bienvenue sur stats.SE! Veuillez prendre un moment pour voir notre visite . Il serait utile que vous développiez votre réponse pour répondre plus complètement à la question (comme la détermination des valeurs aberrantes basée sur le boxplot, les impacts que cette méthode peut avoir sur le modèle de prédiction, etc.).
Tavrock

2

Je ne suis même pas convaincu qu'ils soient des "valeurs aberrantes". Vous voudrez peut-être chercher à faire un tracé de probabilité normal. S'agit-il de données ou de résidus d'ajustement d'un modèle?


ils sont la différence entre les valeurs prévues et réelles.
renakre
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.