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 :

Transformation de variables en log(Y)


Sujet :

R

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Transformation de variables en log(Y)
    Bonjour tout le monde !

    J'ai fait l'anova à un facteur pour une variable qualitative et quantitative avec un total de 29 individus.
    J'ai importé mon tableau Excel puis j'ai commencé par tester la normalité, et j'ai obtenu ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    normalityTest(~SAU, test="shapiro.test", data=SAUCHGTS)
    Shapiro-Wilk normality test
    data:  SAU
    W = 0.61451, p-value = 0.0000001542
    p-value inférieure à 0,05 => on rejette H0

    J'ai quand même fait le test de Bartlett pour l'homogénéité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    bartlett.test(SAU ~ Niveau.de.changement.3.dernières.années.mucuna.et.stylosanthes, data=SAUCHGTS)
    Bartlett test of homogeneity of variances
    data:  SAU by Niveau.de.changement.3.dernières.années.mucuna.et.stylosanthes
    Bartlett's K-squared = 14.769, df = 1, p-value = 0.0001215
    On rejette l'hypothèse H0 (p-value inférieur à 0,05), il n'y a pas d'égalité entre les variances.

    J'ai aussi fait le test de Levene

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    leveneTest(SAU ~ Niveau.de.changement.3.dernières.années.mucuna.et.stylosanthes, data=SAUCHGTS, center="median")
    Levene's Test for Homogeneity of Variance (center = "median")
          Df F value Pr(>F)
    group  1  2.0922 0.1596
          27
    La p-value est supérieure à 0,05 donc on rejette H0...

    On m'a recommandé de transformer ma variable à expliquer en log(Y), mais je ne sais pas DU TOUT comment ça se traduit en pratique, je veux dire, j'écris quoi sur le script de R pour transformer mes variables ?
    J'utilise R (R 3.3.3 GUI 1.69 Mavericks build (7328) avec un mac 10.12.6

    Quelqu'un peut-il m'aider s'il vous plait ? Je suis nulle dans l'utilisation de R ! Merci !

  2. #2
    Membre averti
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Points : 343
    Points
    343
    Par défaut
    Bonjour,

    Une transformation log(Y) dans le jargon statistique, c'est transformer ta variable étudiée en log. C'est-à-dire qu'au lieu d'étudier Y, tu vas étudier log(Y).

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Y = exp(rnorm(100,mean=5,sd=0.5)) # Simulation d'une variable 
     
    shapiro.test(Y) # test de normalité sur Y p.value < 0.05 on rejette la normalité 
     
    shapiro.test(log(Y)) # test de normalité sur log(Y) p.value > 0.05 alors on ne rejette pas la normalité.
    L'idée donc est de travailler avec la transformation de Y en log plutôt que Y pour pouvoir réaliser des tests ou des modèles où la normalité est une hypothèse importante. Ca peut être une autre transformation des fois en racine, polynôme, exp ou autre.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    BOnjour et merci infiniment marou1991 !

    Alors voici ce que j'ai obtenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Shapiro-Wilk normality test
     
    data:  log10(SAU)
    W = 0.90897, p-value = 0.01617 # p.value < 0.05 on rejette la normalité
    J'ai quand même fait le test de Bartlett pour l'homogénéité des variances :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Bartlett test of homogeneity of variances
     
    data:  log10(SAU) by Niveau.de.changement.3.dernières.années.mucuna.et.stylosanthes
    Bartlett's K-squared = 3.6913, df = 1, p-value = 0.0547
    Du coup, p.value > 0.05 il y a égalité des variances, non ? Que puis-je faire, s'il vous plait ? Un autre test non paramétrique ?

  4. #4
    Membre averti
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Points : 343
    Points
    343
    Par défaut
    Bonjour,

    c'est quoi l’intérêt de cette études?

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonjour marou1991,

    Merci de répondre, l'intérêt de cette étude est de voir si on peut mettre en relation la surface agricole utile (SAU) et le niveau de changement technique (sur deux espèces végétales). J'avais cru lire que le test non paramétrique de Kruskal-Wallis peut être intéressant (à savoir que j'ai 29 variables au total)

  6. #6
    Membre averti
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Points : 343
    Points
    343
    Par défaut
    Bonjour,

    tu veux dire 29 observations et deux variables ? SAU la variable quantitative et le niveau de changement comme variables quantitative ? Si c'est le cas, Le test de Kruskall-Wallis est un test statistique utilisé à la place de l’ANOVA lorsque les données sont non-paramétriques. Il permet en outre de comparer plusieurs échantillons de différentes tailles et d’identifier s’il existe une différence significative.

    H0 : il n'y a pas de différences significatives
    H1 : il y a une différences significatives entre les échantillons. ou plus précieusement il existe au moins un échantillon différents des autres échantillons.
    On rejette H0 si p.value < 0.05

    Niveau graphique tu peux déjà regarder des boxplot de ton échantillon. Ta aussi un petit échantillon de 29 observations il faut se poser la question est-ce que c'est un échantillon significatif ! Même sans normalité le test Anova peut révéler des choses !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    kruskal.test(SAU ~ Niveau.de.changement.3.dernières.années.mucuna.et.stylosanthes, data=SAUCHGTS)
    Bon courage.

  7. #7
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci infiniment Marou1991, pour ta perspicacité et ta réactivité ! Tu n'imagines pas à quel point, tu m'as aidé. Je penserai à toi dans les remerciements de mon mémoire !!!


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transformation de variables $_GET et $_POST
    Par Sayrus dans le forum Langage
    Réponses: 3
    Dernier message: 21/02/2008, 22h23
  2. ne pas transformer \ en \\ ? & variables hexa-ascii
    Par vincentweb dans le forum Général Python
    Réponses: 8
    Dernier message: 21/07/2006, 22h35
  3. Comment transformer une variable en fichier
    Par TuRn3r dans le forum C++
    Réponses: 4
    Dernier message: 21/04/2006, 14h25
  4. Réponses: 3
    Dernier message: 23/02/2006, 09h37
  5. [DEBUTANT] Transformer une variable Double en STring
    Par Battosaiii dans le forum Langage
    Réponses: 6
    Dernier message: 13/06/2005, 16h43

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