Les posteurs les plus actifs de la semaine
niaboc
Drop1() suivi d'un summary() Vote_lcapDrop1() suivi d'un summary() Voting_barDrop1() suivi d'un summary() Vote_rcap 
Ayana
Drop1() suivi d'un summary() Vote_lcapDrop1() suivi d'un summary() Voting_barDrop1() suivi d'un summary() Vote_rcap 
A k a
Drop1() suivi d'un summary() Vote_lcapDrop1() suivi d'un summary() Voting_barDrop1() suivi d'un summary() Vote_rcap 
Eric Wajnberg
Drop1() suivi d'un summary() Vote_lcapDrop1() suivi d'un summary() Voting_barDrop1() suivi d'un summary() Vote_rcap 
yulione
Drop1() suivi d'un summary() Vote_lcapDrop1() suivi d'un summary() Voting_barDrop1() suivi d'un summary() Vote_rcap 
droopy
Drop1() suivi d'un summary() Vote_lcapDrop1() suivi d'un summary() Voting_barDrop1() suivi d'un summary() Vote_rcap 
Aytan
Drop1() suivi d'un summary() Vote_lcapDrop1() suivi d'un summary() Voting_barDrop1() suivi d'un summary() Vote_rcap 
Coco
Drop1() suivi d'un summary() Vote_lcapDrop1() suivi d'un summary() Voting_barDrop1() suivi d'un summary() Vote_rcap 
gg
Drop1() suivi d'un summary() Vote_lcapDrop1() suivi d'un summary() Voting_barDrop1() suivi d'un summary() Vote_rcap 


Drop1() suivi d'un summary()

Aller en bas

Drop1() suivi d'un summary() Empty Drop1() suivi d'un summary()

Message par CupOfAppleTea le Mer 8 Oct 2014 - 12:06

J'ai besoin d'analyser un jeu de données non-équilibré via une régression linéaire:
Code:
modJuin=lm(TleafMax~TairMax*orientation, na.action="na.exclude", data=aJuin)

"TairMax" est une variable continue numérique et "orientation" est une variable factorielle à 2 niveaux. J'ai donc utilisé drop1() pour tester le modèle et gérer le caractère non-équilibré de mon jeu de données:
Code:
drop1(modJuin, .~., test="F")

Voici ce que j'obtiens:
Code:
Single term deletions

Model:
TleafMax ~ TairMax * orientation
                    Df Sum of Sq    RSS     AIC   F value  Pr(>F)    
<none>                            797.6  295.76                      
TairMax              1    5158.6 5956.3 1003.48 2257.1256 < 2e-16 ***
orientation          1      14.1  811.7  299.94    6.1672 0.01348 *  
TairMax:orientation  1      11.1  808.7  298.63    4.8493 0.02831 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Maintenant, je sais quelles variables mènent à des modèles qui diffèrent significativement lorsqu'on les retire. Apparemment chacunes d'elles (TairMax, orientation) ainsi que leur interaction (TairMax*orientation). J'aimerais ensuite obtenir les estimateurs des paramètres du modèle. J'ai donc utilisé summary() comme ceci:
Code:
> summary.lm(modJuin)

Call:
lm(formula = TleafMax ~ TairMax * orientation, data = aJuin,
    na.action = "na.exclude")

Residuals:
    Min      1Q  Median      3Q     Max
-2.9928 -1.1355 -0.0953  0.9155  5.2725

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)           4.77483    0.42897  11.131   <2e-16 ***
TairMax               0.89850    0.01891  47.509   <2e-16 ***
orientation1          1.06529    0.42897   2.483   0.0135 *  
TairMax:orientation1 -0.04165    0.01891  -2.202   0.0283 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.512 on 349 degrees of freedom
  (2 observations deleted due to missingness)
Multiple R-squared:  0.8721,    Adjusted R-squared:  0.871
F-statistic:   793 on 3 and 349 DF,  p-value: < 2.2e-16

Voici ma question: Est-il correct d'obtenir les estimateurs des paramètres de mon modèle linéaire via summary() après avoir identifié les variables qui modifient significativement mon modèle via drop1()?
Egalement, je n'utilise pas summary() pour déterminer la significativité de mes variables car un collègue m'a fait une critique l'autre jour: "comme tu peux le voir dans l'output de summary(), tes facteurs sont traités par niveaux. En effet, l'un des niveaux de ton facteur n'apparait pas dans l'output et la significativité n'est donnée que pour les autres niveaux". A-t'il raison? Dans mon cas, cela s'illustre sur la variable orientation dont seul le niveaux "1" apparait dans le summary() (voir ci-dessus). S'il a tord, j'aurais tendance à utiliser directement summary() à la place de drop1() puisque summary() est indépendant de l'ordre de spécification des variables dans le modèle linéaire.


Je précise que je suis au courant des problèmes liés au fait d'identifier les effets individuels des variables lorsqu'un interaction existe. Merci pour votre aide!

CupOfAppleTea

Nombre de messages : 28
Date d'inscription : 14/12/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Drop1() suivi d'un summary() Empty Re: Drop1() suivi d'un summary()

Message par Nik le Jeu 9 Oct 2014 - 6:43

Bonjour,

Pour les estimations des paramètres, oui pour les prendre sur le summary tant que tu a bien compris à quoi ils correspondent (lien avec les contrastes choisis pour les facteurs).
De même ton collègue a raison, car effectivement on ne peut se servir des p-values du summary pour sélectionner une variable car tout simplement elles n'ndiquent pas si l'ajout d'une variable donnée a un effet sur la réduction de la variance résiduelle (obtenu par anova ou éventuellement par drop1) mais juste si le paramètre est significativement différent de 0. Ce sont 2 notions différentes.

Nik
Si les contrastes par défaut ne te convienne pas alors change les.

Nik

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

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Drop1() suivi d'un summary() Empty Re: Drop1() suivi d'un summary()

Message par CupOfAppleTea le Jeu 9 Oct 2014 - 7:26

Donc dire que tel ou tel paramètre est significativement différent de 0 ne revient pas au même que de dire que tel ou tel variable a un effet significatif? Merci pour les éclairages, je me rends compte qu'il faudrait vraiment que je me replonge dans quelques bouquins (si vous avez une lecture à me conseiller sur le sujet je suis preneur).

Dans le cadre du summary(), on teste des estimateurs qui sont certes déterminés par la méthode des moindres carrés mais le test de student vise à déterminer si l'estimateur du paramètre fournit par la régression linéaire est significativement de 0. On ne teste pas directement si la présence de la variable dans le modèle diminue ou pas la variance résiduelle.
Dans le cadre de l'anova ou de drop1() il s'agit d'un test de Fisher visant à déterminer si l'ajout séquentiel (anova) ou le retrait d'une seule variable (drop1) a un effet sur la variance résiduelle.
Je crois que les choses s'éclaircissent. Si bien sur vous confirmez.

2 points restent cependant qq peu obscurs:
_ la différence en matière d'hypothèse de départ entre l'utilisation d'une anova et de drop1(). Le fait d'ajouter séquentiellement chaque variable ou de retirer une à une chaque variable.
_ le choix des contrastes choisis pour les facteurs --> là je serais vraiment intéressé d'avoir accès à une bonne lecture. C'est pas forcément évident toutes les informations qu'on trouve sur le net la dessus. Je ne suis pas clair sur le terme de contraste en lui même et je ne les ai jamais modifié :s


Dernière édition par CupOfAppleTea le Jeu 9 Oct 2014 - 8:03, édité 1 fois

CupOfAppleTea

Nombre de messages : 28
Date d'inscription : 14/12/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Drop1() suivi d'un summary() Empty Re: Drop1() suivi d'un summary()

Message par CupOfAppleTea le Jeu 9 Oct 2014 - 7:30

Je me demande également dans quel cas on peut utiliser les p-values du summary. Si l'on est uniquement intéressé par le fait de prédire l'effet de X sur Y et non par le fait de déterminer si X a un effet significatif sur Y.
Est-ce vrai?

CupOfAppleTea

Nombre de messages : 28
Date d'inscription : 14/12/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Drop1() suivi d'un summary() Empty Re: Drop1() suivi d'un summary()

Message par Nik le Jeu 9 Oct 2014 - 11:39

Donc dire que tel ou tel paramètre est significativement différent de 0 ne revient pas au même que de dire que tel ou tel variable a un effet significatif?
Pas nécessairement.
il faut bien comprendre que le significatif c'est relativement à un seuil rapporté à une distribution de probabilité. Etre significativement différente de 0 ça ne veut pas dire avoir réellement un effet.

_ la différence en matière d'hypothèse de départ entre l'utilisation d'une anova et de drop1(). Le fait d'ajouter séquentiellement chaque variable ou de retirer une à une chaque variable.
il n'y en a pas. tu peux retrouver les résultats d'un drop1(...,test="F") avec une anova.

_ le choix des contrastes choisis pour les facteurs --> là je serais vraiment intéressé d'avoir accès à une bonne lecture. C'est pas forcément évident toutes les informations qu'on trouve sur le net la dessus. Je ne suis pas clair sur le terme de contraste en lui même et je ne les ai jamais modifié :s
Cf les livres sur le modèle linéaire. Par exemple ce lui de J. Faraway. Les livres traitant des plans d'expérience aussi peuvent aborder le sujet. Je n'ai pas de lecture précises à te donner. Des docs existent sur le net pour expliquer pratiquement comment on fait.

Le choix des contrastes peut vite devenir fastiduex par contre Smile

Je me demande également dans quel cas on peut utiliser les p-values du summary. Si l'on est uniquement intéressé par le fait de prédire l'effet de X sur Y et non par le fait de déterminer si X a un effet significatif sur Y.
Est-ce vrai?
Bof...en pratique je ne les utilise pour ainsi dire pas. ça teste uniquement l'hypothèse pour laquelle elles ont été penser : est-ce différent de 0 ou pas. Comme cette hypothèse est rarement d'un grand intérêt, cette donnée ne sert pas à grand chose.

Nik

Nik

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

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Drop1() suivi d'un summary() Empty Re: Drop1() suivi d'un summary()

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