Les posteurs les plus actifs de la semaine
joyeux_lapin13
 
zeu
 
gg
 
schlebe
 
zezima
 
Yacouba_KONE
 
rayanes159
 
noviceST
 
Eric Wajnberg
 
Nik
 


Enlever "outliers" ou Normalisation?

Voir le sujet précédent Voir le sujet suivant Aller en bas

Enlever "outliers" ou Normalisation?

Message par HDKalit le Mar 2 Avr 2013 - 13:18

Bonjour tout le monde,

Je réalise une étude sur 100,000 individus et 24 variables explicatives.
Parmi ces variables j'ai des variables relatives à un montant (exprimé en €), des variables relatives à une durée (exprimée en journées), des variables relatives à un nombre d’événements positifs pour chaque individu et enfin 4 variables qualitatives.

Je vais faire une régression logistique sur une variable catégorielle à prédire, et également une comparaison avec un arbre de décision ou autre méthode d'apprentissage supervisé pour avoir des "comparatifs" possible entre méthodes mais la régression logistique me semble le plus adapté.

Lorsque je regarde un premier résumé de mes variables (après avoir enlevé les variables trop corrélées entre elles) je me rends compte qu'il y a quelques valeurs "aberrantes" comme des montants vraiment trop élevés, des durée vraiment trop importante, etc.

Je pensais enlever ces valeurs après un boxplot (sous R ts <- boxplot(); valaberrante <- ts$out en gros) mais ça m'enlève "trop" d'individus qui pour le coup ne sont pas -d'un point de vue métier- des individus extrêmes.
Alors peut être il y a un choix plus judicieux pour enlever les valeurs extrêmes (par exemple ne considérer que ceux qui sont dans le dernier decile ou quelque chose dans le genre) soit je pourrai normaliser mes variables (car bon certaines en €, d'autres en Jours, etc.) ce qui me permettrait de garder mes individus même les plus extrêmes.

Ou alors faire les 2? Enlever les individus réellement extrêmes (comment les définir automatiquement?) puis normaliser quoi qu'il arrive mes données.
L'idée étant de "nier" le moins possible mes données.

Si vous aviez quelques conseils je suis preneur Very Happy

Cordialement,

KaliHD

HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Enlever "outliers" ou Normalisation?

Message par HDKalit le Mer 3 Avr 2013 - 9:59

Bonjour tout le monde,

J'ai choisit d'élaguer les valeurs vraiment trop extrêmes (pas une winsorisation) mais simplement soit les enlever de l'échantillon d'apprentissage soit les supprimer tout simplement.
En gros je prend le 99ème centile et au dessus j'estime que ça n'a plus de "sens" de les inclure. Idem en dessous du 1er centile.
Quoi qu'il arrive ça ne représente même pas 1% de ma population.

Et enfin je choisis de ne pas "standardiser" car (à part pour une interprétation des coefficients plus simples) je n'ai pas intérêt à le faire dans ma régression logistique.
De toute façon après on peut se ramener à des coefficients "interprétable plus facilement" en travaillant directement sur les coefficients obtenus par la régression logistique.

Bien cordialement et en espérant que ça ait aidé d'autres personnes,

KaliHd

HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Enlever "outliers" ou Normalisation?

Message par FS le Mer 3 Avr 2013 - 12:24

Salut,
ton model va servir à faire de la prédiction ou c'est juste pour une analyse ?

FS

Nombre de messages : 163
Date d'inscription : 25/04/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Enlever "outliers" ou Normalisation?

Message par HDKalit le Mer 3 Avr 2013 - 12:25

FS a écrit:Salut,
ton model va servir à faire de la prédiction ou c'est juste pour une analyse ?

Prédiction aussi pourquoi?


HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Enlever "outliers" ou Normalisation?

Message par gg le Mer 3 Avr 2013 - 15:36

Heu...

si tu enlèves le premier et le dernier centile, il te reste 98% de la population par définition.

Cordialement.

gg

Nombre de messages : 1775
Date d'inscription : 10/01/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Enlever "outliers" ou Normalisation?

Message par HDKalit le Mer 3 Avr 2013 - 16:10

gg a écrit:Heu...

si tu enlèves le premier et le dernier centile, il te reste 98% de la population par définition.

Cordialement.

Hé hé Embarassed Embarassed en fait vu que concrètement je faisais ça que pour au dessus du 99ème centile je virais bien 1% ... mais bon vu que j'ai une très grosse population je me suis rabattu sur un choix plus "petit" encore en enlevant uniquement les individus dont la valeur à certaines variables dépassent une valeur n'arrivant qu'une fois sur 10000.

Mais j'hésite quand même à normaliser, notamment pour les prix et les durées qui ont une grosse variabilité ... j'ai peur que ça influe trop sur mon modèle.

Cdlt,

KaliHD

HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Enlever "outliers" ou Normalisation?

Message par gg le Mer 3 Avr 2013 - 20:32

C'est effectivement dangereux d'enlever les valeurs "exceptionnelles". les valeurs manifestement erronées, oui. Mais si on pense aux débits d'une rivière, enlever les valeurs extrêmes, c'est oublier les crues décennales ou centennales et les étiages (plus d'eau); qui sont pourtant les événements majeurs pour la prévision !
A toi de voir dans ton cas particulier.

Cordialement.

gg

Nombre de messages : 1775
Date d'inscription : 10/01/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Enlever "outliers" ou Normalisation?

Message par HDKalit le Jeu 4 Avr 2013 - 8:16

Oui je sais bien pour les valeurs extrêmes ...
Le souci c'est que la régression logistique est assez sensible à ce type de valeurs et donc j'aime pas trop l'idée de mettre ces individus dans l'échantillon d'apprentissage.
D'un autre côté c'est aussi prendre en compte que certains peuvent avoir un comportement exceptionnel ... qui peuvent en plus m'intéresser dans mon modèle de prédiction ...

Est-ce que standardiser mes données est une bonne chose dans ce cas?

Bien cordialement,

KaliHD

HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Enlever "outliers" ou Normalisation?

Message par gg le Jeu 4 Avr 2013 - 9:30

Je ne sais pas ce que tu appelles "standardiser", mais toute transformation des données a des effets parasites qui peuvent enlever tout intérêt aux résultats obtenus.

gg

Nombre de messages : 1775
Date d'inscription : 10/01/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Enlever "outliers" ou Normalisation?

Message par HDKalit le Jeu 4 Avr 2013 - 9:41

Standardiser pour moi c'est "juste" centrer et réduire mes données.

Effectivement je ne voulais pas le faire pour les raisons que tu évoques.
Après il me reste la solution de découper mes variables quanti. en classes pour "diminuer" le poids de ces valeurs extrêmes?

Encore merci pour le partage ici Wink

KaliHD

HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Enlever "outliers" ou Normalisation?

Message par gg le Jeu 4 Avr 2013 - 14:06

Ok !

Centrer réduire ne pose pas particulièrement de problèmes, mais ne change rien aux problèmes de valeurs très éloignées. Elles restent relativement très éloignées !

Le placement en classes n'a d'intérêt que lorsque les valeurs sont imprécises, que les modifier légèrement ne change rien à la réalité. Mais attention aux bornes de classes (par exemple jamais de valeurs d'arrondi, qui peuvent fausser les résultats).

Cordialement.

gg

Nombre de messages : 1775
Date d'inscription : 10/01/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Enlever "outliers" ou Normalisation?

Message par HDKalit le Jeu 4 Avr 2013 - 14:27

gg a écrit:Ok !

Centrer réduire ne pose pas particulièrement de problèmes, mais ne change rien aux problèmes de valeurs très éloignées. Elles restent relativement très éloignées !

Le placement en classes n'a d'intérêt que lorsque les valeurs sont imprécises, que les modifier légèrement ne change rien à la réalité. Mais attention aux bornes de classes (par exemple jamais de valeurs d'arrondi, qui peuvent fausser les résultats).

Cordialement.

Oui pour centrer réduire effectivement ça ne change pas grand chose.

Le placement en classes me permet d'inclure des valeurs très extrêmes dans une classe plus "globale". L'idée étant de faire gaffe à ne pas se retrouver avec des classes où les individus sont tous soit positifs soit négatifs sinon forcément ça biaise la discrimination.

Et donc de découper en classes m'a permis de résoudre un autre problème que j'ai eu plus loin i.e. certaines probabilités prédites sont égales à 1 ou à 0 ou très proches de ces valeurs et du coup ça fait tendre la log-vraisemblance vers l'infini.

Après oui il faut faire attention à ce que ça reste cohérent dans le découpage des classes.

Encore merci,

Cdlt,

KaliHD

HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Enlever "outliers" ou Normalisation?

Message par Contenu sponsorisé Aujourd'hui à 11:34


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum