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 :

LM regression linéaire


Sujet :

R

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 122
    Points : 63
    Points
    63
    Par défaut LM regression linéaire
    Bonjour à tous,

    Dans un cadre scolaire, je dois étudier les fameuses données Ozone.

    Dans ces données, il a des données quantitatives et des données qualitatives. Ma question: est-ce que je peux mélanger ces deux types de données dans mon lm ?

    Merci

  2. #2
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Bonjour,

    Comme vous vous en doutez sûrement, cela ne vous aidera pas à progresser que nous fassions vos devoirs à votre place.

    Ce que je vous propose c'est, dans un premier temps, de nous présenter vos données (tout le monde ne connait peut-être pas les "fameuses" données Ozones ) : noms et types des variables, court extrait du jeu de données, ...

    Ensuite, vous pourrez nous dire ce que vous souhaitez faire et quelle(s) analyse(s) statistique(s) vous envisagez d'utiliser pour réaliser cela. Nous pourrons ainsi être à même de vous conseiller des fonctions R appropriées à votre cas particulier.
    De plus, si vous avez essayé quelques manipulations sous R, n'hésitez pas à poster votre code avec les éventuels messages d'erreur.

    Bonne continuation


    Cordialement,

    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 122
    Points : 63
    Points
    63
    Par défaut
    Bien sûr que je ne veux pas que vous fassiez mon devoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ozone=read.table("http://www.agrocampus-ouest.fr/math/livreR/ozone.txt")
    Voici un head qui donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
             maxO3   T9  T12  T15 Ne9 Ne12 Ne15     Vx9    Vx12    Vx15 maxO3v  vent pluie
    20010601    87 15.6 18.5 18.4   4    4    8  0.6946 -1.7101 -0.6946     84  Nord   Sec
    20010602    82 17.0 18.4 17.7   5    5    7 -4.3301 -4.0000 -3.0000     87  Nord   Sec
    20010603    92 15.3 17.6 19.5   2    5    4  2.9544  1.8794  0.5209     82   Est   Sec
    20010604   114 16.2 19.7 22.5   1    1    0  0.9848  0.3473 -0.1736     92  Nord   Sec
    20010605    94 17.4 20.5 20.4   8    8    7 -0.5000 -2.9544 -4.3301    114 Ouest   Sec
    20010606    80 17.7 19.8 18.3   6    6    7 -5.6382 -5.0000 -6.0000     94 Ouest Pluie
    Je voudrais dans un premier temps faire une régression avec toutes les variables. La variable à expliquer étant maxO3.

    Mélangeant variables quantitatives et qualitatives, est-ce que ceci a un sens:
    reg=lm(maxO3~T9+T12+T15+Ne9+Ne12+Ne15+Vx9+Vx12+Vx15+maxO3v+vent+pluie)?

    Dois-je au préalable faire un traitement sur les variables qualitatives pour les mettre au format numérique?

    Le problème est que je ne sais pas trop ce que je fais, je ne maîtrise pas du tout le logiciel et je ne maîtrise pas non plus très très bien tout ça. Mon gros problème dans tout ça, ce sont les variables qualitatives ... J'ai limite envie de les retirer et de les oublier...

    Merci.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 339
    Points
    339
    Par défaut
    Hello,

    Dans R, les variables qualitatives ont le type factor et, sur un data.frame, vous pouvez utiliser la commande str() afin de connaître le type de chaque variable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    > ozone<-read.table("http://www.agrocampus-ouest.fr/math/livreR/ozone.txt")
    > str(ozone)
    'data.frame':	112 obs. of  13 variables:
     $ maxO3 : int  87 82 92 114 94 80 79 79 101 106 ...
     $ T9    : num  15.6 17 15.3 16.2 17.4 17.7 16.8 14.9 16.1 18.3 ...
     $ T12   : num  18.5 18.4 17.6 19.7 20.5 19.8 15.6 17.5 19.6 21.9 ...
     $ T15   : num  18.4 17.7 19.5 22.5 20.4 18.3 14.9 18.9 21.4 22.9 ...
     $ Ne9   : int  4 5 2 1 8 6 7 5 2 5 ...
     $ Ne12  : int  4 5 5 1 8 6 8 5 4 6 ...
     $ Ne15  : int  8 7 4 0 7 7 8 4 4 8 ...
     $ Vx9   : num  0.695 -4.33 2.954 0.985 -0.5 ...
     $ Vx12  : num  -1.71 -4 1.879 0.347 -2.954 ...
     $ Vx15  : num  -0.695 -3 0.521 -0.174 -4.33 ...
     $ maxO3v: int  84 87 82 92 114 94 80 99 79 101 ...
     $ vent  : Factor w/ 4 levels "Est","Nord","Ouest",..: 2 2 1 2 3 3 3 2 2 3 ...
     $ pluie : Factor w/ 2 levels "Pluie","Sec": 2 2 2 2 2 1 2 2 2 2 ...
    La fonction read.table() a assigné automatiquement un type à chaque variable et la première chose à faire est de vérifier si c'est bien correct. Afin de modifier, utilisez les commandes as.numeric() , as.factor(), ... Allez voir l'aide de R.

    Pour le modèle linéaire, non il n'est pas nécessaire de transformer les variables qualitatives en quantitatives. Allez pour vous mettre sur la piste, un petit exemple...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    > ozone<-read.table("http://www.agrocampus-ouest.fr/math/livreR/ozone.txt")
    > summary(lm(maxO3~.,data=ozone))
    
    Call:
    lm(formula = maxO3 ~ ., data = ozone)
    
    Residuals:
        Min      1Q  Median      3Q     Max 
    -51.814  -8.695  -1.020   7.891  40.046 
    
    Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 16.26536   15.94398   1.020   0.3102    
    T9           0.03917    1.16496   0.034   0.9732    
    T12          1.97257    1.47570   1.337   0.1844    
    T15          0.45031    1.18707   0.379   0.7053    
    Ne9         -2.10975    0.95985  -2.198   0.0303 *  
    Ne12        -0.60559    1.42634  -0.425   0.6721    
    Ne15        -0.01718    1.03589  -0.017   0.9868    
    Vx9          0.48261    0.98762   0.489   0.6262    
    Vx12         0.51379    1.24717   0.412   0.6813    
    Vx15         0.72662    0.95198   0.763   0.4471    
    maxO3v       0.34438    0.06699   5.141 1.42e-06 ***
    ventNord   0.53956   6.69459  0.081  0.9359    
    ventOuest  5.53632   8.24792  0.671  0.5037    
    ventSud    5.42028   7.16180  0.757  0.4510    
    pluieSec     3.24713    3.48251   0.932   0.3534    
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
    
    Residual standard error: 14.51 on 97 degrees of freedom
    Multiple R-squared: 0.7686,	Adjusted R-squared: 0.7352 
    F-statistic: 23.01 on 14 and 97 DF,  p-value: < 2.2e-16
    La variable vent est un facteur de 4 niveaux et, dans cette exemple, R a créé automatiquement 3 variables: ventNord , ventOuest et ventSud. Le niveau est est ici la référence et le coefficient 5.42028 de la variable ventSud signifie que, comparé à un vent d'est et si toutes les autres variables du modèle restent fixe, si le vent vient du sud alors il y aura en moyenne une augmentation de 5.42 du niveau de maxO3. Voilà, bonne continuation... Mais attention, à la p-valeur des coefficients!

    A++

Discussions similaires

  1. Scoring avec une regression linéaire
    Par n3mrod dans le forum SAS STAT
    Réponses: 7
    Dernier message: 10/06/2015, 15h48
  2. Regression linéaire passant par zéro
    Par gossetad dans le forum MATLAB
    Réponses: 2
    Dernier message: 06/09/2011, 17h54
  3. Regression linéaire - polyfit
    Par christophe_halgand dans le forum MATLAB
    Réponses: 4
    Dernier message: 17/02/2011, 08h13
  4. Réponses: 0
    Dernier message: 21/03/2008, 13h51

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