TP - IRMA - Université de Strasbourg

Transcription

TP - IRMA - Université de Strasbourg
Université de Strasbourg
M2 Statistique
Modèles linéaires généralisés
Ségolen Geffray
[email protected]
Année 2015/2016
TP : Modèle linéaire (mixte) et modèle linéaire généralisé (mixte)
Ces exercices seront effectués au moyen du logiciel R.
Exercice 1.
Notons β le vecteur des paramètres de régression à estimer dans le cadre d’un modèle GLM et
βb son estimateur.
1. Décrire le scénario de simulations de Monte-Carlo permettant d’illustrer la convergence
asymptotique de βb vers β dans le cadre de l’ajustement
(a) d’un modèle gaussien,
(b) d’un modèle de Poisson,
(c) d’un modèle logistique binaire.
lorsque le modèle proposé s’adapte bien aux données. Mettre en oeuvre.
2. Décrire le scénario de simulations de Monte-Carlo permettant de comparer le comportement des différents types de résidus introduits en cours dans le cadre de l’ajustement
(a) d’un modèle gaussien,
(b) d’un modèle de Poisson,
(c) d’un modèle logistique binaire.
Mettre en oeuvre.
3. Décrire le scénario de simulations de Monte-Carlo permettant d’illustrer la robustesse du
modèle dans le cadre
(a) d’un modèle gaussien,
(b) d’un modèle de Poisson,
(c) d’un modèle logistique binaire.
Mettre en oeuvre.
Vous veillerez notamment à
– faire varier n, la taille de l’échantillon,
– étudier l’impact d’éventuelles interactions,
– étudier l’impact d’éventuelles transformations des prédicteurs quantitatifs,
– étudier l’impact du nombre de prédicteurs,
– étudier l’impact de l’inclusion de prédicteurs superflus,
– étudier l’impact d’une éventuelle colinéarité entre prédicteurs,
– étudier l’impact du choix de la fonction de lien.
Pensez également à quantifier votre analyse au moyen de critères objectifs tels que biais, variance, MSE, probabilité de couverture dans le cas d’intervalles de confiance, erreurs de type I
et II dans le cas de tests.
Exercice 2.
Analyser les données contenues dans les jeux de données suivantes :
gala (faraway), variable réponse : Species
SwissLabor (AER), variable réponse : participation
RecreationDemand (AER), variable réponse : trips
heart.data (glmpath), variable réponse : y
pulp (faraway), variable réponse : bright
Penicillin (lme4), variable réponse : diameter (à ne pas confondre avec le jeu de données penicillin du package faraway)
sleepstudy (lme4), variable réponse : Reaction
gasoline (pls), variable réponse : octane
savings (faraway), variable réponse : savings
De nombreux autres jeux de données disponibles sans la distribution de R peuvent aussi
servir d’entrainement :
dicentric (faraway), variable réponse : ca
swiss (datasets), variable réponse : Fertility
esoph (datasets), variable réponse : nombre de cas de cancers
rock (datasets), variable réponse : perm
mtcars (datasets), variable réponse : mpg
attitude (datasets), variable réponse : rating
prostate (faraway), variable réponse : lpsa
teengamb (faraway), variable réponse : gamble
bliss (faraway), variable réponse : statut =dead/alive
hormone (faraway), variable réponse : orientation
solder (faraway), variable réponse : skips
dvisits (faraway), variable réponse : doctorco
wafer (faraway), variable réponse : resist
mammalsleep (faraway), variable réponse : pdr
eggs (faraway), variable réponse : Fat
abrasion (faraway), variable réponse : wear
vision (faraway), variable réponse : acuity
ctsib (faraway), variable réponse : stable
epilepsy (faraway), variable réponse : seizures
cake (lme4), variable réponse : angle
cbpp (lme4), variable réponse : incidence
yarn (pls), variable réponse : density
Quelques fonctions utiles et quelques recommandations
Pour ajuster un modèle linéaire, utiliser
lm(formula,data)
Supposons que Y, X1, X2 et X3 sont des variables quantitatives (donc du type numeric), A est
une variable qualitative (donc du type factor). Voici quelques formules possibles pour écrire
un modèle linéaire.
Y∼X1
Y∼1+X1
Y∼-1+X1
Y∼0+X1
Y∼X1-1
log(Y)∼X1+X2
Y∼X1*X2
Y∼X1*X2*X3-X1:X2:X3
Y∼(X1+X2+X3)b 2
Y∼A
Y∼A+X1
régression linéaire simple avec intercept implicite
régression linéaire simple (identique au précédent) avec intercept explicite
régression linéaire simple sans intercept
régression linéaire simple sans intercept (identique au précédent)
régression linéaire simple sans intercept (identique au précédent)
régression linéaire multiple sur log(Y) (avec intercept implicite)
régression linéaire multiple avec interaction d’ordre 2
régression linéaire multiple avec interaction d’ordre 2
régression linéaire multiple avec interaction d’ordre 2 (identique au précédent)
analyse de la variance à un critère de classification
analyse de la covariance
set.seed (base)
str (utils)
head (utils)
rmvnorm (mvtnorm)
xtabs (stats)
scatterplotMatrix (car)
scatter.smooth (stats)
boxcox (MASS)
bcPower (car)
lm (stats)
gls (nlme) =lm.gls (MASS)
glm (stats)
glm2 (glm2)
geeglm (geepack)
glm.nb (MASS)
summary (base)
model.matrix (stats)
deviance (stats)
logLik (stats)
confint (stats)
confint (MASS)
shapiro.test (stats)
ks.test (stats)
qqPlot (car)
qqnorm (stats)
qqline (stats)
AIC (stats)
stepAIC (MASS) ou step (stats)
influence.measures (stats)
hatvalues (stats) =hat (stats)
cooks.distance (stats) =cookd (car)
dfftits (stats)
dfbetas (stats)
covratio (stats)
vif (car)
coeftest (lmtest)
anova (stats)
waldtest (lmtest)
dwtest (lmtest)
bgtest (lmtest)
bptest (lmtest)
leveneTest (car)
linearHypothesis (car)
outlierTest (car)
chisq.out.test (outliers)
crPlots (car)
avPlots (car)
ceresPlots (car)
permet de réaliser des simulations reproductibles
donne la structure d’un jeu de données
permet de voir les premières lignes d’un jeu de données
simule des vecteurs gaussiens
réalise des tables de contingence
fournit des tracés exploratoires
fournit des tracés exploratoires
transformation de Box-Cox dans le cas d’un LNM
transformation de Box-Cox, Yeo-Johnson ou puissance
ajuste un modèle de régression linéaire gaussien standard
ajuste un LNM par moindres carrés généralisés
ajuste un modèle de régression linéaire généralisé
similaire à glm mais plus stable en matière de convergence
de l’algorithme d’estimation
similaire à glm avec “family=quasi” à ceci près que
la méthode anova est ici disponible
ajuste un modèle de régression binomial négatif
renvoie les résultats de l’ajustement du modèle
renvoie la matrice expérimentale
renvoie la déviance du modèle
renvoie la log-vraisemblance du modèle
détermine un IC pour chaque coefficient d’un LNM
détermine un IC pour chaque coefficient d’un GLM
effectue un test de Shapiro-Wilk
effectue un test de Kolmogorov-Smirnov
effectue un QQ-plot avec bandes de confiance
effectue un QQ-plot
ajoute à un QQplot une droite qui passe par
les 1ers et 3èmes quartiles
renvoie l’AIC du modèle
procède au choix automatique des covariables
effectue un diagnostic d’individus influents
renvoie les leviers
calcule la distance de Cook
calcule les dffits
calcule les dfbetas
calcule le covariance ratio
calcule le variance inflation factor
effectue des tests z et (quasi-)t sur les coefficients
comparaison de deux modèles emboités avec un F-test
effectue un test de Wald pour modèles emboités
effectue un test de Durbin-Watson
effectue un test de Breusch-Godfrey
test d’hétéroscédasticité de Breusch-Pagan
test d’homogénéité des variances entre différents groupes
effectue des tests linéaires d’hypothèses
test d’outliers de Bonferroni sur les residus studentisés
test d’outlier dans un vecteur de données
NB : rejette seulement les outliers extremes
effectue un tracé des résidus partiels
effectue un tracé added-variables plot
effectue un tracé des résidus CERES
residuals (stats)
rstandard (stats)
rstudent (stats)
residualsAnscombe (wle)
= anscresid (modtools)
qresiduals (statmod)
modplot (modtools)
dispersiontest (AER)
halfnorm (faraway)
pseudoR2 (modtools)
Rsq.glm (binomTools)
HLtest.Rsq (binomTools)
negbin (aod)
vglm (VGAM)
zeroinfl (pscl)
hurdle (pscl)
vcov (sandwich)
vcovHC (sandwich)
vcovHAC (sandwich)
NeweyWest (sandwich)
ncvTest (car)
xyplot (lattice)
dotplot (lattice)
lme (nlme) ou lmer (lme4)
glmer (lme4)
glmmPQL (MASS)
fixef (lme4)
ranef (lme4)
VarCorr (lme4)
princomp (stats)
lm.ridge (MASS)
linear.pls (plsdof)
plsr (pls)
pcr (pls) = pcr (plsdof)
lars (lars)
glmnet (glmnet)
lowess
loess
smooth.spline
locfit (locfit)
gam (gam)
gam (mgcv)
renvoie
renvoie
renvoie
renvoie
les
les
les
les
résidus
résidus
résidus
résidus
de base
standardisés
studentisés
d’Anscombe
calcule les résidus quantiles randomisés
effectue le tracé de plusieurs graphiques utiles
pour l’évaluation de l’adéquation
effectue un test de surdispersion
effectue un halfnormal plot
calcule le pseudo R2 de McFadden
calcule un pseudo R2 pour modèles binomiaux
effectue un test d’ajustement du modèle de régression binomial
ajuste un modèle de régression binômial négatif
permet d’ajuster des modèles de régression de Poisson
et binomial négatifs tronqués
ajuste un zero-inflated model
ajuste un modèle de Hurdle
renvoie la matrice de variance estimée (naı̈ve)
renvoie la matrice de variance estimée heteroskedasticity-consistent
renvoie la matrice de variance estimée
Heteroskedasticity and Autocorrelation Consistent
renvoie la matrice de variance estimée
Heteroskedasticity and Autocorrelation Consistent, version Newey-West
test d’hétéroscédasticité
tracé en treillis
tracé en treillis
ajuste un modèle linéaire gaussien mixte
ajuste un modèle linéaire généralisé mixte
ajuste les GLMM au moyen de la technique PQL
estimation des effets fixes dans un modèle mixte
prévision des effets aléatoires dans un modèle mixte
estime les composantes de la variance d’un modèle mixte
détermine les composantes principales
effectue une régression ridge
ajuste un modèle de régression PLS
ajuste un modèle de régression PLS
ajuste un modèle de régression sur composantes principales
solveur de la régression LASSO
ajuste un GLM avec méthode de LASSO ou elastic net
régression par polynômes locaux pour la régression simple
régression par polynômes locaux pour la régression multiple
estimation par spline de la régression simple
régression non-paramétrique généralisée estimée par vraisemblance locale
modèle généralisé additif ajusté par spline ou par vraisemblance locale
modèle généralisé additif dont le paramètre de lissage est choisi
par validation croisée