J'aimerais savoir comment on teste la validité d'un modèle lorsque celui-ci est un modèle obtenu via la model-averaging methode.
Le code R
Code : Tout sélectionner
> model<- lm(sqrtCapt ~ Soil + Canopy + TreeAge + NestHeight + NestSpecies + WoodDiversity + Woodland + BoxSize, data=data)
> stdz<-standardize(model, standardize.y=FALSE)
> model.set<-dredge(stdz, rank="AICc")
> top.models<-get.models(model.set, subset=delta<2)
> a<-model.avg(top.models)
> summary(a)
Call:
model.avg.default(object = top.models)
Component models:
df logLik AICc Delta Weight
12456 7 -68.75 154.16 0.00 0.37
12356 7 -69.09 154.85 0.69 0.26
1256 6 -70.67 155.28 1.12 0.21
123456 8 -68.22 155.95 1.79 0.15
Term codes:
c.BoxSize z.NestHeight z.Soil z.TreeAge z.WoodDiversity
1 2 3 4 5
z.Woodland
6
Model-averaged coefficients:
Estimate Std. Error Adjusted SE z value Pr(>|z|)
(Intercept) 1.8017 0.1454 0.1495 12.051 < 2e-16 ***
c.BoxSize -1.1954 0.3105 0.3189 3.749 0.000178 ***
z.NestHeight 1.4273 0.6823 0.6954 2.052 0.040128 *
z.TreeAge -1.1041 0.6758 0.6943 1.590 0.111779
z.WoodDiversity 0.9806 0.3258 0.3341 2.935 0.003335 **
z.Woodland -1.5247 0.4057 0.4168 3.658 0.000254 ***
z.Soil -0.5842 0.4334 0.4448 1.313 0.189069
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Full model-averaged coefficients (with shrinkage):
(Intercept) c.BoxSize z.NestHeight z.TreeAge z.WoodDiversity z.Woodland z.Soil
1.80168 -1.19536 1.42730 -0.57863 0.98058 -1.52472 -0.24298
Relative variable importance:
c.BoxSize z.NestHeight z.WoodDiversity z.Woodland z.TreeAge
1.00 1.00 1.00 1.00 0.52
z.Soil
0.42
> confint(a)
2.5 % 97.5 %
(Intercept) 1.50866330 2.0947046
c.BoxSize -1.82033273 -0.5703782
z.NestHeight 0.06430498 2.7902913
z.TreeAge -2.46484364 0.2566863
z.WoodDiversity 0.32577039 1.6353915
z.Woodland -2.34155102 -0.7078793
z.Soil -1.45600859 0.2876278
D'habitude j'utilise la fonction plotresid() pour tester la normalité des residus du modèle mais elle ne fonctionne pas ici. Idem pour qqnorm(). Probablement du fait que c'est un model.avg.
Code : Tout sélectionner
> plotresid(a, shapiro=TRUE)
Erreur dans plotresid(a, shapiro = TRUE) : model not recognized
> qqnorm(a)
Erreur dans min(x, na.rm = na.rm) : 'type' (list) de l'argument incorrect
Existe-t-il des tests permettant de validé ce type de model.avg et nottament de tester la normalité des résidus sous R ?
Merci
Cordialement
Mélanie