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