IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Détection des valeurs aberrantes


Sujet :

R

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Détection des valeurs aberrantes
    Bonjour,

    Je suis étudiante en Master en Science Economique et dans le cadre d'un travail, j'utilise R afin d'analyser des données multivariées.

    En essayant de détecter les valeurs aberrantes, figurantes dans ma base de données, via la méthode MCD (Minimum Covariance Determinant), R m'affiche le message suivant : "Erreur dans solve.default(cov, ...) : le système est numériquement singulier : conditionnement de la réciproque = 4.82377e-19"

    Pourriez-vous m'expliquer le problème et m'aider à le résoudre?

    Merci d'avance

    PS : Voici les codes que j'ai insérés dans R :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    data<-read.table(“C:/R/TEXT/MCD/MONDE.txt”,header=T, dec=",")
    library("MASS")
    cov.mcd(data)

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    Salut,
    je pense que tu as des problèmes de colinéarité (voir de multicolinéarité) dans tes données. la fonction "cov.mcd" utilise l'inverse de la matrice de variance-covariance. Pour palier à ce problème je te conseille de faire d'utiliser la fonction vif "variation inflation factor" (librarie MASS) après avoir fait une régression linéaire. Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    library(MASS)
    lm.obj <- lm((une de tes variables numérique)~.,data=("tes données"))
    vif.lm <- vif(lm.obj)
    vif.lm
    le vif de chacune de tes variables ne dois pas dépasser 10 (il faut supprimer les variables dont le vif dépasse 10)pour ne pas avoir de problèmes dans "cov.mcd".
    voilà voilà

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Salut Cyberboy00,

    merci beaucoup, je te suis vraiment reconnaissante, ça a vraiment bien marché, c'est super. Dans ma base de données, il y avait 38 variables mais le vif était supérieur à 10 pour 5 d'entre elles.

    J'ai même trouvé une belle interprétation sur Wikipédia afin de justifier mon recours à la méthode vif (http://en.wikipedia.org/wiki/Variance_inflation_factor).

    Encore merci.

    PS : j'ai fait 2 petites modifications dans l'exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    library(car)
    lm.obj <- lm((une de tes variables numérique)~.,data=tes données)
    vif.lm <- vif(lm.obj)
    vif.lm

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    De rien.

Discussions similaires

  1. Détection de valeurs aberrantes
    Par jeff6868 dans le forum R
    Réponses: 9
    Dernier message: 27/04/2014, 18h01
  2. accesseurs retournant des valeurs aberrantes
    Par bl4cksky dans le forum Débuter
    Réponses: 6
    Dernier message: 13/09/2013, 22h26
  3. Réponses: 3
    Dernier message: 18/08/2009, 14h24
  4. Réponses: 1
    Dernier message: 13/03/2007, 09h52
  5. Détection des changements de valeur
    Par blister58 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 28/07/2006, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo