Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
LM pour expliquer deux variables quantitatives ?
2 participants
Page 1 sur 1
LM pour expliquer deux variables quantitatives ?
Bonjour,
J'espère avoir votre avis concernant ma démarche : Je souhaite expliquer mes deux variables 'conform ' et 'n_conform' (conformité et non conformité à un comportement prédit) par les deux vairable 'Type_space' et 'Longueur'.
voici mon dataset :
Je pensais à une regression linéaire :
Est-ce la meilleure alternative ? Je vois qu'en fait, R, établit deux modèles, un premier avec 'conform' et un autre avec 'n_conform'.
Dans la mesure ou je n'ai qu'un seul p-value signification pour 'n_conform ' , Longueur = L. Puis je déduire la relation entre les deux variables à travers l'Estimate ? l'Estimate est négatif, cela veut dire que pour les 'LongueurL', 'n_conform' diminue . Est-ce correct ?
Merci d'avance de votre aide.
Lenny
J'espère avoir votre avis concernant ma démarche : Je souhaite expliquer mes deux variables 'conform ' et 'n_conform' (conformité et non conformité à un comportement prédit) par les deux vairable 'Type_space' et 'Longueur'.
voici mon dataset :
- Code:
mat=structure(list(Sample = c(4L, 13L, 28L, 37L, 40L, 1L, 10L, 22L,
31L, 7L, 16L, 19L, 25L, 34L, 5L, 14L, 29L, 38L, 41L, 2L, 11L,
23L, 32L, 8L, 17L, 20L, 26L, 35L, 6L, 15L, 30L, 39L, 42L, 3L,
12L, 24L, 33L, 9L, 18L, 21L, 27L, 36L), Type_space = structure(c(3L,
3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L,
3L, 3L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L,
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L), .Label = c("21500", "20900",
"22000"), class = "factor"), conform = c(11, 6, 11, 12, 22, 16,
6, 17, 20, 14, 19, 11, 7, 4, 9, 7, 9, 15, 14, 2, 2, 17, 9, 0,
8, 2, 10, 5, 18, 9, 15, 17, 16, 16, 10, 24, 12, 13, 18, 16, 12,
14), n_conform = c(7, 3, 2, 4, 2, 5, 2, 8, 2, 4, 4, 5, 1, 2,
0, 1, 1, 0, 3, 3, 5, 0, 1, 10, 1, 4, 1, 2, 0, 4, 1, 1, 3, 3,
1, 0, 2, 3, 3, 2, 0, 1), Longueur = structure(c(1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L), .Label = c("C", "L"), class = "factor")), .Names = c("Sample",
"Type_space", "conform", "n_conform", "Longueur"), class = "data.frame", row.names = c(NA,
42L))
Je pensais à une regression linéaire :
- Code:
a1 <- lm(cbind(conform, n_conform) ~ Longueur+ Type_space , data = mat)
> summary(a1)
Response conform :
Call:
lm(formula = conform ~ Longueur + Type_space, data = mat)
Residuals:
Min 1Q Median 3Q Max
-10.1905 -3.3405 0.1036 3.7720 11.8095
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 13.369 2.090 6.397 1.63e-07 ***
LongueurL -1.179 1.890 -0.623 0.537
Type_space20900 -2.383 2.237 -1.066 0.293
Type_space8800 0.150 2.237 0.067 0.947
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 5.775 on 38 degrees of freedom
Multiple R-squared: 0.05361, Adjusted R-squared: -0.02111
F-statistic: 0.7175 on 3 and 38 DF, p-value: 0.5477
Response n_conform :
Call:
lm(formula = n_conform ~ Longueur + Type_space, data = mat)
Residuals:
Min 1Q Median 3Q Max
-2.9619 -1.3190 -0.4524 0.8810 7.6810
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.7619 0.7675 4.901 1.81e-05 ***
LongueurL -1.6429 0.6942 -2.366 0.0232 *
Type_space20900 0.2000 0.8214 0.243 0.8089
Type_space8800 -0.5333 0.8214 -0.649 0.5201
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.121 on 38 degrees of freedom
Multiple R-squared: 0.147, Adjusted R-squared: 0.07967
F-statistic: 2.183 on 3 and 38 DF, p-value: 0.1059
Est-ce la meilleure alternative ? Je vois qu'en fait, R, établit deux modèles, un premier avec 'conform' et un autre avec 'n_conform'.
Dans la mesure ou je n'ai qu'un seul p-value signification pour 'n_conform ' , Longueur = L. Puis je déduire la relation entre les deux variables à travers l'Estimate ? l'Estimate est négatif, cela veut dire que pour les 'LongueurL', 'n_conform' diminue . Est-ce correct ?
Merci d'avance de votre aide.
Lenny
lenny868- Nombre de messages : 48
Date d'inscription : 16/01/2018
Re: LM pour expliquer deux variables quantitatives ?
Je n'ai pas compris. Vous voulez expliiquer vos deux variables conform' et 'n_conform' séparement, ou bien expliquer la proportion de conform et n_conform ? La syntaxe que vous utilisez semble indiquer que vous voulez traiter ces deux variables séparément. Cependant, il semble s’agir de comptages (Poisson) or les régressions que vous utilisez sont faites pour modéliser des variables ayant une distribution normale. Vos modèles sont donc très probablement faux.
Dans le second cas, il faut vous orienter vers une régression logistique:
HTH, Eric.
Dans le second cas, il faut vous orienter vers une régression logistique:
- Code:
> a1 <- glm(cbind(conform, n_conform) ~ Longueur+ Type_space, family=binomial,data = mat)
> anova(a1,test="Chisq")
Analysis of Deviance Table
Model: binomial, link: logit
Response: cbind(conform, n_conform)
Terms added sequentially (first to last)
Df Deviance Resid. Df Resid. Dev Pr(>Chi)
NULL 41 120.17
Longueur 1 5.3785 40 114.80 0.02039 *
Type_space 2 4.1535 38 110.64 0.12533
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
HTH, Eric.
Dernière édition par Eric Wajnberg le Lun 10 Sep 2018 - 10:08, édité 2 fois
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: LM pour expliquer deux variables quantitatives ?
Bonjour,
Merci pour ce retour. Justement je cherche à expliquer la proportion de conform et n_conform. Pour le GLM (family=binomial), il est correct de garder ces donnes (conform et n_conform) sous forme de comptage ? Je croyais qu'il fallait les convertir en variables binaires si on veut utiliser cette syntaxe.
De plus, est-ce qu'il existe un test additionnel pour affiner la direction de cette relation ?
Une autre question me vient à l'esprit, pourquoi n'est-il pas possible d'utiliser une manova à deux facteurs dans ce cas ?
Merci encore,
Lenny
Merci pour ce retour. Justement je cherche à expliquer la proportion de conform et n_conform. Pour le GLM (family=binomial), il est correct de garder ces donnes (conform et n_conform) sous forme de comptage ? Je croyais qu'il fallait les convertir en variables binaires si on veut utiliser cette syntaxe.
De plus, est-ce qu'il existe un test additionnel pour affiner la direction de cette relation ?
Une autre question me vient à l'esprit, pourquoi n'est-il pas possible d'utiliser une manova à deux facteurs dans ce cas ?
- Code:
a1 <- manova(cbind(conform, n_conform) ~ Longueur+ Type_space,data = mat)
Merci encore,
Lenny
lenny868- Nombre de messages : 48
Date d'inscription : 16/01/2018
Re: LM pour expliquer deux variables quantitatives ?
1) On peut ajuster une régression logistique avec les deux syntaxes, celle que j'utilise ici, ou avec des données en 0/1. C'est équivalent (sous R).
2) Une régression logistique n'est rien moins qu'un régression et avec summary() on peut récupérer les pentes estimées.
3) La manova que vous utilisez est - une fois encore - un modèle gaussien. Or ici vous êtes dans un modèle de pourcentages (binomial). Comme les régressions simples que vous faisiez, le modèle est très probablement faux.
HTH, Eric.
2) Une régression logistique n'est rien moins qu'un régression et avec summary() on peut récupérer les pentes estimées.
- Code:
summary(a1)
Call:
glm(formula = cbind(conform, n_conform) ~ Longueur + Type_space,
family = binomial, data = mat)
Deviance Residuals:
Min 1Q Median 3Q Max
-5.7902 -0.5955 0.2491 1.0095 2.7323
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.2758 0.2239 5.699 1.21e-08 ***
LongueurL 0.5063 0.2163 2.341 0.0192 *
Type_space20900 -0.3129 0.2618 -1.195 0.2320
Type_space22000 0.2074 0.2741 0.757 0.4493
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 120.17 on 41 degrees of freedom
Residual deviance: 110.64 on 38 degrees of freedom
AIC: 205.45
Number of Fisher Scoring iterations: 4
3) La manova que vous utilisez est - une fois encore - un modèle gaussien. Or ici vous êtes dans un modèle de pourcentages (binomial). Comme les régressions simples que vous faisiez, le modèle est très probablement faux.
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: LM pour expliquer deux variables quantitatives ?
Super, Merci beaucoup.
Afin de ne plus tomber dans la même problématique, comment vérifier la normalité ? (désolée de revenir aux bases)
J'ai effectué
Visuellement je dirais que c'est une distribution normale. Est-ce la bonne méthode ? Comment me prendre pour me décider à chaque fois ?
Merci d'avance,
Lenny
Afin de ne plus tomber dans la même problématique, comment vérifier la normalité ? (désolée de revenir aux bases)
J'ai effectué
- Code:
qqnorm( y = normal.data$conform )
hist( x = normal.data$conform )
Visuellement je dirais que c'est une distribution normale. Est-ce la bonne méthode ? Comment me prendre pour me décider à chaque fois ?
Merci d'avance,
Lenny
lenny868- Nombre de messages : 48
Date d'inscription : 16/01/2018
Re: LM pour expliquer deux variables quantitatives ?
conform est un comptage. Par définition, ca suit une loi de Poisson. (conform)/(conform+n_conform) est un pourcentage. Par définition, ca suit une loi binomiale. Même si ces deux lois convergent vers des lois normales dans certains cas particuliers, il est inutile de s'interroger ici. On part respectivement sur une loi de Poisson ou une loi Binomial, et un GLM sait gérer ceci très bien.
HTH, Eric.
HTH, Eric.
Dernière édition par Eric Wajnberg le Lun 10 Sep 2018 - 4:36, édité 1 fois
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: LM pour expliquer deux variables quantitatives ?
Ok très bien. Merci encore.
Que fait-on lorsque on a une p-value significative est un estimate par exemple de -0.05. Comment cela prend sens si l'effet de l'estimate est très diminuée ?
Lenny
Que fait-on lorsque on a une p-value significative est un estimate par exemple de -0.05. Comment cela prend sens si l'effet de l'estimate est très diminuée ?
Lenny
lenny868- Nombre de messages : 48
Date d'inscription : 16/01/2018
Re: LM pour expliquer deux variables quantitatives ?
Votre question n'est pas compréhensible (relisez-vous !). Que veut dire "l'effet de l'estimate est très diminuée". Diminué par rapport à quoi ? Etc.lenny868 a écrit:Ok très bien. Merci encore.
Que fait-on lorsque on a une p-value significative est un estimate par exemple de -0.05. Comment cela prend sens si l'effet de l'estimate est très diminuée ?
Lenny
Si vous obtenez une pente de -0.05 après un ajustement, et que cette estimation correspond à une p-value inférieure à 0.05, c'est juste que cette pente est différente de zéro. Une valeur de -0.05, ça peut-être énorme, tout dépend de la question posée, de l'unité de la variable associée, etc.
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Sujets similaires
» lien entre deux variables quantitatives (étude psychologie)
» lien entre deux variables quantitatives issues du même échan
» GLM pour deux données quantitatives comme VD
» Quel test faire pour un lien entre deux variables
» regression lineaire: variables quantitatives+qualitatives
» lien entre deux variables quantitatives issues du même échan
» GLM pour deux données quantitatives comme VD
» Quel test faire pour un lien entre deux variables
» regression lineaire: variables quantitatives+qualitatives
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum