Les posteurs les plus actifs de la semaine
zezima
 
poetschevleesch
 
Stanlgn
 
jb6546
 
gg
 
c@ssoulet
 
FMarwen
 
EternalSunshine
 
MaxenceR
 


Interprétation résultat glm et anova(glm)

Aller en bas

Interprétation résultat glm et anova(glm)

Message par lenny868 le Mer 12 Sep 2018 - 10:45

Bonjour,

Je suis navrée pour cette question qui peut paraître très simple : je souhaite expliquer sm par le facteur épuisement de stock qui est sous forme d'intervalle.
Quand j'utilise la syntaxe a. Ma p-value n'est pas significative

Code:
a=anova(glm(sm ~  epuisement_stock  , family=binomial, data=vect),test="Chisq")
a
Analysis of Deviance Table
Model: binomial, link: logit
Response: sm
Terms added sequentially (first to last)

                      Df Deviance Resid. Df Resid. Dev Pr(>Chi)
NULL                                    515    715.26       
epuisement_stock  9  13.794      506    701.46  0.1299
> summary(b)



Mais quand j'utilise summary(b), j'ai des p-value significatif par intervalle.
Code:
b=glm(sm ~  epuisement_stock , family=binomial , data=vect)

Call:
glm(formula = sm ~ epuisement_stock, family = binomial,
    data = vect)

Deviance Residuals:
    Min      1Q  Median      3Q      Max 
-1.5096  -1.1608  0.8782  1.1774  1.3683 

Coefficients:
                              Estimate Std. Error z value Pr(>|z|) 
(Intercept)                    0.7538    0.3032  2.486  0.01291 *
epuisement_stock(10,20]  -0.3155    0.4173  -0.756  0.44963 
epuisement_stock(20,30]  -0.5645    0.4100  -1.377  0.16849 
epuisement_stock(30,40]  -0.7146    0.4128  -1.731  0.08343 .
epuisement_stock(40,50]  -0.7538    0.4074  -1.850  0.06429 .
epuisement_stock(50,60]  -0.9141    0.4152  -2.201  0.02771 *
epuisement_stock(60,70]  -0.7930    0.4128  -1.921  0.05471 .
epuisement_stock(70,80]  -1.0195    0.4108  -2.482  0.01307 *
epuisement_stock(80,90]  -1.1920    0.4173  -2.856  0.00429 **
epuisement_stock(90,100]  -0.9856    0.4122  -2.391  0.01679 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 715.26  on 515  degrees of freedom
Residual deviance: 701.46  on 506  degrees of freedom
AIC: 721.46

Number of Fisher Scoring iterations: 4

Je suis confuse : 'b' rapporte la significativité de toute la variable "épuisement_stock" en comparant les différences entre les intervalles. Est-ce le cas ? Si oui, dans ce cas 'a' rapporte quoi au juste ?
Dans tous les cas, je dois me fier à quels valeurs ?

Merci

Lenny

lenny868

Nombre de messages : 42
Date d'inscription : 16/01/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par Florent Aubry le Mer 12 Sep 2018 - 11:27

epuisement_stock est certainement défini par un facteur qui a été construit par le découpage en 10 intervalles d'une variable quantitative. D'ailleurs summary est cohérent avec le résultat de la fonction anova qui nous dit que epuisement_stock est une variable facteur avec 9 degrés de liberté.

N.B. : dans summary, l'intercept correspond à la valeur de l'intervalle (0,10] et les autres paramètres correspondent à la différence entre l'intervalle considéré (n * 10, n * 10 + 10] et l'intervalle (0, 10].

Florent Aubry

Nombre de messages : 213
Date d'inscription : 02/11/2015

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par lenny868 le Mer 12 Sep 2018 - 11:33

D'accord, donc cela veut dire que les p-value de summary sont en comparaison avec l'interval (0,10] ?
Dans ce cas est- ce que je peux déduire avoir une différence significative entre (0,10] et (90,100] ?
Mais dans ce cas comment je devrais interpréter anova(glm(sm ~ epuisement_stock , family=binomial, data=vect),test="Chisq") qui me donne un p-value > 0.05.

Merci pour votre patience
Lenny

lenny868

Nombre de messages : 42
Date d'inscription : 16/01/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par Eric Wajnberg le Mer 12 Sep 2018 - 11:36

La syntaxe "b" donne juste la valeurs des pentes de la régression estimées, et compare ces pentes à zéro. Ceci revient à comparer chaque intervalle à l'intervalle qui tient lieu de référence (qu'on imagine être (0,10]).

La syntaxe "a" teste globalement l'effet épuisement, i.e., en tenant compte de tous les intervalles.

Ces deux sorties ne traduisent pas les mêmes tests, et la procédure derrière n'est pas la même. Dans le premier cas, il s'agit d'un test du rapport de vraisemblance. Dans le second, ce sont des tests de Wald.

Il est donc possible que ces deux procédures ne donnent pas des résultats concordants.

De plus, la procédure recommandée est de tester globalement l'effet, et si celui-ci n'est pas significatif (ce qui est le cas ici), on s'arrête ! Sinon, on peut alors chercher où sont les différences, ce qui n'est pas recommandé ici. On appelle ceci une procédure "protégée".

HTH, Eric.
avatar
Eric Wajnberg

Nombre de messages : 964
Date d'inscription : 14/09/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par lenny868 le Mer 12 Sep 2018 - 22:44

Super, merci pour ces explications qui me sont d'une grande utilité.

J'ai une dernière interrogation :La pente associé peut nous renseigner sur la relation avec la variable dépendante. Dans le cas de l'intervalle (0,10] qui est représenté par l'intercept (si je comprends bien), la valeur "estimate" peut elle refléter la valeur dela pente ?

Je demande car, j'ai fais pas mal d'analyses sur mes données,et cette valeur est toujours positive, est-ce correct de l'interpreter dans ce sens ? sinon comment avoir la valeur de la pente pour l'intervalle (0,10] ?

Merci bien

Lenny

lenny868

Nombre de messages : 42
Date d'inscription : 16/01/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par Eric Wajnberg le Jeu 13 Sep 2018 - 5:07

Il s'agit d'une régression, et la fonction est du type y=ax+b. a est la pente et b est l'intercept. Votre phrase "Dans le cas de l'intervalle (0,10] qui est représenté par l'intercept (si je comprends bien), la valeur "estimate" peut elle refléter la valeur dela pente ?" n'a donc guère de sens. Une pente et une intercept sont deux éléments différents de la régression.

Et cet intercept correspond dans votre cas à l'intervalle (0,10] et correspond donc à y lorsque x=0. Dans le cas d'une régression logistique, le modèle est en fait:

Log (p/(1-p))=ax+b.

Si b est positif, ca veut dire que log(p/(1-p)) est positif, et ca veut donc dire que p>0.5 (>50%). Ca veut donc juste dire que pour l'intervalle (0,10], p>.5. C'est tout.

Eric.
avatar
Eric Wajnberg

Nombre de messages : 964
Date d'inscription : 14/09/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par lenny868 le Jeu 13 Sep 2018 - 11:29

D'accord, reprenons cet exemple (en bas).Tout comme on peut dire pour l'intervalle 40-50 on a un effet significatif (p<0.05)et une pente positive, on peut déduire que pour cet intervalle 'sm' augmente significativement. Est-ce correct comme formulation ?

Je souhaite faire la même déduction sur l'intervalle 0-10 (qui n'est pas mentionné). Mais d'après ce que je comprends de votre message est que si j'ai un intercept négatif, cela veut dire que p est significative.Mais je n'ai pas de lien qui me renseigne sur la direction de la significativité (pour l'intervalle 0-10%, sm augmente ou siminue significativement ?)

Je suis encore désolée pour la lenteur de la compréhension. Je vous remercie

Code:

Df Deviance Resid. Df Resid. Dev  Pr(>Chi)    
NULL                                    515     706.86              
epuisement_stock  9   42.337       506     664.53 2.851e-06 ***

Call:
glm(formula = sm ~ epuisement_stock, family = binomial)

Deviance Residuals:
    Min       1Q   Median       3Q      Max  
-1.4432  -0.9978  -0.7502   1.1774   1.6765  

Coefficients:
                              Estimate Std. Error z value Pr(>|z|)    
(Intercept)                   -1.04597    0.32241  -3.244 0.001178 **
epuisement_stock(10,20]   0.60771    0.43152   1.408 0.159038    
epuisement_stock(20,30]  -0.07796    0.45373  -0.172 0.863577    
epuisement_stock(30,40]   0.26321    0.44161   0.596 0.551163    
epuisement_stock(40,50]   0.89755    0.42241   2.125 0.033602 *  
Lenny

lenny868

Nombre de messages : 42
Date d'inscription : 16/01/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par Eric Wajnberg le Jeu 13 Sep 2018 - 13:22

lenny868 a écrit:D'accord, reprenons cet exemple (en bas).Tout comme on peut dire pour l'intervalle 40-50 on a un effet significatif (p<0.05)et une pente positive, on peut déduire que pour cet intervalle 'sm' augmente significativement. Est-ce correct comme formulation ?
Ca veut dire que - pour cet intervalle 'sm' augmente significativement par rapport à l'intervalle (0,10] qui sert de référence.
lenny868 a écrit:Je souhaite faire la même déduction sur l'intervalle 0-10 (qui n'est pas mentionné). Mais d'après ce que je comprends de votre message est que si j'ai un intercept négatif, cela veut dire que p est significative.
Si l'intercept est négative, ça veut dire que log(p/(1-p)) est négatif, ce qui veut dire (en développant l'équation) que p<0.5. Ca ne veut dire que ceci.
avatar
Eric Wajnberg

Nombre de messages : 964
Date d'inscription : 14/09/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par Florent Aubry le Sam 15 Sep 2018 - 6:33

Pour compléter la réponse d'Eric, deux points :
1) La fonction summary donne les résultats en considérant chaque coefficient indépendamment des autres, ce qui signifie qu'elle ne tient pas compte de leurs corrélations ; pour s'en convaincre, il suffit de comparer les résultats de summary avec un test post-hoc de Dunnett en prenant comme référence la même que celle par défaut, c'est-à-dire l'intervalle (0,10] ;
2) Pour tester la significativité des pentes, il faut faire un test post-hoc en utilisant par exemple la foncion emmeans du package de même nom puis summary du résultat avec l'argument infer=TRUE ; le test post-hoc peut alors être pairwise (HSD) ou dunnett.

Florent Aubry

Nombre de messages : 213
Date d'inscription : 02/11/2015

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par lenny868 le Dim 16 Sep 2018 - 9:32

Merci à vous deux, j'apprends beaucoup de choses.

Je vais essayer de résumer ce que j'ai pu comprendre, voici la méthode.

1) mon dataset , je souhaite expliquer l'effort fourni (mesure de l'effort sur une échelle de 1-20) par le type de produit et le niveau d'épuisement des stocks :
Code:
res=structure(list(Type_space = structure(c(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, 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, 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, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L), .Label = c("",
"29-v1", "29-v2", "88-v1", "88-v2"), class = "factor"),
    Id = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L,
    13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L,
    25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 36L,
    37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L, 47L, 48L,
    49L, 50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L, 58L, 59L, 60L,
    61L, 62L, 63L, 64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L,
    73L, 74L, 75L, 76L, 77L, 78L, 79L, 80L, 81L, 82L, 1L, 2L,
    3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L,
    16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L,
    28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 36L, 37L, 38L, 39L,
    40L, 41L, 42L, 43L, 44L, 45L, 46L, 47L, 48L, 49L, 50L, 51L,
    52L, 53L, 54L, 55L, 56L, 57L, 58L, 59L, 60L, 61L, 62L, 63L,
    64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L, 73L, 74L, 75L,
    76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L, 84L, 85L, 86L, 87L,
    88L, 89L, 90L, 91L, 92L, 93L, 94L, 95L, 96L, 97L, 98L, 99L,
    100L, 101L, 102L, 103L, 104L, 105L, 106L, 107L, 108L, 109L,
    110L, 111L, 112L, 113L, 114L, 115L, 116L, 117L, 118L, 119L,
    120L, 121L, 122L, 123L, 124L, 125L, 126L, 127L, 128L, 129L,
    130L, 131L, 132L, 133L, 134L, 135L, 136L, 137L, 138L, 139L,
    140L, 141L, 142L, 143L, 144L, 145L, 146L, 147L, 148L, 149L,
    150L, 151L, 152L, 153L, 154L, 155L, 156L, 157L, 158L, 159L,
    160L, 161L, 162L, 163L, 164L, 165L, 166L, 167L, 1L, 2L, 3L,
    4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L,
    17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L,
    29L, 30L, 31L, 32L, 33L, 34L, 35L, 36L, 37L, 38L, 39L, 40L,
    41L, 42L, 43L, 44L, 45L, 46L, 47L, 48L, 49L, 50L, 51L, 52L,
    53L, 54L, 55L, 56L, 57L, 58L, 59L, 60L, 61L, 62L, 63L, 64L,
    65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L, 73L, 74L, 75L, 76L,
    77L, 78L, 79L, 80L, 81L, 82L, 83L, 84L, 85L, 86L, 87L, 88L,
    89L, 90L, 91L, 92L, 93L, 94L, 95L, 96L, 97L, 98L, 99L, 100L,
    101L, 102L, 103L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L,
    11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L,
    23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L,
    35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L,
    47L, 48L, 49L, 50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L, 58L,
    59L, 60L, 61L, 62L, 63L, 64L, 65L, 66L, 67L, 68L, 69L, 70L,
    71L, 72L, 73L, 74L, 75L, 76L, 77L, 78L, 79L, 80L, 81L, 82L,
    83L, 84L, 85L, 86L, 87L, 88L, 89L, 90L, 91L, 92L, 93L, 94L,
    95L, 96L, 97L, 98L, 99L, 100L, 101L, 102L, 103L, 104L, 105L,
    106L, 107L, 108L, 109L, 110L, 111L, 112L, 113L, 114L, 115L,
    116L, 117L, 118L, 119L, 120L, 121L, 122L, 123L, 124L, 125L,
    126L, 127L, 128L, 129L, 130L, 131L, 132L, 133L, 134L, 135L,
    136L, 137L, 138L, 139L, 140L, 141L, 142L, 143L, 144L, 145L,
    146L, 147L, 148L, 149L, 150L, 151L, 152L, 153L, 154L, 155L,
    156L, 157L, 158L, 159L, 160L, 161L, 162L, 163L, 164L), Effort = c(3,
    10, 1, 5, 4, 2, 1, 8, 2, 13, 1, 6, 3, 5, 2, 1, 3, 8, 3, 6,
    1, 3, 7, 1, 2, 2, 2, 1, 2, 5, 4, 1, 6, 3, 6, 8, 2, 3, 4,
    7, 3, 2, 6, 2, 3, 7, 1, 5, 4, 1, 4, 3, 2, 3, 5, 5, 2, 1,
    1, 5, 8, 7, 2, 2, 4, 3, 4, 4, 2, 2, 10, 7, 5, 3, 3, 5, 7,
    5, 3, 4, 5, 4, 1, 8, 6, 1, 12, 1, 6, 3, 4, 4, 13, 5, 2, 7,
    7, 20, 1, 1, 1, 7, 1, 4, 3, 8, 2, 2, 4, 1, 1, 2, 3, 2, 2,
    6, 11, 2, 5, 5, 9, 4, 4, 2, 7, 2, 7, 10, 6, 9, 2, 2, 5, 11,
    1, 8, 8, 4, 1, 2, 14, 11, 13, 20, 3, 3, 4, 16, 2, 6, 11,
    9, 11, 4, 5, 6, 19, 5, 2, 6, 1, 7, 11, 3, 9, 2, 3, 6, 20,
    8, 6, 2, 11, 18, 9, 3, 7, 3, 2, 1, 8, 3, 5, 6, 2, 5, 8, 11,
    4, 9, 7, 2, 12, 8, 2, 9, 5, 4, 15, 5, 13, 5, 10, 13, 7, 6,
    1, 12, 12, 10, 4, 2, 16, 7, 17, 11, 18, 4, 3, 12, 1, 3, 7,
    3, 6, 5, 11, 10, 12, 6, 14, 8, 6, 7, 8, 5, 10, 12, 6, 13,
    3, 11, 14, 7, 9, 9, 4, 13, 4, 2, 1, 2, 2, 1, 7, 9, 3, 10,
    3, 2, 1, 3, 1, 4, 2, 4, 5, 4, 2, 13, 4, 1, 3, 1, 11, 4, 1,
    3, 3, 7, 5, 4, 5, 6, 1, 2, 1, 2, 1, 6, 1, 7, 6, 9, 5, 1,
    6, 3, 2, 3, 3, 8, 8, 3, 2, 2, 4, 2, 5, 2, 6, 8, 11, 1, 6,
    3, 3, 4, 5, 5, 7, 4, 2, 7, 3, 3, 1, 3, 9, 5, 2, 4, 12, 1,
    4, 5, 2, 7, 6, 1, 2, 6, 4, 2, 7, 3, 5, 5, 3, 7, 1, 5, 2,
    1, 15, 3, 5, 2, 5, 13, 6, 2, 3, 5, 2, 8, 4, 2, 6, 7, 2, 4,
    1, 13, 8, 2, 1, 2, 1, 1, 5, 2, 1, 6, 11, 4, 1, 7, 7, 4, 3,
    5, 1, 4, 10, 1, 2, 6, 1, 11, 3, 8, 9, 2, 6, 8, 11, 14, 16,
    4, 1, 4, 2, 1, 10, 4, 9, 3, 12, 8, 11, 8, 8, 5, 1, 4, 13,
    3, 8, 5, 14, 3, 5, 5, 12, 1, 3, 4, 5, 2, 7, 6, 9, 6, 10,
    5, 2, 3, 2, 10, 10, 10, 10, 10, 1, 14, 3, 5, 9, 6, 2, 2,
    2, 4, 4, 11, 14, 2, 2, 2, 8, 7, 2, 10, 12, 1, 6, 10, 2, 3,
    5, 10, 6, 1, 8, 4, 11, 5, 4, 3, 6, 2, 4, 6, 9, 3, 9, 11,
    7, 3, 15, 3, 7, 3, 5, 4, 6, 9, 13, 8, 5, 7, 8, 8, 5, 10),
    Type_product = structure(c(4L, 6L, 4L, 4L, 4L, 4L, 6L, 3L,
    6L, 4L, 3L, 4L, 4L, 4L, 6L, 6L, 4L, 4L, 3L, 4L, 6L, 4L, 4L,
    6L, 4L, 3L, 4L, 4L, 6L, 4L, 4L, 3L, 4L, 3L, 4L, 4L, 4L, 4L,
    4L, 3L, 3L, 3L, 4L, 4L, 3L, 3L, 4L, 3L, 3L, 3L, 3L, 3L, 6L,
    4L, 3L, 3L, 3L, 6L, 4L, 3L, 4L, 4L, 3L, 3L, 4L, 3L, 3L, 3L,
    4L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 3L, 3L, 3L, 3L, 4L, 3L,
    4L, 4L, 6L, 4L, 3L, 4L, 4L, 4L, 3L, 4L, 4L, 4L, 4L, 4L, 6L,
    3L, 3L, 4L, 4L, 3L, 3L, 4L, 4L, 3L, 3L, 4L, 4L, 6L, 4L, 3L,
    3L, 4L, 4L, 4L, 3L, 4L, 4L, 4L, 3L, 4L, 4L, 4L, 4L, 4L, 4L,
    3L, 4L, 4L, 4L, 4L, 3L, 6L, 4L, 3L, 4L, 4L, 3L, 4L, 4L, 4L,
    3L, 4L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 4L, 4L, 3L,
    3L, 4L, 3L, 4L, 4L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 3L, 3L, 3L,
    4L, 3L, 4L, 3L, 4L, 4L, 4L, 3L, 4L, 3L, 3L, 3L, 3L, 3L, 4L,
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 3L, 4L, 3L, 4L, 4L,
    3L, 3L, 4L, 4L, 4L, 3L, 3L, 3L, 4L, 3L, 3L, 3L, 3L, 3L, 4L,
    3L, 4L, 4L, 3L, 3L, 4L, 3L, 4L, 3L, 4L, 3L, 3L, 3L, 4L, 3L,
    3L, 3L, 3L, 3L, 3L, 3L, 4L, 3L, 3L, 4L, 3L, 3L, 4L, 4L, 3L,
    4L, 4L, 6L, 3L, 6L, 3L, 4L, 3L, 3L, 6L, 3L, 3L, 6L, 3L, 5L,
    3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 6L, 4L, 4L, 3L, 3L, 4L, 3L,
    4L, 4L, 4L, 3L, 4L, 4L, 4L, 6L, 4L, 4L, 3L, 4L, 3L, 4L, 5L,
    3L, 3L, 3L, 4L, 6L, 4L, 4L, 4L, 3L, 6L, 3L, 5L, 4L, 3L, 5L,
    3L, 4L, 3L, 4L, 4L, 4L, 3L, 5L, 4L, 3L, 3L, 4L, 3L, 4L, 3L,
    3L, 3L, 3L, 3L, 4L, 4L, 4L, 3L, 5L, 4L, 5L, 5L, 3L, 3L, 3L,
    3L, 5L, 5L, 3L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 3L,
    3L, 4L, 4L, 4L, 4L, 3L, 4L, 5L, 4L, 4L, 4L, 3L, 4L, 4L, 4L,
    3L, 4L, 4L, 3L, 3L, 4L, 3L, 4L, 3L, 5L, 4L, 3L, 4L, 3L, 4L,
    4L, 4L, 4L, 3L, 3L, 4L, 4L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L,
    3L, 4L, 3L, 3L, 4L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 4L,
    3L, 4L, 3L, 4L, 3L, 4L, 3L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 4L,
    4L, 4L, 3L, 4L, 3L, 4L, 4L, 3L, 3L, 4L, 4L, 3L, 4L, 3L, 4L,
    3L, 3L, 3L, 4L, 4L, 3L, 4L, 3L, 3L, 4L, 3L, 4L, 3L, 4L, 3L,
    4L, 3L, 5L, 3L, 3L, 5L, 3L, 3L, 4L, 3L, 3L, 4L, 3L, 3L, 3L,
    4L, 3L, 3L, 5L, 3L, 5L, 5L, 3L, 3L, 4L, 3L, 3L, 3L, 3L, 5L,
    3L, 3L, 3L, 5L, 5L, 5L, 3L, 3L, 3L, 3L, 5L, 5L, 4L, 5L, 5L,
    5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L), .Label = c("",
    "*", "c", "f", "m", "s"), class = "factor"), Exhaustion_product = structure(c(1L,
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
    4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L,
    6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L,
    8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 10L, 10L,
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 1L, 1L, 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, 3L, 3L, 3L,
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L,
    4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
    4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
    5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L,
    6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L,
    7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L,
    8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L,
    9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 10L, 10L, 10L, 10L,
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L,
    2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
    3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L,
    5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L,
    6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L,
    8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L,
    9L, 9L, 9L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
    10L, 1L, 1L, 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, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
    3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
    4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
    5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L,
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L,
    7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L,
    8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L,
    9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 10L,
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
    10L, 10L, 10L, 10L), .Label = c("(0,10]", "(10,20]", "(20,30]",
    "(30,40]", "(40,50]", "(50,60]", "(60,70]", "(70,80]", "(80,90]",
    "(90,100]"), class = "factor")), class = "data.frame", row.names = c(1L,
2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L,
16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L,
29L, 30L, 31L, 32L, 33L, 34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L,
42L, 43L, 44L, 45L, 46L, 47L, 48L, 49L, 50L, 51L, 52L, 53L, 54L,
55L, 56L, 57L, 58L, 59L, 60L, 61L, 62L, 63L, 64L, 65L, 66L, 67L,
68L, 69L, 70L, 71L, 73L, 75L, 76L, 79L, 80L, 81L, 82L, 84L, 85L,
86L, 91L, 102L, 103L, 104L, 105L, 106L, 107L, 108L, 109L, 110L,
111L, 112L, 113L, 114L, 115L, 116L, 117L, 118L, 119L, 120L, 121L,
122L, 123L, 124L, 125L, 126L, 127L, 128L, 129L, 130L, 131L, 132L,
133L, 134L, 135L, 136L, 137L, 138L, 139L, 140L, 141L, 142L, 143L,
144L, 145L, 146L, 147L, 148L, 149L, 150L, 151L, 152L, 153L, 154L,
155L, 156L, 157L, 158L, 159L, 160L, 161L, 162L, 163L, 164L, 165L,
166L, 167L, 168L, 169L, 170L, 171L, 172L, 173L, 174L, 175L, 176L,
177L, 178L, 179L, 180L, 181L, 182L, 183L, 184L, 185L, 186L, 187L,
188L, 189L, 190L, 191L, 192L, 193L, 194L, 195L, 197L, 198L, 199L,
201L, 202L, 203L, 204L, 206L, 207L, 208L, 209L, 210L, 212L, 213L,
214L, 215L, 217L, 218L, 219L, 220L, 221L, 222L, 223L, 225L, 227L,
229L, 230L, 231L, 232L, 233L, 234L, 235L, 236L, 237L, 238L, 239L,
242L, 243L, 244L, 246L, 247L, 248L, 249L, 250L, 251L, 253L, 254L,
256L, 259L, 260L, 261L, 262L, 263L, 264L, 265L, 266L, 269L, 270L,
272L, 273L, 274L, 276L, 277L, 278L, 279L, 280L, 281L, 282L, 283L,
284L, 285L, 287L, 289L, 290L, 291L, 292L, 293L, 294L, 295L, 296L,
297L, 298L, 300L, 301L, 302L, 303L, 306L, 308L, 309L, 311L, 312L,
313L, 314L, 315L, 316L, 317L, 318L, 319L, 320L, 322L, 323L, 325L,
326L, 327L, 328L, 329L, 331L, 332L, 334L, 335L, 336L, 338L, 339L,
340L, 341L, 342L, 343L, 344L, 345L, 346L, 347L, 348L, 349L, 350L,
352L, 353L, 354L, 356L, 357L, 358L, 359L, 360L, 361L, 363L, 364L,
365L, 366L, 367L, 368L, 369L, 370L, 372L, 373L, 374L, 375L, 376L,
377L, 378L, 379L, 380L, 381L, 382L, 384L, 385L, 387L, 388L, 389L,
391L, 393L, 394L, 395L, 396L, 397L, 398L, 399L, 400L, 401L, 402L,
404L, 407L, 408L, 409L, 411L, 412L, 413L, 414L, 415L, 416L, 417L,
418L, 419L, 420L, 421L, 422L, 423L, 424L, 425L, 426L, 427L, 428L,
429L, 430L, 431L, 432L, 433L, 434L, 435L, 436L, 437L, 438L, 439L,
440L, 442L, 443L, 444L, 445L, 446L, 447L, 448L, 449L, 450L, 451L,
452L, 453L, 454L, 455L, 456L, 457L, 458L, 459L, 460L, 461L, 462L,
463L, 464L, 465L, 466L, 467L, 468L, 469L, 470L, 471L, 472L, 473L,
474L, 476L, 477L, 478L, 479L, 480L, 481L, 482L, 483L, 484L, 486L,
487L, 488L, 489L, 490L, 491L, 492L, 493L, 494L, 495L, 496L, 497L,
498L, 500L, 501L, 502L, 503L, 504L, 505L, 506L, 507L, 508L, 509L,
510L, 511L, 512L, 513L, 514L, 515L, 516L, 517L, 518L, 519L, 520L,
521L, 522L, 523L, 524L, 525L, 526L, 527L, 528L, 529L, 530L, 531L,
532L, 534L, 535L, 536L, 537L, 538L, 539L, 540L, 541L, 542L, 543L,
547L, 548L, 550L, 551L, 552L, 553L, 554L, 555L, 556L, 557L, 558L,
559L, 560L, 561L, 562L, 563L, 565L, 566L, 567L, 568L, 569L, 570L,
571L, 572L, 573L, 575L, 577L, 579L, 580L, 581L, 582L, 583L, 585L,
586L, 587L, 590L, 592L, 599L, 606L, 608L))


2) le glm : reperer les relations significative selon le p-value
Code:
an=anova(glm(Effort ~  Type_product +  Exhaustion_product  , family=poisson, data=vect),test="Chisq")
> an
Analysis of Deviance Table

Model: poisson, link: log

Response: Effort

Terms added sequentially (first to last)


                   Df Deviance Resid. Df Resid. Dev  Pr(>Chi)    
NULL                                 515     1336.6              
Type_product        3   32.544       512     1304.0 4.019e-07 ***
Exhaustion_product  9   92.167       503     1211.8 5.977e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

3) puisque j'ai une p-value significative pour type_product et Exhaustion_product nous effecutons un post hoc
Code:
gl=glm(Effort ~  Type_product +  Exhaustion_product, family=poisson , data=vect)
library("emmeans")
emm <- emmeans(gl, "Type_product")
emmp=pairs(emm)
summary(emmp,infer=TRUE)

 contrast    estimate         SE  df    asymp.LCL   asymp.UCL z.ratio p.value
 c - f    -0.14084934 0.04221684 Inf -0.249305743 -0.03239295  -3.336  0.0047
 c - m     0.33882907 0.08050197 Inf  0.132016967  0.54564118   4.209  0.0002
 c - s     0.31167356 0.12274400 Inf -0.003659682  0.62700680   2.539  0.0541
 f - m     0.47967842 0.08339482 Inf  0.265434484  0.69392235   5.752  <.0001
 f - s     0.45252290 0.12076017 Inf  0.142286189  0.76275962   3.747  0.0010
 m - s    -0.02715551 0.14317625 Inf -0.394979861  0.34066883  -0.190  0.9976


4) conclusions
Un effet significatif entre la mesure de l'effort et le type de produit (χ2(3)=32.5, p<0.001). Le test post-hoc rapporte :
Le type de produit C en comparaison avec F, une baisse de l'effort fourni (p<0.05) (y a t'il une forme spécifique APA pour rapporter le post-hoc?)
Le type de produit C en comparaison avec M, une augmentation de l'effort fourni (p<0.05)
Le Type de produit F en comparaison avec M et S, une augmentation de l'effort fourni p(p<0.05)

Nous avons aussi un effet significatif du taux d'épuisement de stock  (χ2(9)=92.1, p<0.001).... (même démarche)

Est-ce que cela vous parait correct en terme de code R utilisée, et report des résultats notamment en format APA ?

Merci bien,

Lenny

lenny868

Nombre de messages : 42
Date d'inscription : 16/01/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par Florent Aubry le Dim 16 Sep 2018 - 10:06

1) Code correct même si personnellement je préfère utiliser dans un tel cas, la formulation :
Code:
emmp <- emmeans( gl, pairwise ~ Type_product)
summary( emmp, infer=TRUE)

2) Il faut voir sur le site de l'APA qui explique comment présenter les résultats statistiques.

3) Un petit rappel sur l'utilisation de la fonction anova : les termes sont testés séquentiellement (Terms added sequentially (first to last)), ce qu'on appelle la somme des carrés de type I, c'est-à-dire qu'anova donne la significativité de l'ajout du second terme à l'estimation du premier. Si les deux termes ne sont pas corrélés, ceci ne pose pas de problème. Par contre, s'ils le sont, on peut obtenir un second terme T2 non ou peu significatif dans la formule Y ~ T1 + T2 et ce même terme significatif quand on utilise la formule Y ~ T2 + T1 :
Code:
set.seed(
T2 <- runif( 100)
T1 <- (T2 + 0.2 * runif( 100)) / 2
Y <- T1 + T2 + rnorm( 100, sd=0.1)
lm.r1 <- lm( Y ~ T1 + T2)
anova( lm.r1)
lm.r2 <- lm( Y ~ T2 + T1)
anova( lm.r2)
C'est pourquoi il est toujours préférable d'utiliser la fonction Anova (avec un A majuscule) du package car.

Florent Aubry

Nombre de messages : 213
Date d'inscription : 02/11/2015

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par Eric Wajnberg le Dim 16 Sep 2018 - 18:09

Désolé, mais cet exemple me semble clairement faux. Le GLM utilisé ici est une régression log-linéaire pour loi de Poisson, c'est-à-dire une loi de comptage. Pourtant, la variable modélisée ici (effort) n'est pas une comptage, loin s'en faut. C'est une note. Ca n'a rien à voir avec une comptage. On peut par exemple avoir (en théorie) une note de 4.5, mais on ne peut pas compter 4.5 individus (même en théorie). Egalement, rien ne prouve que la variance est égale à l'espérance (ce qui est la caractéristique d'une loi de Poisson), et donc que la variance augmente avec la note moyenne, comme il se doit, etc.

Il faut partir sur un autre modèle.

Plus généralement, l'analyse statistique de notes (par exemple la docimologie) est par définition compliquée car la loi sous-jacente n'est généralement pas connue. Personnellement, je parts généralement dans ce cas sur un modèle gaussien en m'appuyant sur la robustesse bien connue de ce modèle vis-à-vis de la non-normalité. Mais sûrement pas sur un modèle poissonien..

Eric.
avatar
Eric Wajnberg

Nombre de messages : 964
Date d'inscription : 14/09/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par lenny868 le Dim 16 Sep 2018 - 19:58

Bonjour,

Oui c'est un des doutes que j'avais, seulement, mon système de notation est exclusivement "entier". Mais je suppose que ce n'est pas suffisant ? Je pars donc sur du gaussien. Merci bien pour ce retour.

D'un autre coté, je me demande si je peux utiliser 'emmeans' avec une variable explicative continue 'age' ? P_f est binaire c'est pour cela le choix binomial. Pourquoi R comptabilise la valeur moyenne de l'age (38.53) ? comment se font les comparaisons dans ce cas la ? Je trouve les déductions sur la direction de la relation assez complexe

Code:
>

gl=glm(p_f~ epuisement_stock      + Age + Genre , family = binomial)
emmp <- emmeans( gl, pairwise ~ epuisement_stock + Age)
> summary( emmp, infer=TRUE)
$emmeans
 epuisement_stock      Age      emmean        SE  df   asymp.LCL   asymp.UCL z.ratio p.value
 (0,10]                38.53682  0.39253951 0.3015335 Inf -0.19845523  0.98353424   1.302  0.1930
 (10,20]               38.53682  0.05019757 0.2881474 Inf -0.51456093  0.61495606   0.174  0.8617
 (20,30]               38.53682  0.85742027 0.3067203 Inf  0.25625959  1.45858095   2.795  0.0052
 (30,40]               38.53682  0.59686223 0.2981849 Inf  0.01243057  1.18129390   2.002  0.0453
 (40,50]               38.53682  0.04104759 0.2785251 Inf -0.50485165  0.58694683   0.147  0.8828
 (50,60]               38.53682 -0.16633086 0.2911647 Inf -0.73700321  0.40434149  -0.571  0.5678
 (60,70]               38.53682 -0.90615939 0.3195459 Inf -1.53245776 -0.27986103  -2.836  0.0046
 (70,80]               38.53682 -0.54262326 0.2895912 Inf -1.11021166  0.02496513  -1.874  0.0610
 (80,90]               38.53682 -1.47726414 0.3740637 Inf -2.21041552 -0.74411276  -3.949  0.0001
 (90,100]              38.53682 -1.70129438 0.3788060 Inf -2.44374043 -0.95884832  -4.491  <.0001

Results are averaged over the levels of: Genre
Results are given on the logit (not the response) scale.
Confidence level used: 0.95


Et enfin, est ce utile de représenter graphiquement tel que suit : Sur X taux d'épuisement par genre sur Y les pentes. (voir la pj)
Code:
emmip(gl, epuisement ~ Genre)
Les pentes sont elles comparables entre-elles ? comment y faire mentionner une p-value significative dans ce cas

Merci

Lenny
Fichiers joints
Sans titre.png Vous n'avez pas la permission de télécharger les fichiers joints.(16 Ko) Téléchargé 4 fois

lenny868

Nombre de messages : 42
Date d'inscription : 16/01/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par Nik le Mar 18 Sep 2018 - 7:56

@Lenny : la figure n'est pas très intéressante en soit je pense.
Pour la première partie, je n'utilise pas cette fonction donc je ne connais pas ce qu'il y a derrière.

C'est pourquoi il est toujours préférable d'utiliser la fonction Anova (avec un A majuscule) du package car.
Je iens de relever cette affirmation et je ne suis pas sûr de comprendre.
il est surtout important que l'utilisateur comprenne bien ce qu'il est en train de tester. Anova reprend la programmation choisi par SAS mais je ne suis pas sûr qu'elle permette vraiment d'éviter les écueils...
Il faudrait je pense plutôt encourager les utilisateurs à comprendre ce que sont les contrasts et donc ce qu'ils supposent en termes d'hypothèse testées.

Nik

Nombre de messages : 1591
Date d'inscription : 23/05/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par Florent Aubry le Mar 18 Sep 2018 - 11:11

Quand on teste la significativité de prédicteurs dans un modèle (g)lm à plusieurs prédicteurs, il y a trois approches principales connues sous le non de sommes des carrés de type I, II et III. Statistica et certains autres logiciels ont introduit des type IV, V et VI qui sont des cas particuliers des 3 précédents types. Ces trois types n'ont rien à voir avec SAS, simplement chaque logiciel a choisi un type par défaut. Par exemple, toujours pour parler de Statistica que je connais mieux que SAS, c'est le type III. R, avec sa fonction anova (a minuscule), c'est le type I.

Quelles sont les différences entre ces trois types ? Je ne vais pas entrer dans les détails mais essayer de les expliquer par un exemple. Soit le modèle linéaire  Y ~ F1 * F2 où F1 et F2 sont deux facteurs.

Type I (anova) :
  ligne F1 : Contribution de F1 interaction comprise dans l'explication de Y
  ligne F2 : Contribution de F2 dans l'explication de (Y moins la contribution de F1)
  ligne F1:F2 : Contribution de l'interaction dans l'explication de Y
Ce type de somme des carrés est donc intéressant quand on cherche à savoir si l'ajout d'un prédicteur apporte quelque chose de plus à l'explication des données (cf. la comparaison des modèles par l'appel à la fonction anova avec comme deux paramètres deux résultats sur des modèles emboités : anova( modele.1, modele.2)). Mais comme je l'ai mentionné, on peut avoir F1 et F2 significatifs avec le modèle Y ~ F1 * F2 alors que dans le modèle Y ~ F2 * F1, seul F2 est significatif. Cela peut alors suggérer une forte corrélation entre les facteurs ou des effets d'amplitude différents de plusieurs ordres de grandeur entre les facteurs.

Type II (Anova avec valeur de type par défaut, c'est-à-dire 2) :
  ligne F1 : Contribution de F1 interaction comprise dans l'explication de Y
  ligne F2 : Contribution de F2 interaction comprise dans l'explication de Y
  ligne F1:F2 : Contribution de l'interaction dans l'explication de Y
Donc la ligne F2 est exactement celle qu'on obtiendrait avec la fonction anova pour le modèle Y ~ F2 * F1

Type III (Anova avec valeur de type par défaut, c'est-à-dire 2) :
  ligne F1 : Contribution de F1 en dehors de l'interaction F1 * F2 dans l'explication de Y
  ligne F2 : Contribution de F2 en dehors de l'interaction F1 * F2  dans l'explication de Y
  ligne F1:F2 : Contribution de l'interaction dans l'explication de de Y
De plus, contrairement aux types I et II, ces contributions sont entendues au sens des moindres carrés. De ce fait :
i) les lignes F1:F2 sont identiques pour les trois types ;
ii) de nombreux auteurs recommandent le type II par défaut sauf si le modèle n'est pas équilibré ; alors ils recommandent le type III ;
iii) les trois modèles ne sont équivalents que si les deux facteurs sont indépendants.

Donc, contrairement au type I, les types II et III donnent toujourd les mêmes résultats pour les modèles Y ~ F1 * F2 et Y ~ F2 * F1.

Nik, j'espère que mes explications répondent à ton attente, sinon n'hésite pas à poser d'autres questions.

Florent Aubry

Nombre de messages : 213
Date d'inscription : 02/11/2015

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par Nik le Mer 19 Sep 2018 - 10:09

Bonjour,

Merci pour les précisions Florent, je ne veux pas polluer plus le sujet donc j'en crée un autre qui sera sans doute utile.

Nik

Nik

Nombre de messages : 1591
Date d'inscription : 23/05/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Interprétation résultat glm et anova(glm)

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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