Comment les valeurs aberrantes devraient-elles être traitées dans l'analyse de régression linéaire?

73

Souvent, un analyste statistique se voit remettre un ensemble de données et se voit demander d’ajuster un modèle à l’aide d’une technique telle que la régression linéaire. Très souvent, le jeu de données est accompagné d'un avertissement similaire à celui-ci: "Oh oui, nous nous sommes trompés en collectant certains de ces points de données - faites ce que vous pouvez".

Cette situation conduit à des crises de régression fortement influencées par la présence de données aberrantes pouvant être des données erronées. Compte tenu de ce qui suit:

  • Il est dangereux, d'un point de vue scientifique et moral, de publier des données pour une raison autre que celle-ci: "cela donne une mauvaise image".

  • Dans la vie réelle, les personnes qui ont collecté les données ne sont souvent pas disponibles pour répondre à des questions telles que "lors de la génération de cet ensemble de données, quels points avez-vous ratés, exactement?"

Quels tests statistiques ou règles empiriques peuvent être utilisés comme base pour exclure les valeurs aberrantes dans l'analyse de régression linéaire?

Existe-t-il des considérations spéciales pour la régression multilinéaire?

Sharpie
la source
En relation: possible dupe de ceci: stats.stackexchange.com/questions/37865/… | R howto: stats.stackexchange.com/questions/53227/…
Ciro Santilli a commencé à jouer du

Réponses:

33

Plutôt que d’exclure les valeurs aberrantes, vous pouvez utiliser une méthode de régression robuste. Dans R, par exemple, la rlm()fonction du package MASS peut être utilisée à la place de la lm()fonction. La méthode d'estimation peut être ajustée pour être plus ou moins robuste aux valeurs aberrantes.

Rob Hyndman
la source
Si vous utilisez la fonction rlm (), je vois que les coefficients et leurs tests t sont produits. Mais comment puis-je obtenir le f-test, les valeurs de R-carrés d'ici? Je suppose que je ne peux pas simplement extraire ces valeurs f-test et R square des résultats résumés simples 'lm' si je suis correct.
Eric
1
Pour une régression robuste, les hypothèses sur lesquelles repose le test F ne sont plus satisfaites et R ^ 2 peut être défini de plusieurs manières qui ne sont plus équivalentes. Voir stats.idre.ucla.edu/stata/faq/… pour une discussion à ce sujet pour Stata.
Rob Hyndman
Voir aussi stats.stackexchange.com/a/68367/159
Rob Hyndman
Mais je trouve la commande appelée f.robftest du paquet sfsmisc qui donne le résultat du test f. Puis-je utiliser ce résultat pour définir les statistiques de test f pour rlm? De plus, il me semble que j'obtiens R carré en entrant simplement les valeurs dans la formule mathématique R square comme 1 - somme (résidus (rlm (y ~ x)) ^ 2) / somme ((y-mean (y)) ^ 2) . Pour que les valeurs du test t vérifient la signification des coefficients, j’obtiens les valeurs du test t du résumé (rlm (y ~ x)) que je compare aux valeurs t de niveaux de confiance de 95% ou plus. Puis-je utiliser ces méthodes?
Eric
22

Parfois, les valeurs éloignées sont de mauvaises données et doivent être exclues, telles que les fautes de frappe. Parfois, ils sont Wayne Gretzky ou Michael Jordan et doivent être conservés.

Les méthodes de détection des valeurs aberrantes comprennent:

Univarié -> boîte à moustaches. en dehors de 1,5 fois l'intervalle inter-quartile est une valeur aberrante.

Bivarié -> nuage de points avec ellipse de confiance. en dehors de, disons, l'ellipse de confiance à 95% est un cas particulier

Multivarié -> distance de Mahalanobis D2

Marquer ces observations comme des valeurs aberrantes.

Exécutez une régression logistique (sur Y = IsOutlier) pour voir s’il existe des modèles systématiques.

Supprimez ceux pour lesquels vous pouvez démontrer qu'ils ne sont représentatifs d'aucune sous-population.

Neil McGuigan
la source
Et si vous avez encore des valeurs aberrantes, envisagez d'utiliser un modèle différent de celui linéaire. Par exemple, si vous utilisez un modèle avec un comportement semblable à la loi du pouvoir, Michael Jordan n'est plus une valeur aberrante (en termes de capacité du modèle à l'adapter).
drevicko
1
Je suis d’accord avec la majeure partie de ce qui est dit ici, mais j’aimerais ajouter la mise en garde supplémentaire selon laquelle "au- delà de 1,5 fois la fourchette inter-quartile est une valeur aberrante " est une convention et non une règle sans fondement théorique. Il ne doit pas être utilisé pour justifier l'exclusion des points de données.
Réinitialisez Monica le
20

Je pense qu'il y a quelque chose à dire pour exclure simplement les valeurs aberrantes. Une ligne de régression est supposée résumer les données. En raison de l'effet de levier, vous pouvez avoir une situation où 1% de vos points de données affectent la pente de 50%.

Ce n'est que dangereux d'un point de vue moral et scientifique que de ne pas dire à qui que ce soit que vous avez exclu les valeurs aberrantes. Tant que vous les indiquez, vous pouvez dire:

"Cette ligne de régression convient assez bien à la plupart des données. Dans 1% des cas, une valeur ne correspond pas à cette tendance, mais bon, c'est un monde fou, aucun système n'est parfait"

Chris Beeley
la source
1
"Hé, c'est un monde fou, aucun système n'est parfait" +1 pour ça mon ami! :)
bartektartanus
1
Considérons d'autres modèles cependant. Le monde est plein de "données aberrantes" supprimées qui sont des données réelles, ce qui empêche de prédire quelque chose de vraiment important. De nombreux processus naturels ont un comportement semblable à la loi du pouvoir avec des événements extrêmes rares. Les modèles linéaires peuvent sembler correspondre à de telles données (mais pas trop bien), mais en utiliser une et supprimer les "valeurs aberrantes" signifie rater ces événements extrêmes, qu'il est généralement important de connaître!
drevicko
10

Sharpie,

Si vous prenez votre question à la lettre, je dirais qu’il n’existe pas de tests statistiques ni de règles empiriques pouvant servir de base à l’ exclusion des valeurs aberrantes dans l’analyse de régression linéaire (au lieu de déterminer si une observation donnée est aberrante ou non). Cela doit venir de la connaissance de la matière.

Je pense que la meilleure façon de commencer est de demander si les valeurs aberrantes ont un sens, en particulier compte tenu des autres variables que vous avez collectées. Par exemple, est-il vraiment raisonnable que vous ayez une femme de 600 livres dans votre étude, recrutée dans différentes cliniques pour sportifs? Ou n'est-il pas étrange qu'une personne répertorie 55 ans ou une expérience professionnelle alors qu'elle n'a que 60 ans? Et ainsi de suite. Si tout va bien, vous avez alors une base raisonnable pour soit les jeter, soit demander aux compilateurs de données de revérifier les enregistrements pour vous.

Je suggérerais également des méthodes de régression robustes et le compte rendu transparent des observations perdues, comme suggéré respectivement par Rob et Chris.

J'espère que ça aide, Brenden

Brenden
la source
5

Il existe deux mesures statistiques de distance spécialement conçues pour détecter les valeurs éloignées et ensuite déterminer si de telles valeurs doivent être supprimées de votre régression linéaire.

Le premier est la distance de Cook. Vous pouvez trouver une assez bonne explication sur Wikipedia: http://en.wikipedia.org/wiki/Cook%27s_distance .

Plus la distance du cuisinier est grande, plus l'observation est influente (impact sur le coefficient de régression). Le point de coupure typique auquel il faut envisager de supprimer l'observation est une distance de Cook = 4 / n (n est la taille de l'échantillon).

Le deuxième est DFFITS, qui est également bien couvert par Wikipedia: http://en.wikipedia.org/wiki/DFFITS . Le seuil typique pour envisager de supprimer une observation est une valeur DFFITS de 2 fois sqrt (k / n), k étant le nombre de variables et n la taille de l'échantillon.

Les deux mesures donnent généralement des résultats similaires menant à une sélection d'observations similaire.

Sympa
la source
3

Garbage in, garbage out ....

Pour tirer pleinement parti de la régression linéaire, il est implicite que le bruit suit une distribution normale. Idéalement, vous avez principalement des données et un peu de bruit… pas principalement du bruit et un peu de données. Vous pouvez tester la normalité des résidus après l'ajustement linéaire en regardant les résidus. Vous pouvez également filtrer les données d'entrée avant l'ajustement linéaire pour détecter les erreurs évidentes et flagrantes.

Voici quelques types de bruit dans les données en entrée qui ne correspondent généralement pas à une distribution normale:

  • Chiffres manquants ou ajoutés avec des données entrées manuellement (un facteur supérieur ou égal à 10)
  • Unités incorrectes ou converties de manière incorrecte (grammes / kilos / livres; mètres, pieds, kilomètres, km), résultant peut-être de la fusion de plusieurs ensembles de données erreur)
  • Utilisation de codes tels que 0, -1, -99999 ou 99999 pour signifier des valeurs non numériques telles que "non applicable" ou "colonne non disponible" et les transférer dans un modèle linéaire avec des données valides

L'écriture d'une spécification de "données valides" pour chaque colonne peut vous aider à marquer des données non valides. Par exemple, la taille d'une personne en cm devrait être comprise entre 100 et 300 cm. Si vous trouvez 1,8 pour une hauteur qui est une faute de frappe, et bien que vous puissiez supposer qu’elle fait 1,8 m et la modifier en 180, je dirais qu’il est généralement plus sûr de la jeter et de documenter au mieux le filtrage possible.

Paul
la source
1

Pour une régression linéaire, vous pouvez utiliser un ajustement répété de la droite.

lecteur babelproof
la source
0

Tests statistiques à utiliser comme base d'exclusion: - résidus standardisés - statistiques de levier - distance de Cook, qui est une combinaison des deux précédents.

Par expérience, l'exclusion devrait être limitée aux cas de saisie de données incorrecte. La repondération des valeurs aberrantes dans le modèle de régression linéaire est une très bonne méthode de compromis. L'application de ceci dans R est proposée par Rob. Un bon exemple est ici: http://www.ats.ucla.edu/stat/r/dae/rreg.htm

Si une exclusion est nécessaire, «une règle empirique» se rapporte aux statistiques Dfbeta (les mesures changent dans l'estimation lorsque la valeur aberrante est supprimée), de sorte que si la valeur absolue de la statistique DfBeta dépasse 2 / sqrt (n), cela corrobore la suppression de la valeur aberrante.

mkrasmus
la source