Université de Caen Basse-Normandie. Christophe Chesneau. http://www.math.unicaen.fr/~chesneau/



Documents pareils
LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

Introduction à l approche bootstrap

Probabilités sur un univers fini

TABLE DES MATIERES. C Exercices complémentaires 42

STATISTIQUES. UE Modélisation pour la biologie

Méthodes de Simulation

Etude des propriétés empiriques du lasso par simulations

Chapitre 3. Les distributions à deux variables

Correction du baccalauréat STMG Polynésie 17 juin 2014

Relation entre deux variables : estimation de la corrélation linéaire

UFR de Sciences Economiques Année TESTS PARAMÉTRIQUES

3 Approximation de solutions d équations

Simulation de variables aléatoires

1 Définition de la non stationnarité

Température corporelle d un castor (une petite introduction aux séries temporelles)

1 Complément sur la projection du nuage des individus

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

La fonction exponentielle

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Biostatistiques Biologie- Vétérinaire FUNDP Eric Depiereux, Benoît DeHertogh, Grégoire Vincke

Évaluation de la régression bornée

Chapitre 2 Le problème de l unicité des solutions

TSTI 2D CH X : Exemples de lois à densité 1

Théorème du point fixe - Théorème de l inversion locale

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Programmes des classes préparatoires aux Grandes Ecoles

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Régression linéaire. Nicolas Turenne INRA

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Probabilités sur un univers fini

Données longitudinales et modèles de survie

Exemples d application

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Correction de l examen de la première session

Arbres binaires de décision

Analyses de Variance à un ou plusieurs facteurs Régressions Analyse de Covariance Modèles Linéaires Généralisés

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Chapitre VI - Méthodes de factorisation

Logiciel XLSTAT version rue Damrémont PARIS

FORMULAIRE DE STATISTIQUES

Résolution de systèmes linéaires par des méthodes directes

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

FOAD COURS D ECONOMETRIE 1 CHAPITRE 2 : Hétéroscédasicité des erreurs. 23 mars 2012.

La problématique des tests. Cours V. 7 mars Comment quantifier la performance d un test? Hypothèses simples et composites

CCP PSI Mathématiques 1 : un corrigé

Estimation et tests statistiques, TD 5. Solutions

Correction du Baccalauréat S Amérique du Nord mai 2007

Le Modèle Linéaire par l exemple :

TABLE DES MATIÈRES. Bruxelles, De Boeck, 2011, 736 p.

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Résolution d équations non linéaires

IBM SPSS Regression 21

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Coup de Projecteur sur les Réseaux de Neurones

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

VI. Tests non paramétriques sur un échantillon

Moments des variables aléatoires réelles

Tests non-paramétriques de non-effet et d adéquation pour des covariables fonctionnelles

2 TABLE DES MATIÈRES. I.8.2 Exemple... 38

Exercices M1 SES Ana Fermin ( fermin.perso.math.cnrs.fr/ ) 14 Avril 2015

Cours d Analyse. Fonctions de plusieurs variables

Probabilités et Statistiques. Feuille 2 : variables aléatoires discrètes

Principe d un test statistique

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Introduction aux Statistiques et à l utilisation du logiciel R

Table des matières. I Mise à niveau 11. Préface

Programmation linéaire

Calcul différentiel sur R n Première partie

Feuille 6 : Tests. Peut-on dire que l usine a respecté ses engagements? Faire un test d hypothèses pour y répondre.

Probabilités III Introduction à l évaluation d options

Introduction à la statistique non paramétrique

données en connaissance et en actions?

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

IV- Equations, inéquations dans R, Systèmes d équations

La classification automatique de données quantitatives

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Analyse en Composantes Principales

Quantification Scalaire et Prédictive

Texte Agrégation limitée par diffusion interne

Statistiques descriptives

«Cours Statistique et logiciel R»

Exercice : la frontière des portefeuilles optimaux sans actif certain

avec des nombres entiers

Chapitre 3 : Principe des tests statistiques d hypothèse. José LABARERE

4 Distributions particulières de probabilités

Enjeux mathématiques et Statistiques du Big Data

NON-LINEARITE ET RESEAUX NEURONAUX

Le Data Mining au service du Scoring ou notation statistique des emprunteurs!

Leçon N 4 : Statistiques à deux variables

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Précision d un résultat et calculs d incertitudes

Transcription:

Basse-Normandie Christophe Chesneau http://www.math.unicaen.fr/~chesneau/ Caen, le 18 Juillet 2015

Table des matières 1 Présentation 6 2 Régression linéaire multiple (rlm) 7 2.1 Contexte............................................ 7 2.2 Estimations.......................................... 10 2.3 Coefficients de détermination................................ 12 2.4 Lois des estimateurs..................................... 13 2.5 Intervalles de confiance.................................... 14 2.6 Tests d hypothèses...................................... 15 3 Améliorations et validation des hypothèses 17 3.1 Motivation........................................... 17 3.2 Analyses du/des nuages de points.............................. 18 3.3 Analyses graphiques des résidus............................... 20 3.4 Outils de vérification..................................... 23 3.4.1 Indépendance de ɛ 1,..., ɛ n.............................. 24 3.4.2 V(ɛ 1 ) =... = V(ɛ n )................................. 27 3.4.3 Normalité de ɛ 1,..., ɛ n................................ 29 3.5 Multicolinéarité........................................ 31 3.6 Détection des valeurs anormales............................... 35 3.7 Stabilité du modèle...................................... 38 3.8 Sélection de variables..................................... 40 3.9 Traitement de variables qualitatives............................. 46 C. Chesneau 2

4 Méthode des moindres carrés généralisés (mcg) 49 4.1 Contexte............................................ 49 4.2 Quelques résultats...................................... 52 4.3 Hétéroscédasticité des erreurs et mcg............................ 53 4.4 Cas de données groupées................................... 54 4.5 Correction d hétéroscedasticité............................... 57 4.6 Autocorrélation des erreurs et mcg............................. 61 5 Régression non-linéaire 68 5.1 Contexte............................................ 68 5.2 Régression polynomiale.................................... 70 5.3 Résidus partiels........................................ 71 5.4 Méthode itérative....................................... 75 5.5 Extension : régression non-paramétrique.......................... 79 6 Régression logistique 82 6.1 Contexte............................................ 82 6.2 Transformation logit..................................... 84 6.3 Variable latente........................................ 86 6.4 Estimation.......................................... 89 6.5 Significativité de la régression................................ 92 6.6 Rapport des côtes....................................... 94 6.7 Intervalles de confiance.................................... 96 6.8 Pertinence du modèle..................................... 98 6.9 Détection des valeurs anormales............................... 101 C. Chesneau 3

6.10 Sélection de variables..................................... 103 6.11 Qualité du modèle...................................... 105 6.12 Cas des données groupées.................................. 108 7 Régression polytomique 110 7.1 Contexte............................................ 110 7.2 Régression multinomiale (ou polytomique non-ordonnée)................. 112 7.2.1 Contexte....................................... 112 7.2.2 Estimation...................................... 113 7.2.3 Significativité du modèle............................... 115 7.2.4 Sélection de variables................................. 117 7.2.5 Qualité du modèle.................................. 118 7.3 Régression polytomique ordonnée.............................. 120 8 Régression de Poisson 122 8.1 Contexte............................................ 122 8.2 Significativité de la régression................................ 126 8.3 Intervalles de confiance.................................... 128 8.4 Pertinence du modèle..................................... 129 8.5 Détection des valeurs anormales............................... 132 8.6 Sélection de variables..................................... 134 8.7 Dispersion anormale..................................... 136 8.8 Terme de décallage (offset).................................. 138 9 Jeux de données 141 C. Chesneau 4

10 Annexe : emv 142 10.1 Méthode............................................ 142 10.2 Résultats asymptotiques................................... 143 10.3 Test global.......................................... 143 10.4 Test partiel.......................................... 143 10.5 Algorithme de Newton-Raphson et emv.......................... 144 Index 145 C. Chesneau 5

1 Présentation Ce document résume les notions abordées dans le cours Modèle de Régression du M2 MASS (MIASHS) de l université de Caen. Un des objectifs est de donner des pistes de réflexion à la construction de modèles prédictifs à partir de données. Les méthodes statistiques y sont décrites de manière concise, avec les commandes R associées. La présente version est la première, avec tous les défauts que cela comporte. Entre autre, on relève une absence totale d exemple et d application. Ce vide sera comblé dans le futur avec une quinzaine d études sur jeux de données réelles, actuellement en cours d amélioration. Je vous invite à me contacter pour tout commentaire : christophe.chesneau@gmail.com Bonne lecture. C. Chesneau 6

2 Régression linéaire multiple (rlm) 2.1 Contexte Problématique : On souhaite expliquer une variable (ou caractère) Y en fonction de p autres variables X 1,..., X p. Ainsi, Y est la variable à expliquer, X 1,..., X p sont des variables explicatives. Données : Les données constituent des observations de ces variables. Ce sont n observations de (Y, X 1,..., X p ) notées (y 1, x 1,1,..., x p,1 ),..., (y n, x 1,n,..., x p,n ). Elles se présentent généralement sous la forme d un tableau : Y X 1... X p y 1 x 1,1... x p,1 y 2 x 1,2 x p,2.... y n x 1,n... x p,n Modèle de régression linéaire multiple : Si une liaison linéaire entre Y et X 1,..., X p est envisageable, on peut considérer le modèle de régression linéaire multiple (rlm) : il existe p + 1 coefficients inconnus β 0,..., β p tels que C. Chesneau 7

Y = β 0 + β 1 X 1 +... + β p X p + ɛ, où ɛ est une quantité représentant une somme d erreurs. On modélise Y, X1, X2 et X3 par une rlm en faisant : reg = lm(y ~ X1 + X2 + X3) Objectif : Un objectif est d estimer les coefficients inconnus β 0,..., β p à l aide des données afin de prédire la valeur moyenne de Y pour une nouvelle valeur de (X 1,..., X p ). Modélisation : On modélise les variables considérées comme des variables aléatoires réelles (var) (définies sur un espace probabilisé (Ω, A, P)). Pour tout i {1,..., n}, (x 1,i,..., x p,i ) est une réalisation du vecteur aléatoire réel (X 1,..., X p ), sachant que (X 1,..., X p ) = (x 1,i,..., x p,i ), y i est une réalisation de Y i = β 0 + β 1 x 1,i +... + β p x p,i + ɛ i, où ɛ i est une var modélisant une somme d erreurs. Remarque : Pour tout x = (x 1,..., x p ) R p, sous l hypothèse que E(ɛ {(X 1,..., X p ) = x}) = 0, le modèle de rlm peut s écrire comme E(Y {(X 1,..., X p ) = x}) = β 0 + β 1 x 1 +... + β p x p. Ainsi, sachant que (X 1,..., X p ) = x, la valeur moyenne de Y est une combinaison linéaire de (x 1,..., x p ). C. Chesneau 8

Écriture matricielle : Le modèle de rlm s écrit sous la forme matricielle : Y = Xβ + ɛ, où 1 x 1,1 x p,1 Y 1 β 0 ɛ 1 1 x 1,2 x p,2 Y 2 β 1 ɛ X =, Y =, β =, ɛ =....... 2. 1 x 1,n x p,n Y n β p ɛ n Hypothèses standards : On suppose que (X t X) 1 existe, ɛ et X 1,..., X p sont des var indépendantes et ɛ N n (0, σ 2 I n ) où σ est un paramètre inconnu. En particulier, cette dernière hypothèse entraîne que ɛ 1,..., ɛ n sont indépendantes, V(ɛ 1 ) =... = V(ɛ n ), ɛ 1,..., ɛ n suivent chacune la loi normale centrée. C. Chesneau 9

2.2 Estimations Emco : L estimateur des moindres carrés ordinaires (emco) de β est β = (X t X) 1 X t Y. Il est construit de sorte que l erreur d estimation entre X β et Y soit la plus petite possible au sens. 2 : où. désigne la norme euclidienne de R n : β = Argmin β R p+1 Y Xβ 2, < a, b >= a t b = b t a = n a i b i, a 2 =< a, a >= a t a = i=1 n a 2 i. i=1 Pour tout j {0,..., p}, la j + 1-ème composante de β, notée β j, est l emco de β j. Emco et emv : L emco de β est l estimateur du maximum de vraisemblance (emv) de β. En effet, la vraisemblance associée à (Y 1,..., Y n ) est L(β, z) = ) 1 z Xβ 2 (2πσ 2 exp ( ) n/2 2σ 2 ), z R n. Par conséquent Argmax β R p+1 L(β, Y ) = Argmin Y Xβ 2 = β. β R p+1 Estimateur de la prédiction : Soit y x la valeur prédite moyenne de Y lorsque (X 1,..., X p ) = C. Chesneau 10

(x 1,..., x p ) = x : y x = β 0 + β 1 x 1 +... + β p x p. Un estimateur de y x est Ŷ x = β 0 + β 1 x 1 +... + β p x p. Estimateur de σ 2 : Un estimateur de σ 2 est σ 2 = 1 n (p + 1) Y X β 2. Il vérifie E( σ 2 ) = σ 2. De plus, σ 2 et β sont indépendants. Estimations ponctuelles : En pratique, on considère les réalisations de β 0, β 1,..., β p, σ 2 correspondantes aux données. On travaille donc avec des réels. reg = lm(y ~ X1 + X2 + X3) On obtient les estimations ponctuelles de β 0, β 1, β 2 et β 3 par la commande : reg Pour isoler l estimation ponctuelle de β 2 (par exemple), on fait : reg$coeff[3] Les valeurs prédites moyennes de Y prises aux valeurs des données de X1, X2 et X3 s obtiennent en faisant : predict(reg) (ou fitted(reg)) La valeur prédite moyenne de Y pour la valeur (X1, X2, X3) = (1.2, 2.2, 6) est donnée par la commande : predict(reg, data.frame(x1 = 1.2, X2 = 2.2, X3 = 6)) Si le coefficient β 0 n a pas de sens dans la modélisation, on l enlève en faisant : reg = lm(y ~ X1 + X2 + X3-1) C. Chesneau 11

2.3 Coefficients de détermination Coefficients de détermination : On appelle coefficient de détermination la réalisation R 2 de R 2 = Ŷ Y 2 Y Y 2, où Ŷ = X β et Y = (1/n) n i=1 Y i. Ce R 2 est un coefficient réel toujours compris entre 0 et 1. Il mesure de la qualité de l ajustement des données par le modèle de rlm ; plus R 2 est proche de 1, (plus Ŷ est proche de Y ), meilleur est le modèle. Coefficients de détermination ajusté : On appelle coefficient de détermination ajusté le réel : R 2 = R 2 (1 R 2 p ) n (p + 1). Ce coefficient est considéré comme plus fiable que R 2 car il tient compte du nombre de variables. Le R 2 et R 2 sont donnés par la commande : summary(reg) C. Chesneau 12

2.4 Lois des estimateurs Loi de β : On a β N p+1 ( β, σ 2 (X t X) 1). La matrice de covariance estimée de β, qui est aussi la réalisation de σ 2 (X t X) 1, est donnée par la commande : vcov(reg) Loi de β j : Pour tout j {0,..., p}, on a β j N ( β j, σ 2 [(X t X) 1 ] j+1,j+1 ), βj β j σ [(X t X) 1 ] j+1,j+1 N (0, 1), où [(X t X) 1 ] j+1,j+1 désigne la j + 1-ème composante diagonale de (X t X) 1. Degrés de liberté : Dans ce qui suit, on travaillera avec le nombre de degrés de liberté : ν = n (p + 1). Loi associée à σ 2 : On a (n (p + 1)) σ2 σ 2 χ2 (ν). Apparition de la loi de Student : Pour tout j {0,..., p}, on a β j β j σ [(X t X) 1 ] j+1,j+1 T (ν). C. Chesneau 13

2.5 Intervalles de confiance Intervalle de confiance pour β j : Pour tout j {0,..., p}, un intervalle de confiance pour β j au niveau 100(1 α)%, α ]0, 1[, est la réalisation i βj de I βj = [ ] β j t α (ν) σ [(X t X) 1 ] j+1,j+1, βj + t α (ν) σ [(X t X) 1 ] j+1,j+1, où t α (ν) est le réel vérifiant P( T t α (ν)) = α, avec T T (ν). confint(reg, level = 0.95) Intervalle de confiance pour y x : Soient y x la prédiction moyenne de Y quand (X 1,..., X p ) = (x 1,..., x p ) = x et x = (1, x 1,..., x p ). Un intervalle de confiance pour y x au niveau 100(1 α)%, α ]0, 1[, est la réalisation i yx de I yx = [Ŷx t α (ν) σ x (X t X) 1 x t, Ŷ x + t α (ν) σ x (X t X) 1 x t ], où t α (ν) est le réel vérifiant P( T t α (ν)) = α, avec T T (ν). predict(reg, data.frame(x1 = 1.2, X2 = 2.2, X3 = 6), interval = "confidence") C. Chesneau 14

2.6 Tests d hypothèses p-valeur : On considère des hypothèses de la forme : H 0 : A contre H 1 : contraire de A La p-valeur est la probabilité exacte (ou presque) de se tromper en rejetant H 0. Ainsi, le plus petit risque de se tromper en rejetant H 0 est (100 p-valeur)%. Degrés de significativité : Le rejet de H 0 sera significatif si p-valeur ]0.01, 0.05], symbolisé par, très significatif si p-valeur ]0.001, 0.01], symbolisé par, hautement significatif si p-valeur < 0.001, symbolisé par, (presque significatif si p-valeur ]0.05, 0.1], symbolisé par. (un point)). Test de Student : Soit j {0,..., p}. L objectif du test de Student est d évaluer l influence de X j sur Y. On considère les hypothèses : H 0 : β j = 0 contre H 1 : β j 0. On calcule la réalisation t obs de T = β j σ [(X t X) 1 ] j+1,j+1. On considère une var T T (ν). Alors la p-valeur associée est p-valeur = P( T t obs ). Si C. Chesneau 15

, l influence de X j sur Y est significative,, l influence de X j sur Y est très significative,, l influence de X j sur Y est hautement significative. Test global de Fisher : L objectif du test global de Fisher est d étudier la pertinence du lien linéaire entre Y et X 1,..., X p. On considère les hypothèses : H 0 : β 1 = β 2 =... = β p = 0 contre H 1 : il y a au moins un coefficient non nul. On calcule la réalisation f obs de F = R 2 n (p + 1) 1 R. 2 p On considère une var F F(p, ν). Alors la p-valeur associée est p-valeur = P(F f obs ). Notons que ce test est moins précis que le test de Student car il ne précise pas quels sont les coefficients non nuls. Il est toutefois un indicateur utile pour déceler d éventuelles problèmes (comme des colinéarités entre X 1,..., X p ). Les tests d hypothèses précédents sont mis en œuvre par la commande : summary(reg) C. Chesneau 16

3 Améliorations et validation des hypothèses 3.1 Motivation Questions : 1. Peut-on améliorer les estimations des paramètres? 2. Comment valider ces hypothèses avec les données? Rappel : Les hypothèses suivantes ont été formulées : ɛ et X 1,..., X p sont indépendantes, ɛ 1,..., ɛ n sont indépendantes, V(ɛ 1 ) =... = V(ɛ n ), ɛ 1,..., ɛ n suivent des lois normale centrées. Commandes R clés : Une première analyse de la validation de ces hypothèses doit être graphique. Les commandes clés sont : par(mfrow = c(2, 2)) plot(reg, 1:4) Des tests d hypothèses rigoureux viendront ensuite confirmer/infirmer cette première analyse visuelle. C. Chesneau 17

3.2 Analyses du/des nuages de points Pertinence du modèle : Pour certain problème, le modèle de rlm n est pas le plus adapté. Il est parfois judicieux de transformer Y et X 1,..., X p, puis de les modéliser par une rlm. Ainsi, on considère un modèle de la forme : f(y ) = β 0 + β 1 g 1 (X 1 ) +... + β p g p (X p ) + ɛ, où f, g 1,..., g p désignent des transformations/fonctions à choisir. Choix des transformations : Les p nuages de points : {(x j,i, y i ); i {1,..., n}}, j {1,..., p} peuvent nous aiguiller sur les transformations candidates. Pour tout j {1,..., p}, une approche intuitive consiste à déterminer des fonctions f et g j telles que le nuage de points {(g j (x j,i ), f(y i )); i {1,..., n}} soit ajustable par une droite. plot(w) ou pairs(cbind(y, X1, X2)) Nous verrons par la suite les limites de cette approche et étudierons les méthodes alternatives (dans le chapitre Régression non-linéaire). C. Chesneau 18

Exemple : Dans l exemple-ci dessous, on cherche à expliquer Y en fonction X 1 : Vu le nuage de points, il est préférable de considérer la transformation exp(y ) et de faire une régression linéaire sur X 1, soit exp(y ) = β 0 + β 1 X 1 + ɛ. On obtiendra des estimations de β 0 et β 1 avec un meilleur R 2. Un exemple de rlm avec variables transformées est reg = lm(log(y) ~ sqrt(x1) + exp(x2) + X3) C. Chesneau 19

3.3 Analyses graphiques des résidus Résidus : Pour tout i {1,..., n}, on appelle i-ème résidu la réalisation e i de ɛ i = Y i Ŷi, où Ŷi = β 0 + β 1 x 1,i +... + β p x p,i. On appelle résidus les réels e 1,..., e n. Ces résidus vont nous permettre de valider ou non les hypothèses initiales. residuals(reg) Résidus standardisés : Pour tout i {1,..., n}, on appelle i-ème résidu standardisé la réalisation e i de ɛ i = ɛ i σ 1 [X(X t X) 1 X t ] i,i. On appelle résidus standardisés les réels e 1,..., e n. rstandard(reg) Lois : Pour tout i {1,..., n}, si les hypothèses initiales sont vérifiées, on a ɛ i N ( 0, σ 2 (1 [X(X t X) 1 X t ] i,i ) ), ɛ i 1 [X(X t X) 1 X t ] i,i N (0, σ 2 ) et ɛ i = ɛ i σ 1 [X(X t X) 1 X t ] i,i T (ν). C. Chesneau 20

Analyse graphique 1 : On trace le nuage de points : {(e i, y i e i ); i {1,..., n}}. Notons que y i e i est la réalisation de Ŷi = Y i ɛ i. Si on ne peut pas ajuster le nuage de points par une "ligne" (droite ou ondulée), on admet que ɛ et X 1,..., X p sont indépendantes : tout va bien. plot(reg, 1) Si problème : Si on peut ajuster le nuage de points par une "ligne" (droite ou ondulée), on soupçonne que ɛ et X 1,..., X p sont dépendantes. Le lien linéaire entre Y et X 1,..., X p peut être remis en question. Analyse graphique 2 : On trace le nuage de points : {(i, e i ); i {1,..., n}}. Si le nuage de points n a aucune structure particulière, il y a une symétrie dans la répartition des points par rapport à l axe des abscisses, alors on admet que ɛ N n (0, σ 2 I n ) : tout va bien. plot(residuals(reg)) Si problème : 1. Si le nuage de points a l allure d une route sinueuse ou d un mégaphone, on soupçonne que les var ɛ 1,..., ɛ n sont dépendantes (si cela a du sens), ou/et V(ɛ 1 ) =... = V(ɛ n ) n est pas C. Chesneau 21

vérifiée. 2. S il y a une asymétrie dans la répartition des points par rapport à l axe des abscisses, l hypothèse de normalité de ɛ 1,..., ɛ n est à étudier. C. Chesneau 22

3.4 Outils de vérification En cas de doute, il convient de vérifier, dans l ordre : l indépendance de ɛ 1,..., ɛ n, l égalité V(ɛ 1 ) =... = V(ɛ n ), la normalité de ɛ 1,..., ɛ n. C. Chesneau 23

3.4.1 Indépendance de ɛ 1,..., ɛ n Motivation : Si les observations de Y, X 1,..., X p portent sur des individus tous différents et que le modèle de rlm a du sens, ɛ 1,..., ɛ n sont indépendantes. Par conséquent, si on distingue une structure dans le nuage des points des résidus (route sinueuse, mégaphone,... ), soit le modèle n est pas adapté, soit il faut se tourner vers la vérification de l hypothèse V(ɛ 1 ) =... = V(ɛ n ). En revanche, si les observations de Y, X 1,..., X p présentent une dépendance temporelle, la dépendance de ɛ 1,..., ɛ n est à étudier. Corrélogramme : Pour étudier l indépendance de ɛ 1,..., ɛ n, partant des résidus e 1,..., e n, la première approche consiste à tracer le corrélogramme. Celui-ci représente les estimations ponctuelles de la fonction d autocorrélation (acf) définie par ρ(h) = C(ɛ i, ɛ i+h ), i {1,..., n h}, h {1,..., n 1}, σ(ɛ i )σ(ɛ i+h ) sous forme de bâtons. La liaison linéaire entre ɛ i et ɛ i+h est mesurée. On peut aussi calculer un intervalle de confiance pour ρ(h) au delà duquel la dépendance est remise en cause. Si les bâtons sont de tailles et de signes alternés (ou presque) et qu aucun d entre eux ne dépassent les bornes de l intervalle de confiance (ou presque), on admet l indépendance de ɛ 1,..., ɛ n : tout va bien. C. Chesneau 24

acf(residuals(reg)) Corrélogramme partiel : Le corrélogramme partiel vient compléter l étude précédente ; il représente les estimations ponctuelles de la fonction d autocorrélation partielle (pacf) sous forme de bâtons. Cette fonction mesure la liaison linéaire entre ɛ i et ɛ i+h une fois retirés les liens transitant par les variables intermédiaires ɛ i+1,..., ɛ i+h 1. L interprétation est la même que pour l acf. pacf(residuals(reg)) Si problème : Ainsi, si les sommets des bâtons peuvent être rejoints par une ligne serpentée "sans pic" ou si plusieurs bâtons dépassent les bornes de l intervalle de confiance, une dépendance peut-être soupçonnée. Cela peut être confirmé avec le test de Ljung-Box. Test de Ljung-Box (ou du portemanteau) : On considère les hypothèses : H 0 : ρ(1) =... = ρ(n) = 0 contre H 1 : au moins une corrélation n est pas nulle. Partant des résidus e 1,..., e n, on peut utiliser le test de Ljung-Box : si p-valeur < 0.05, on admet qu au moins une corrélation n est pas nulle, donc que ɛ 1,..., ɛ n ne sont pas indépendantes. library(lawstat) Box.test(residuals(reg), type = "Ljung") Structure de dépendance : Si la dépendance ɛ 1,..., ɛ n est avérée ; le modèle de rlm n est pas adapté. Afin de trouver une alternative, il est intéressant d identifier, si possible, la structure de dépendance associée. La structure AR(1) présentée ci-après est l une des plus répandue. C. Chesneau 25

Structure AR(1) : On dit que ɛ 1,..., ɛ n ont une structure auto-régressive de degré 1 (AR(1)) si il existe : ρ ] 1, 1[ {0}, n var iid u 1,..., u n suivant chacune la loi normale N (0, υ 2 ), tels que, pour tout i {1,..., n}, ɛ i = ρɛ i 1 + u i. Le réel ρ mesure la dépendance de ɛ 1,..., ɛ n ; si ρ = 0, pour tout i {1,..., n}, ɛ i = u i, donc ɛ 1,..., ɛ n sont indépendants, si ρ 0, on admet la structure AR(1 ) ; ɛ 1,..., ɛ n ne sont pas indépendants. Test de Durbin-Watson : On considère les hypothèses : H 0 : ρ = 0 contre H 1 : ρ 0. Partant des résidus e 1,..., e n, on peut utiliser le test de Durbin-Watson : si p-valeur < 0.05, alors on admet que ρ 0, entraînant la structure AR(1 ) de ɛ 1,..., ɛ n. library(lmtest) dwtest(reg) Si problème : Dans le cas d une structure AR(1) sur ɛ 1,..., ɛ n, on est capable d estimer efficacement β. Cela sera présenté dans le chapitre Méthode des moindres carrés généralisés. C. Chesneau 26

3.4.2 V(ɛ 1 ) =... = V(ɛ n ) Graphique "Scale-Location" : On considère le nuage de points : { } ( e i, y i e i ); i {1,..., n}. Si on ne distingue aucune structure, on peut admettre que V(ɛ 1 ) =... = V(ɛ n ) : tout va bien. plot(reg, 3) Test de White : Admettons que ɛ 1,..., ɛ n soient indépendantes. Pour étudier l égalité V(ɛ 1 ) =... = V(ɛ n ), partant des résidus e 1,..., e n, on préconise le test de White. L idée est de tester l existence d un lien linéaire entre ɛ 2 et les p 2 variables constituées de X 1,..., X p, les carrés : X1 2,..., X2 p, les produits croisés : X 1 X 2, X 1 X 3,..., X p 1 X p. Si p-valeur > 0.05, on admet que V(ɛ 1 ) =... = V(ɛ n ). library(bstats) white.test(reg) Alternativement, on peut utiliser le test de Breusch-Pagan qui repose sur une idée similaire. library(lmtest) bptest(reg) Méthode de Glejser : La méthode de Glejser étudie l existence d un lien linéaire entre ɛ et des transformations (subjectives) de X 1,..., X p. Si au moins une variable influe très significativement sur ɛ, on rejette V(ɛ 1 ) =... = V(ɛ n ). C. Chesneau 27

e = residuals(reg) reg2 = lm(abs(e) ~ sqrt(x1) + X2ˆ0.3 + log(x3)) summary(reg2) Si problème : On propose 2 solutions : Une rlm avec Y transformée (comme ln Y, Y ou 1/Y ) peut engendrer des nouvelles variables d erreurs ɛ 1,..., ɛ n vérifiant V(ɛ 1 ) =... = V(ɛ n ). Dès lors, on peut utiliser ce nouveau modèle pour une étude statistique. Si, pour tout i {1,..., n}, on a une idée de la valeur de V(ɛ i ) ou que celle-ci est estimable, alors nous verrons une solution dans le chapitre Méthode des moindres carrés généralisés. C. Chesneau 28

3.4.3 Normalité de ɛ 1,..., ɛ n QQ plot : Admettons que ɛ 1,..., ɛ n soient indépendantes et V(ɛ 1 ) =... = V(ɛ n ). Pour étudier plus finement la normalité de ɛ 1,..., ɛ n, on trace le nuage de points QQ plot associé (ou diagramme Quantile-Quantile). Si le nuage de points peut être très facilement ajusté par la droite y = x, alors on admet la normalité de ɛ 1,..., ɛ n. Principe du QQ plot : Le principe du QQ plot est le suivant : 1. Pour tout i {1,..., n}, si ɛ i N (0, σ 2 ), alors ɛ i = ɛ i σ 1 [X(X t X) 1 X t ] i,i T (ν). On considère alors la fonction de répartition F de ɛ 1 dans ce cas. 2. D autre part, un estimateur de la fonction de répartition de ɛ 1 dans le cas général est Ĝ(x) = (1/n) n i=1 I { ɛ i x}. Soit G(x) sa réalisation. 3. Par conséquent, si ɛ i N (0, σ 2 ), alors on a F (x) G(x) et, a fortiori, x F 1 (G(x)). Le graphique QQ plot consiste à tracer le nuage de points { (F 1 (G(e i )), e i ); i {1,..., n} }. Si ɛ i N (0, σ 2 ), alors, pour tout i {1,..., n}, (F 1 (G(e i )), e i ) (e i, e i ) et les points du C. Chesneau 29

nuage seront presque sur la droite d équation y = x. Notons que l on trace le QQ plot en fonction des résidus standardisés e 1,..., e n et la loi de Student T (ν). Si ν 30, on peut utiliser la loi normale N (0, 1) car T (ν) N (0, 1), on parle alors de QQ norm. plot(reg, 2) soit encore : qqnorm(rstandard(reg)) ou plus joli : library(car) qqplot(reg) Test de Shapiro-Wilk : Pour conclure à la normalité de ɛ 1,..., ɛ n, partant des résidus e 1,..., e n, on préconise le test de Shapiro-Wilk : si p-valeur > 0.05, on admet l hypothèse de normalité. shapiro.test(residuals(reg)) Si problème : Une rlm avec Y transformée (comme ln Y, Y ou 1/Y ) peut engendrer des nouvelles variables d erreurs ɛ 1,..., ɛ n suivant chacune une loi normale. Dès lors, on peut utiliser ce nouveau modèle pour une étude statistique. C. Chesneau 30

3.5 Multicolinéarité Problème : Si au moins une des variables parmi X 1,..., X p a une liaison (presque) linéaire avec d autres, alors det(x t X) 0. Par conséquent, les éléments de la matrice : (X t X) 1 = 1 det(x t X) com(xt X) t seront très grands (à cause du terme 1/ det(x t X) ). Comme, pour tout j {1,..., p}, β j N ( β j, σ 2 [(X t X) 1 ] j+1,j+1 ), la variance de β j explose. Conséquence : Cela entraîne une grande instabilité dans l estimation de β j et fausse tous les tests d hypothèses. En particulier, si au moins une variable parmi X 1,..., X p a une liaison linéaire avec d autres, il est possible qu aucune variable ne montre d influence significative sur Y et cela, en dépit de toute logique, du test de Fisher qui peut quand même indiquer une influence significative globale des coefficients (car il prend en compte toutes les variables). Il convient donc d étudier d éventuelles multicolinéarités dans les X 1,..., X p avant de valider des résultats statistiques (arrangeants ou pas). Méthodes : C. Chesneau 31

Règle de Klein, Facteur d inflation de la variance (vif). Règle de Klein : On calcule la matrice carré p p composée des estimations ponctuelles des corrélations : ρ i,j = C(X i, X j ) σ(x i )σ(x j ). Si une ou plusieurs valeurs au carré sont proches de R 2, alors on soupçonne que les variables associées sont colinéaires. c = cor(cbind(x1, X2, X3), cbind(x1, X2, X3)) cˆ2 Vif : Pour tout j {1,..., p}, on appelle j-ème facteur d inflation de la variance (vif) le réel : V j = 1 1 Rj 2, où R 2 j désigne le coefficient de détermination de la rlm de X j sur les autres variables. On peut montrer que la variance estimée de β j est proportionnelle à V j. Ainsi, plus le lien linéaire entre X j et les autres variables est fort, plus R 2 j est proche de 1, plus V j est grand et plus l estimation de β j est instable. Critère pratique : Si V j 5, on admet que X j a un lien linéaire avec les autres variables. library(car) vif(reg) Si problème : On propose 3 solutions : 1. On regroupe les variables colinéaires pour n en former qu une. C. Chesneau 32

Par exemple, si on soupçonne que X j et X k sont colinéaires, on peut considérer la nouvelle variable Z = a + b(x j + X k ) (ou Z = a + b(x j X k )), avec a et b arbitrairement choisis. 2. On élimine une ou plusieurs des variables colinéaires (en concertation avec un spécialiste des données pour savoir si cela a du sens). 3. On considère un autre estimateur de β : l estimateur Ridge, l estimateur LASSO. Estimateur Ridge : L estimateur ridge est défini par β = (X t X + λi p ) 1 X t Y, où λ désigne une constante positive. Il vérifie β = Argmin β R p+1 Y Xβ 2 + λ p j=1 β 2 j En general, on le calcule pour plusieurs valeurs de λ. Une constante λ convenable est estimable avec plusieurs méthodes, dont la méthode du maximum de vraisemblance. C. Chesneau 33

library(mass) reg = lm.ridge(y ~ X1 + X2 + X3, lambda = seq(0, 100, 1)) select(reg) Si cela renvoie une valeur estimée pour λ de 4 (par exemple), on considère : regridge = lm.ridge(y ~ X1 + X2 + X3, lambda = 4) summary(regridge) Estimateur LASSO : L estimateur LASSO est défini par β = Argmin β R p+1 Y Xβ 2 + λ p β j, j=1 où λ désigne une constante positive. library(lars) X = cbind(1, X1, X2) reglasso = lars(x, Y, type = "lasso") summary(reglasso) C. Chesneau 34

3.6 Détection des valeurs anormales Objectif : La détection de valeurs anormales dans les données est cruciale car ces valeurs peuvent avoir une influence négative dans les estimations et, a fortiori, dans les prévisions (effet levier de la fonction de régression). Méthodes : Méthode des résidus standardisés, Critère des distances de Cook. Méthode des résidus standardisés : Pour tout i {1,..., n}, si e i > 2, on envisage l anormalité de la i-ème observation. Cette règle repose sur la construction d un intervalle de confiance nous assurant qu il y a (environ) 95 chances sur 100 que la i-ème observation vérifie e i 2. e = rstandard(reg) plot(e) e[abs(e) > 2] Critère des distances de Cook : Pour tout i {1,..., n}, on défini la distance de Cook de la i-ème observation par Si d i = [X(X t X) 1 X t ] i,i (p + 1)(1 [X(X t X) 1 X t ] i,i ) (e i ) 2. d i > 1, C. Chesneau 35

on envisage l anormalité de la i-ème observation. On peut montrer que d i est la réalisation de D i = Ŷ Ŷ i 2 n (p + 1) σ 2, où Ŷ i = (X β) i qui correspond au calcul de X β = X(X t X) 1 X t Y avec X et Y privés de la i-ème observation. Ce critère mesure donc l influence d une observation sur l erreur de prévision. plot(reg, 4) cooks.distance(reg)[cooks.distance(reg) > 1] Admettons que les valeurs associées aux individus 4 et 26 soient anormales. On refait l analyse sans ces individus avec la commande : reg2 = lm(y ~ X1 + X2 + X3, subset = - c(4, 26)) Ou alors : ww = w[ - c(4, 26), ] attach(ww) reg = lm(y ~ X1 + X2 + X3) Peu importe la méthode et le résultat, il faut toujours s assurer auprès du spécialiste de l étude que une ou plusieurs observations peuvent être retirées des données. Régression robuste : S il y a une ou plusieurs valeurs considérées comme anormales mais qui ont lieu d être dans l analyse, on peut améliorer la prédiction en faisant ce que l on appelle de la "régression robuste". C. Chesneau 36

Cela consiste à estimer β par β = Argmin β R p+1 n ρ k (Y i x i β), i=1 où x i = (1, x 1,i,..., x p,i ) et ρ k est la fonction de Huber définie par u 2 si u k, ρ k (u) = 2k u k 2 sinon. Cette fonction vaut u 2 lorsque u est petit, et est d ordre u ensuite. par conséquent, elle donne moins de poids aux valeurs anormales, améliorant ainsi le réalisme de la prédiction. library(mass) La régression robuste avec la fonction de Huber prise en k = 15 se fait par la commande : reg = rlm(y ~ X1 + X2 + X3, psi = psi.huber, k = 15) summary(reg) C. Chesneau 37

3.7 Stabilité du modèle Objectif : Il est intéressant de savoir si le modèle de rlm est stable sur l intégralité de l échantillon. Si ce n est pas le cas, les coefficients de régression du modèle peuvent varier significativement suivant les valeurs de X 1,..., X p. Pour ce faire, pour tout n 1 {2,..., n 2}, on considère les hypothèses : H 0 : Y = Xβ + ɛ contre H 1 : il existe β 1 β 2 tels que Y (1) = X (1) β 1 + ɛ (1) et Y (2) = X (2) β 2 + ɛ (2), avec Y = (Y (1), Y (2) ) t, Y (1) de taille n 1, Y (2) de taille n 2 = n n 1, X = (X (1), X (2) ) t et ɛ = (ɛ (1), ɛ (2) ) t. Test de Chow : Pour conclure à la stabilité du modèle, on préconise le test de Chow pour chaque n 1 {2 + p,..., n (2 + p)} (de sorte à ce que les degrés de liberté : ν 1 = n 1 (p + 1) et ν 2 = n 2 (p + 1), vérifient ν 1 1 et ν 2 1). Avant de mettre en œuvre celui-ci, il faut préalablement vérifier qu il n y a pas hétéroscédasticité des erreurs (par exemple, quand le test de White donne p-valeur > 0.05). Si la plus petite p-valeur est > 0.05, on admet la stabilité du modèle. library(strucchange) p.value = as.vector(null) n = length(y) for(i in 3 :(n - 3)) { p.value[i] = sctest(y ~ X1, type = "Chow", point = i)$p.value } p.value[which.min(p.value)] C. Chesneau 38

Si problème : La rupture structurelle est peut-être due à la présence d une variable qualitative qu il convient de prendre en compte dans une nouvelle modélisation. C. Chesneau 39

3.8 Sélection de variables Objectif : Il est intéressant de déterminer la meilleure combinaison des variables X 1,..., X p qui explique Y. Or l approche qui consiste à éliminer d un seul coup les variables non significatives n est pas bonne ; certaines variables peuvent être corrélées à d autres, ce qui peut masquer leur réelle influence sur Y. Pour retirer les variables X1 et X2 du modèle (si envie est) : reg2 = update(reg,. ~. - c(x1, X2)) Approches : Approche exhaustive, Approche en arrière, Approche en avant, Approche pas à pas. C. Chesneau 40

Approche exhaustive (exhaustive) : On calcule les R 2 des 2 p rlm différentes définies avec toutes les combinaisons possibles de X 1,..., X p. La meilleure combinaison sera celle ayant le plus grand R 2. Par exemple, avec p = 3, on considère les 2 3 = 8 rlm : Y = β 0 + ɛ, Y = β 0 + β 1 X 1 + ɛ, Y = β 0 + β 2 X 2 + ɛ Y = β 0 + β 3 X 3 + ɛ, Y = β 0 + β 1 X 1 + β 2 X 2 + ɛ, Y = β 0 + β 1 X 1 + β 3 X 3 + ɛ Y = β 0 + β 2 X 2 + β 3 X 3 + ɛ, Y = β 0 + β 1 X 1 + β 2 X 2 + β 3 X 3 + ɛ. Cette approche est fastidieuse à mettre en œuvre si p est grand. library(leaps) v = regsubsets(y ~ X1 + X2 + X3, w, method = "exhaustive") plot(v, scale = "adjr2") Les carrés noires de la ligne la plus haute indique la meilleure combinaison de variables explicatives en terme de R 2 C. Chesneau 41

Approche en arrière (backward) : On part d une rlm avec toutes les variables X 1,..., X p et on étudie leur significativité. On retire la moins significative (donc celle qui a la plus grande p-valeur). Puis on refait une rlm avec les variables restantes et on retire de nouveau la moins significative. On itère ce processus jusqu à n avoir que des variables significatives. Exemple : 1. On considère la rlm avec toutes les variables X 1,..., X p : Y = β 0 + β 1 X 1 +... + β p X p + ɛ, et on étudie la significativité de chacune des variables X 1,..., X p. 2. On retire la moins significative (celle qui a la plus grande p-valeur). Admettons que ce soit X 3. On considère la rlm : Y = β 0 + β 1 X 1 + β 2 X 2 + β 4 X 4 +... + β p X p + ɛ, et on étudie la significativité de chacune des variables X 1, X 2, X 4,..., X p. 3. On élimine la moins significative. On itère ce processus jusqu à n avoir que des variables significatives. On peut définir cette approche avec le R 2 en retirant à chaque étape la variable dont le retrait du modèle conduit à la plus grande augmentation du R 2. library(leaps) v = regsubsets(y ~ X1 + X2 + X3, w, method = "backward") plot(v, scale = "adjr2") C. Chesneau 42

Approche en avant (forward) : On considère les p régressions simples possibles avec une seule variable explicative X 1 ou X 2 ou... X p et on étudie leur significativité. On retient la plus significative (donc celle qui a la plus petite p-valeur). On fait alors les p 1 rlm contenant la variable retenue et une seule autre variable parmi les p 2 restantes. On garde alors la plus significative parmi ces dernières. On itère ce processus jusqu à qu aucune variable ne soit retenue. Exemple : 1. On considère les p régressions linéaires simples : Y = β 0 + β j X j + ɛ, j {1,..., p}, et on étudie la significativité de chacune des variables X 1,..., X p. 2. On garde la plus significative. Admettons que ce soit X 3. On considère alors les p 1 rlm : Y = β 0 + β 3 X 3 + β j X j + ɛ, j {1,..., p} {3}, et on étudie la significativité de chacune des variables X 1, X 2, X 4,..., X p. 3. On garde la plus significative. On itère ce processus jusqu à qu aucune variable ne soit retenue. On peut définir cette approche avec le R 2 en ajoutant à chaque étape la variable dont l ajout dans le modèle conduit à la plus grande augmentation du R 2. library(leaps) v = regsubsets(y ~ X1 + X2 + X3, w, method = "forward") plot(v, scale = "adjr2") C. Chesneau 43

Approche pas à pas (stepwise) : Cette approche est un mélange des approches en arrière et en avant. On vérifie que l ajout d une variable ne provoque pas la suppression d une variable déjà introduite. Cp, AIC et BIC : Il existe d autres critères que le R 2 : le critère Cp (de Mallows) : réalisation de Cp = Y Ŷ 2 σ 2 (n 2(p + 1)), le critère AIC : réalisation de AIC = 2(p + 1) 2l, où l = max β R p+1 l(β), le maximum de la log-vraisemblance du modèle, le critère BIC : réalisation de BIC = (p + 1) ln n 2l. Ces critères reposent sur un compromis "biais - parcimonie". Plus petits ils sont, meilleur est le modèle. Contrairement au R 2, ces critères s étendent à d autres types de modèles, notamment les modèles linéaires généralisés. AIC(reg) BIC(reg) library(leaps) v = regsubsets(y ~ X1 + X2 + X3, w, method = "backward") plot(v, scale = "bic") C. Chesneau 44

library(stats) Pour utiliser l approche pas à pas avec AIC : step(reg, direction = "both", k = 2) Pour utiliser l approche pas à pas avec BIC : step(reg, direction = "both", k = log(length(y))) Comparaison de 2 modèles : Pour tester l influence d une ou plusieurs variables dans un modèle, tout en prenant en considération les autres variables, on peut utiliser le test ANOVA : si p-valeur > 0.05, alors les variables étudiées ne contribuent pas significativement au modèle. Si on veut tester H 0 : β 2 = β 4 = 0 en sachant qu il y a les variables X1 et X3 dans le modèle, on effectue : reg1 = lm(y ~ X1 + X2 + X3 + X4) reg2 = lm(y ~ X1 + X3) anova(reg1, reg2) C. Chesneau 45

3.9 Traitement de variables qualitatives Variables qualitatives : Supposons qu une ou plusieurs variables X 1,..., X p soient qualitatives. Disons uniquement X 1 de modalités {m 1, m 2, m 3 } pour simplifier. Alors on transforme chacune de ses modalités, sauf une, en une variable binaire de la forme : X 1 m 1 = 1 {X1 =m 1 }, laquelle vaut 1 si X 1 a la modalité m 1, et 0 sinon. "Sauf une" sinon la somme de celle-ci ferait 1, injectant de la dépendance superflue dans la modélisation. Par convention, en pratique, on supprime celle qui correspond à la situation la plus courante. X1 = factor(x1) summary(x1) On considère alors ces nouvelles variables dans le modèle de rlm : Y = β 0 + β 1 X 1 m 1 + β 2 X 1 m 2 + β 3 X 2 + β 4 X 3 + ɛ, où β 0,..., β 4 sont 5 coefficients inconnus et ɛ N (0, σ 2 ) avec σ inconnu. L analyse de ce modèle s appelle l ANCOVA (ANalysis of COVAriance). X1 = factor(x1) reg = lm(y ~ X1 + X2) Sous-nuages de points : Lorsqu il y a uniquement 2 variables explicatives X1 et X2, avec X1 qualitative et X2 quantitative, on peut tracer le nuage de points de (X2, Y ), diviser en sous-nuages C. Chesneau 46

correspondants aux modalités de X1. reg = lm(y ~ X1 * X2) plot(x2[x1 == "m1"], Y[X1 == "m1"], pch = 15, ylab = "Y", xlab = "X2", col = "green") points(x2[x1 == "m2"], Y[X1 == "m2"], pch = 16, col = "blue") points(x2[x1 == "m3"], Y[X1 == "m3"], pch = 17, col = "red") legend(x = 120, y = 65, c("x1 = m1", "X1 = m2", "X1 = m3"), col = c("green", "blue", "red"), pch = c(15, 16, 17)) L allure de ces sous-nuages de points est un indicateur sur la possible liaison linéaire entre Y, X1 et X2. De plus, si les points correspondants aux différentes modalités sont mélangés, alors il y a une interaction envisageable entre X1 et X2 sur Y. Interactions : Il est courant que des variables qualitatives interagissent avec d autres variables présentent dans le modèle. Pour prendre en compte cet aspect, il faut introduire des nouvelles variables : X 1 m 1 : X 2, X 1 m 2 : X 2. Ce qui nous amène au modèle : Y = β 0 + β 1 X 1 m 1 + β 2 X 1 m 2 + β 3 X 2 + β 4 X 3 + β 5 X 1 m 1 : X 2 + β 6 X 1 m 2 : X 2 + ɛ, où β 0,..., β 6 sont 7 coefficients inconnus et ɛ N (0, σ 2 ) avec σ inconnu. C. Chesneau 47

La commande X1 X2 prend en compte X1 seule, X2 seule et les interactions X 1 m 1 : X 2 et X 1 m 2 : X 2. reg = lm(y ~ X3 + X1 * X2) ou, en prenant en compte plus d interactions, reg = lm(y ~ X1 * X2 * X3) Sur l hypothèse V(ɛ 1 ) =... = V(ɛ n ) : Lorsqu une ou plusieurs variables qualitatives sont présentent dans le modèle de régression, certaines méthodes vues précédemment pour vérifier V(ɛ 1 ) =... = V(ɛ n ) ne sont plus adaptées (test de White,... ). On préférera une analyse graphique avec toujours le nuage de points { ( e i, y i e i ); i {1,..., n} } : si il n y a pas de structure, on admet l égalité des variances, des boites à moustaches pour chacune modalité : si les boites sont a peu près de même hauteur, on admet l égalité des variances, le test de Bartlett : si p-valeur > 0.05, on admet l égalité des variances, ou le test de Levene : si p-valeur > 0.05, on admet l égalité des variances. reg = lm(y ~ X1 * X2) e = residuals(reg) boxplot(e ~ X1) library(stats) bartlett.test(e, X1) ou, alternativement, library(lawstat) levene.test(e, X1) C. Chesneau 48

4 Méthode des moindres carrés généralisés (mcg) 4.1 Contexte Écriture matricielle : On rappelle le modèle de rlm s écrit sous la forme matricielle : Y = Xβ + ɛ, où 1 x 1,1 x p,1 Y 1 β 0 ɛ 1 1 x 1,2 x p,2 Y 2 β 1 ɛ X =, Y =, β =, ɛ =....... 2. 1 x 1,n x p,n Y n β p ɛ n Hypothèses : On suppose que (X t X) 1 existe, ɛ et X 1,..., X p sont des var indépendantes et ɛ N n (0, σ 2 Ω), où Ω désigne une matrice symétrique, définie positive et inversible. La définition de Ω inclue une possible dépendance dans les var ε 1,..., ε n, une possible inégalité des variances de ε 1,..., ε n. Dans le cas où Ω = I n, on retrouve le modèle de rlm standard. Idée : Il existe une matrice Ω 1/2 telle que Ω 1/2 Ω 1/2 = Ω 1. C. Chesneau 49

Par conséquent, on peut transformer le modèle initial comme : Ω 1/2 Y = Ω 1/2 Xβ + Ω 1/2 ɛ, avec Ω 1/2 ɛ N n (0, σ 2 I n ). On est donc dans le cadre d une rlm standard avec une nouvelle écriture matricielle qui utilise Ω 1/2 Y et Ω 1/2 X. Point clés : Toutes les formules du chapitre précédent Régression linéaire multiple sont valables avec Ω 1/2 Y à la place de Y, Ω 1/2 X à la place de X. C. Chesneau 50

Partant de Ω, on détermine Ω 1/2 avec la fonction : fnmatsqrtinverse = function(ma) { ei = eigen(ma) d = ei$values d = (d + abs(d)) / 2 d2 = 1 / sqrt(d) d2[d == 0] = 0 return(ei$vectors %*% diag(d2) %*% t(ei$vectors)) } On obtient Ω 1/2 en faisant : fnmatsqrtinverse(omega) Ensuite, on peut transformer Y et X comme : Yo = fnmatsqrtinverse(omega) %*% Y X = cbind(1, X1, X2) Xo = fnmatsqrtinverse(omega) %*% X C. Chesneau 51

4.2 Quelques résultats Emcg : L estimateur des moindres carrés généralisés (emcg) est β = (X t Ω 1 X) 1 X t Ω 1 Y. C est aussi l emv de β. Estimateur de σ 2 : Un estimateur de σ 2 est σ 2 = 1 n (p + 1) (Y X β) t Ω 1 (Y X β). Il vérifie E( σ 2 ) = σ 2, et σ 2 et β sont indépendantes. Loi de β : On a β N p+1 (β, σ 2 (X t Ω 1 X) 1 ). Loi associée à σ 2 : On a (n (p + 1)) σ2 σ 2 χ2 (ν). On transforme Y et X comme : Yo = fnmatsqrtinverse(omega) %*% Y X = cbind(1, X1, X2) Xo = fnmatsqrtinverse(omega) %*% X On fait une régression linéaire multiple avec les variables transformées : reg = lm(yo ~ Xo[,1]+Xo[,2]+Xo[,3] - 1) C. Chesneau 52

4.3 Hétéroscédasticité des erreurs et mcg Hétéroscédasticité des erreurs : On parle d hétéroscédasticité des erreurs quand Ω = diag(w 1,..., w n ), où w 1,..., w n sont des réels positifs dont au moins 2 diffèrent. Notons que V(ɛ i ) = σ 2 w i (= E(ɛ 2 i )). En pratique : On admet l hétéroscédasticité des erreurs lorsque il y a indépendance (admis via l analyse des graphiques acf et pacf par exemple), il n y a pas l égalité des variances (par exemple, quand le test de White donne p-valeur < 0.05). Estimation : Lorsque w 1,..., w n sont connus, les formules précédentes s appliquent avec Ω 1 = diag(w 1 1,..., w 1 n ). En particulier, l emcg de β est β = (X t Ω 1 X) 1 X t Ω 1 Y. wt = seq(0, 10, 0.1) regw = lm(y ~ X1 + X2 + X3, weight = wt) C. Chesneau 53

4.4 Cas de données groupées Contexte : Les n individus sont répartis en q groupes G 1,..., G q : G 1 G 2... G q Ainsi, n = q g=1 n g. Effectif n 1 n 2... n q On n a pas en notre possession les observations (y 1, x 1,1,..., x p,1 ),..., (y n, x 1,n,..., x p,n ) de (Y, X 1,..., X p ) sur les n individus ; pour chacun des q groupes G 1,..., G q, on dispose uniquement des moyennes des observations des individus. Données : Les données se présentent généralement sous la forme d un tableau : Groupe Effectif Y X 1... X p G 1 n 1 y 1 x 1,1... x p,1 G 2 n 2 y 2 x 1,2... x p,2...... G q n q y q x 1,q... x p,q où, pour tout g {1,..., q}, y g = 1 n g 1+n g n g i=n g 1 +1 y i, x j,g = 1 n g 1+n g n g i=n g 1 +1 x j,i. Modélisation : La modélisation de rlm standard sur les variables Y, X 1,..., X p nous donne : Y i = β 0 + β 1 x 1,i +... + β p x p,i + ɛ i, i {1,..., n}, avec β 0, β,..., β p inconnus, ɛ 1,..., ɛ n iid, ɛ 1 N (0, σ 2 ). C. Chesneau 54

Cependant, ce modèle n est pas exploitable, ayant accès uniquement aux moyennes des observations. Sous la forme moyenne, il devient Y g = β 0 + β 1 x 1,g +... + β p x p,g + ɛ g, g {1,..., q}. avec Y g = 1 n g 1+n g n g i=n g 1 +1 Y i, ɛ g = 1 n g 1+n g n g i=n g 1 +1 ) ɛ i N (0, σ2. n g Le modèle peut donc s écrire sous la forme matricielle : Y = Xβ + ɛ, avec 1 x 1,1 x p,1 Y 1 β 0 ɛ 1 1 x 1,2 x p,2 Y 2 β 1 ɛ X =, Y =, β =, ɛ =....... 2. 1 x 1,q x p,q Y q ɛ q β p On a ɛ N q (0, σ 2 Ω) avec Ω = diag(n 1 1,..., n 1 q ). Les erreurs sont donc héteroscédastiques pour l indice g avec pour poids w g = n 1 g. Estimation : Avec ces notations, l emcg de β est β = (X t Ω 1 X) 1 X t Ω 1 Y. C. Chesneau 55

effectif = c(12, 13, 12, 11, 8, 9) regw = lm(y ~ X1 + X2 + X3, weight = 1 / effectif) C. Chesneau 56

4.5 Correction d hétéroscedasticité Motivation : Lorsque les poids w 1,..., w n sont inconnus, l estimateur précédent n est pas réaliste. Dans le but d atténuer l hétéroscedasticité, on préconise 2 méthodes : Transformer la variable Y, Utiliser les moindres carrés quasi-généralisés (mcqg). Transformations simples : Une rlm avec Y transformée peut engendrer des nouvelles variables d erreurs ɛ 1,..., ɛ n vérifiant V(ɛ 1 ) =... = V(ɛ n ). Les transformations les plus utilisées sont : ln Y, Y 2, Y et 1/Y. Transformations avancées : On peut également utiliser des transformations plus avancées, avec un paramètre inconnu à estimer. Les plus célèbres sont : sous l hypothèse que Y > 0, la transformation puissance de Box-Cox : u λ 1 bc λ (u) = λ log u si λ 0, sinon. On fait alors une rlm sur bc λ (Y ) et X 1,..., X p et on estime le réel λ tel que la loi de ɛ 1,..., ɛ n soit aussi proche que possible d une loi normale. Cette estimation se fait avec l emv λ de λ. On considère alors la rlm : bcˆλ(y ) = β 0 + β 1 X 1 +... β p X p + ɛ, où β 0,..., β p sont p + 1 coefficients inconnus et ɛ N (0, σ 2 ) avec σ 2 inconnu. C. Chesneau 57

library(car) reg = lm(y ~ X1 + X2 + X3) reg2 = powertransform(reg) summary(reg2) reg3 = lm(bcpower(y, coef(reg2)) ~ X1) summary(reg3) la transformation de Yeo et Johnson qui supporte le cas où Y peut prendre des valeurs négatives : (u + 1) λ 1 λ si λ 0 et u 0, log(u + 1) si λ = 0 et u 0, yj λ (u) = (1 u)2 λ 1 si λ 2 et u < 0, 2 λ log(1 u) si λ = 2 et u < 0. reg2 = powertransform(reg), family = "yjpower") Remarque : Les transformations précédentes peuvent aussi arranger un problème de normalité sur ɛ 1,..., ɛ n. Moindres carrés quasi-généralisés (mcqg) : L idée de la méthode des mcqg repose sur l estimation ponctuelle de w i à l aide de X 1,..., X p (ou seulement une partie d entres elles) par le biais d une rlm. On modélise alors log( ɛ 2 i ) par une rlm en fonction de X 1,..., X p : log( ɛ 2 i ) = θ 0 + θ 1 x 1,i +... + θ p x p,i + u i, C. Chesneau 58

avec u 1,..., u n n var iid, u 1 N (0, δ 2 ), θ 0,..., θ p et δ inconnus. L inverse de l exponentielle de l observation de celle-ci donne une estimation ponctuelle de w i. Les commandes associées sont : reg = lm(y ~ X1 + X2 + X3) e = residuals(reg) rege = lm(log(eˆ2) ~ X1 + X2 + X3) On calcule Ω 1/2 : omegasqrtinv = exp(-fitted(rege) / 2) * diag(n) On calcule les transformations Ω 1/2 Y et Ω 1/2 X : Yo = omegasqrtinv %*% Y X = cbind(1, X1, X2, X3) Xo = omegasqrtinv %*% X On fait une rlm sur Y o et les colonnes de Xo : regmcqg = lm(yo ~ Xo[,1] + Xo[,2] + Xo[,3] + Xo[,4] - 1) summary(regmcqg) On vérifie la validité de la méthode avec une analyse graphique : par(frow = c(2, 2)) plot(regmcqg, 1:4) On peut également préciser les aspects techniques avec les tests d hypothèses déjà vus. Variante de mcqg : Une autre variante est de supposer qu il existe un δ tel que w i y i e i 2δ. On est alors en mesure de trouver un bon estimateur pour δ via la méthode du maximum de vraisemblance. C. Chesneau 59

Dès lors, Ω Ω = diag( y 1 e 1 2δ,..., y n e n 2δ ) et on peut approcher Ω 1 par Ω 1 = diag( y 1 e 1 2δ,..., y 1 e 1 2δ ). D où l estimateur de β : β = (X t Ω 1 X) 1 X t Ω 1 Y. library(nlme) reg = gls(y ~ X1 + X2, weights = varpower(), method = "ML") summary(reg) On vérifie la validité de la méthode avec une analyse graphique : {(valeurs prédites i, residus de Pearson i ) ; i {1,..., n}} : plot(predict(reg), residuals(reg, type = "pearson")) Si les points du nuage sont uniformément répartis et qu il n y a pas de structure apparente, on admet que tout va bien. En particulier, l hétéroscédasticité est bien corrigée. C. Chesneau 60

4.6 Autocorrélation des erreurs et mcg Autocorrélation des erreurs : On parle d autocorrélation des erreurs lorsqu il existe (i, j) {1,..., n} 2 avec i j tel que C(ɛ i, ɛ j ) 0. En pratique : On admet l autocorrélation des erreurs lorsqu il y a de la dépendance (admis via l analyse des graphiques acf et pacf par exemple). Dans ce cas, il est difficile de traiter le problème dans sa généralité ; on est obligé de supposer une structure simple de dépendance sur les erreurs et de la vérifier ensuite à l aide des données. Rappel : structure AR(1) : On dit que ɛ 1,..., ɛ n ont une structure AR(1) si il existe ρ ] 1, 1[, n var iid u 1,..., u n suivant chacune la loi normale N (0, υ 2 ), avec υ > 0, tels que ɛ i = ρɛ i 1 + u i. Le réel ρ mesure la dépendance de ɛ 1,..., ɛ n. Test de Durbin-Watson : Pour conclure à la structure AR(1) de ɛ 1,..., ɛ n, partant des résidus e 1,..., e n, on préconise le test de Durbin-Watson : si p-valeur < 0.05, alors on admet que ρ 0, entraînant la dépendance. library(lmtest) dwtest(reg) Quelques résultats théoriques : Si ɛ 1,..., ɛ n AR(1), alors ɛ N n (0, σ 2 Ω(ρ)), C. Chesneau 61

avec σ 2 = υ 2 et Ω(ρ) = ( ) 1 1 ρ 2 ρ i j = 1 (i,j) {1,...,n} 1 ρ 2 2 1 ρ ρ n 1 ρ 1 ρ n 2. ρ n 1 ρ n 2 1 On a 1 ρ 0 0 0 0 ρ 1 + ρ 2 ρ 0 0 0 0 ρ 1 + ρ 2 0 0 0 Ω 1 (ρ) =........ 0 0 0 1 + ρ 2 ρ 0 0 0 0 ρ 1 + ρ 2 ρ 0 0 0 0 ρ 1 C. Chesneau 62

Les commandes ci-dessous calcule Ω et Ω 1 avec ρ = 0.67 (par exemple) : n = length(y) rho = 0.67 omega = matrix(rep(0, nˆ2), n, n) for (i in 1:n){ for (j in 1:n){ omega[i, j] = (1 / (1 - rhoˆ2)) * rhoˆ(abs(i - j)) }} omega invomega = solve(omega) invomega Estimation : L emcg de β est β = (X t Ω(ρ) 1 X) 1 X t Ω(ρ) 1 Y. Toutefois, lorsque ρ est inconnu, cet estimateur n est pas réaliste puisqu il en dépend. Solution 1 : méthode des mco : Une première idée est d estimer ρ par la méthode des mco. En effet, on a ɛ i = ρɛ i 1 + u i ɛ i = 0 + ρe i 1 + u i. On est donc dans le cadre d une régression linéaire simple avec β 0 = 0 et β 1 = ρ. L emco de β 1 = ρ est ρ = n i=2 ɛ ie i 1 n. i=2 e2 i 1 C. Chesneau 63

n = length(y) e = residuals(reg) rho = lm(e[-1] ~ e[-n] - 1)$coeff[1] rho ou rho = sum(e[-1] * e[-n]) / sum(e[-n]ˆ2) rho D où l estimateur de β : β = (X t Ω( ρ) 1 X) 1 X t Ω( ρ) 1 Y. Dans le but d utiliser la commande lm, laquelle nous donne des outils de vérifications d hypothèses puissants, nous allons coder à la main ce qu il faut : omega = matrix(rep(0, nˆ2), n, n) for (i in 1:n){ for (j in 1:n){ omega[i, j] = (1 / (1 - rhoˆ2)) * rhoˆ(abs(i - j)) }} Yo = fnmatsqrtinverse(omega) %*% Y X = cbind(1, X1, X2, X3) Xo = fnmatsqrtinverse(omega) %*% X reg = lm(yo ~ Xo[,1] + Xo[,2] + Xo[,3] + Xo[,4] - 1) summary(reg) On vérifie la validité de la méthode avec une analyse graphique : par(frow = c(2, 2)) plot(reg, 1:4) C. Chesneau 64

On peut également préciser les choses avec les tests d hypothèses déjà vus. Méthode de Cochrane-Orcutt : Il existe une méthode itérative permettant d estimer ponctuellement ρ. Cette méthode est connue sous le nom de Cochrane-Orcutt. library(orcutt) reg2 = cochrane.orcutt(reg) reg2 C. Chesneau 65

Solution 2 : Maximum de vraisemblance : On peut aussi traiter la structure des erreurs AR(1) avec la méthode du maximum de vraisemblance. En posant θ = (β, σ, ρ), la vraisemblance associée à (Y 1,..., Y n ) est L(θ, z) = ( 1 (2πσ 2 exp (z Xβ)t Ω(ρ) 1 ) (z Xβ) det(ω)(ρ)) n/2 2σ 2, z R n. L emv θ = ( β, σ, ρ) de θ est Après calculs, il vient θ = Argmax θ R p+3 L(θ, Y ). β = (X t Ω(ρ) 1 X) 1 X t Ω(ρ) 1 Y, σ 2 = (Y Xβ)t Ω(ρ) 1 (Y Xβ) n et ( ) ρ = Argmin ρ ] 1,1[ (det(ω(ρ))) 1/n (Y X β) t Ω(ρ) 1 (Y X β). Comme β dépend du coefficient inconnu ρ, on peut utiliser son estimation ρ dans la définition de β : β = (X t Ω( ρ) 1 X) 1 X t Ω( ρ) 1 Y. library(nlme) On a corarma(p = 1, q = 0)=AR(1), donc reg = gls(y ~ X1 + X2 + X3, correlation = corarma(p = 1, q = 0), method = "ML") summary(reg) Cette méthode a l avantage de nous donner beaucoup d informations, notamment les degrés de significativité de X 1,..., X p, le AIC et le BIC. C. Chesneau 66

On vérifie la validité de la méthode avec une analyse graphique : {(valeurs prédites i, résidus de Pearson i ) ; i {1,..., n}} : plot(predict(reg), residuals(reg, type = "pearson")) Si les points du nuage sont uniformément répartis, l hétéroscédasticité est bien corrigée. Extension : La structure des erreurs peut être plus complexe qu un AR(1). Dans ce cas, les coefficients inconnus de cette structure sont encore estimables en passant par la méthode du maximum de vraisemblance. library(nlme) reg = gls(y ~ X1 + X2 + X3, correlation = corarma(p = 2, q = 3), method = "ML") summary(reg) C. Chesneau 67

5 Régression non-linéaire 5.1 Contexte Problématique : On souhaite expliquer une variable Y en fonction de p autres variables X 1,..., X p. Si une liaison non-linéaire entre ces variables est envisageable, on peut considérer le modèle de régression non-linéaire multiple : il existe q + 1 coefficients inconnues β 0,..., β q, une fonction f supposée connue (dans un premier temps), tels que Y = f(x 1,..., X p, β 0,..., β q ) + ɛ, où ɛ est une variable d erreur. Données : Les données constituent des observations de ces variables. Ce sont n observations de (Y, X 1,..., X p ) notées (y 1, x 1,1,..., x p,1 ),..., (y n, x 1,n,..., x p,n ). Elles se présentent généralement sous la forme d un tableau : Y X 1... X p y 1 x 1,1... x p,1 y 2 x 1,2 x p,2.... y n x 1,n... x p,n Objectif : Un objectif est d estimer les coefficients inconnus β 0,..., β q à l aide des données afin de C. Chesneau 68

prédire la valeur moyenne de Y pour une nouvelle valeur de (X 1,..., X p ). Modélisation : On modélise les variables considérées comme des var (définies sur un espace probabilisé (Ω, A, P)). Pour tout i {1,..., n}, (x 1,i,..., x p,i ) est une réalisation du vecteur aléatoire réel (X 1,..., X p ), sachant que (X 1,..., X p ) = (x 1,i,..., x p,i ), y i est une réalisation de Y i = f(x 1,i,..., x p,i, β 0,..., β q ) + ɛ i, où ɛ i est une var modélisant une somme d erreurs. Remarque : Pour tout x = (x 1,..., x p ) R p, sous l hypothèse que E(ɛ {(X 1,..., X p ) = x}) = 0, le modèle de régression non-linéaire peut s écrire comme E(Y {(X 1,..., X p ) = x}) = f(x 1,..., x p, β 0,..., β q ). Hypothèses : On supposera dans la suite que ɛ et X 1,..., X p sont des var indépendantes et ɛ N n (0, σ 2 I n ) où σ est un paramètre inconnu. En particulier, l hypothèse ɛ N n (0, σ 2 I n ) entraîne que ɛ 1,..., ɛ n sont indépendantes, V(ɛ 1 ) =... = V(ɛ n ), ɛ 1,..., ɛ n suivent des lois normale centrées. C. Chesneau 69

5.2 Régression polynomiale Définition : On parle de régression polynomiale quand f est définie comme un polynôme par rapport à X 1,..., X p. Cette représentation polynomiale peut être motivée par l intuition, le contexte de l expérience d où émanent les données ou des critères statistiques précis (comme les résidus partiel présentés ci-après). Exemple : On suppose que f s écrit sous la forme : f(x 1, X 2, β 0, β 1, β 2, β 3, β 4 ) = β 0 + β 1 X 1 + β 2 X 2 1 + β 3 X 3 1 + β 4 X 2, ce qui correspond au modèle : Y = β 0 + β 1 X 1 + β 2 X 2 1 + β 3 X 3 1 + β 4 X 2 + ɛ. reg = lm(y ~ poly(x1, 3) + X2) summary(reg) ou reg = lm(y ~ I(X1)+I(X1ˆ2) +I(X1ˆ3) + X2) summary(reg) (Cela ne marche pas sans la commande I() ). C. Chesneau 70

5.3 Résidus partiels Motivation : Il est souvent intéressant d analyser le lien réel entre Y et une variable explicative X j, laquelle est linéaire par hypothèse dans le modèle rlm. Or l approche intuitive qui consiste à étudier visuellement le nuage de points : {(x j,i, y i ); i {1,..., n}}, j {1,..., p} et son ajustement par une droite n est pas fiable. En effet, toutes les autres variables explicatives peuvent aussi influencer les valeurs de Y et ainsi brouiller notre impression. C est pourquoi, on cherche à mesurer l influence seule de X j sur Y, laquelle peut ne pas être linéaire. Cela va nous permettre de choisir des fonctions g 1,..., g p convenables telles que le modèle de régression : Y = β 0 + β 1 g 1 (X 1 ) +... + β p g p (X p ) + ɛ, soit mieux adapté au problème. On est donc dans le cadre de la régression non-linéaire avec f(x 1,..., X p, β 0,..., β p ) = β 0 + β 1 g 1 (X 1 ) +... + β p g p (X p ). Résidus partiels : Pour tout (i, j) {1,..., n} {1,..., p}, on appelle (j, i)-ème résidus partiel la C. Chesneau 71

réalisation e j,i de ɛ j,i = β j x j,i + ɛ j. Intérêt des résidus partiels : L intérêt des résidus partiels est d enlever l effet estimé de toutes les variables explicatives autres que X j sur Y. En effet, on peut montrer que ɛ j,i = Y i ( β 1 x 1,i +... + β j 1 x j 1,i + β j+1 x j+1,i +... + β p x p,i ). Ainsi, la nature de la liaison existante entre X j et Y se représente avec le nuage de point : {(x j,i, e j,i ); i {1,..., n} }. S il peut s ajuster simplement par une droite, alors la liaison entre X j et Y est linéaire, ce qui rejoint l hypothèse de départ. Les autres cas sont problématiques et traduisent une liaison non-linéaire entre X j et Y. reg = lm(y ~ X1 + X2 + X3) library(car) crplots(reg) Si problème : Si le nuage de points a une allure courbe, il est avantageux de considérer une transformation de X j correspondante à l équation de la courbe qui ajuste au mieux le nuage. Plus précisément, si le nuage de points peut être ajusté par la courbe d équation y = g j (x), alors soit on remplace X j par g j (X j ) dans le modèle et on refait les analyses, soit on ajoute la nouvelle variable g j (X j ) dans le modèle et on refait les analyses ; les 2 variables X j et g j (X j ) sont donc prises en compte, ajoutant ainsi un nouveau coefficient inconnu à estimer. C. Chesneau 72

Transformations : Les transformations les plus courantes sont : les transformations polynomiales : reg = lm(y ~ poly(x1, 3) + X2 + I(X3ˆ4)) summary(reg) les transformations avec des fonctions usuelles : reg = lm(y ~ exp(x1) + log(x2) + 2ˆX3) summary(reg) les transformations de Box-Cox : u λ j 1 si λ j 0, λ g j (u) = bc λj (u) = j log u sinon. library(car) reg = lm(y ~ bcpower(x1, 2.7) + bcpower(x2, 1.8)) summary(reg) Si les λ 1,..., λ p sont inconnus (ce qui est généralement le cas), on peut utiliser la méthode de Box-Tidwell qui donne des emv de ceux-ci. C. Chesneau 73

library(car) boxtidwell(y ~ X1 + X2 + X3) Puis on fait une rlm entre Y et les transformations de Box-Cox de X1 et X2 aux puissances estimées. Si une variable explicative X4 est présente dans l analyse mais on ne souhaite pas la transformer, on la prend en compte dans les estimations de λ 1, λ 2, λ 3 en faisant boxtidwell(y ~ X1 + X2 + X3, other.x = ~ X4) C. Chesneau 74

5.4 Méthode itérative Estimateur : Partant du modèle sous sa forme générale : Y = f(x 1,..., X p, β 0,..., β q ) + ɛ, on souhaite construire un estimateur β = ( β 0,..., β q ) t tel que β = Argmin β R q+1 n (Y i f(x 1,i,..., x p,i, β 0,..., β q )) 2. i=1 Pour ce faire, on utilise un algorithme itératif de type Newton-Raphson. Description de l algorithme : On pose β = (β 0,..., β q ) t, x i = (x 1,i, x 2,i,..., x p,i ) et f(x i, β) = f(x 1,i,..., x p,i, β 0,..., β q ). On se fixe une valeur initiale β (0) = ( β (0) 0 (0),..., β q ). Par la formule de Taylor, on a l approximation f(x i, β) f(x i, β (0) ) + = f(x i, β (0) ) + q j=0 q j=0 (0) (0) f(x i, β j )(β j β j ) β j β j f(x i, (0) β j )β j q j=0 (0) f(x i, β j ) β (0) j. β j C. Chesneau 75

Sous une forme matricielle, on peut écrire η (0) (β) = ω (0) + Z (0) β, où η (0) (β) = (η (0) 1 (β),..., η(0) n (β)), η 0 i (β) = f(x i, β (0) ) + q j=0 β j f(x i, (0) β j )β j q j=0 (0) f(x i, β j ) β (0) j, β j Z (0) est la matrice de composantes (Z (0) i,j ) avec Z (0) i,j = (0) f(x i, β j ), β j et ω (0) = f(x i, β (0) ) q j=0 Z (0) (0) i,j β j. On souhaite que Y soit proche de η (0). C est pourquoi on calcule un estimateur β (1) comme β (1) = Argmin β R q+1 n i=1 (Y i η (0) i (β)) 2 = Argmin β R q+1 Y ω (0) Z (0) β 2 2, soit explicitement β 1 = (Z (0)t Z (0) ) 1 Z (0)t (Y ω (0) ). On considère alors η (1) (β) = (η (1) 1 (β),..., η(1) n (β)) avec η (1) i (β) = f(x i, β (1) ) + q j=0 β j f(x i, (1) β j )β j q j=0 (1) f(x i, β j ) β (1) j, β j à partir duquel on a une écriture matricielle η (1) (β) = ω (1) +Z (1) β et recommence le processus : C. Chesneau 76

on souhaite que Y soit proche de η (1). C est pourquoi on calcule un estimateur β (2) comme β (2) = Argmin β R q+1 n i=1 (Y i η (1) i (β)) 2 = Argmin β R q+1 Y ω (1) Z (1) β 2 2, soit explicitement β (2) = (Z (1)t Z (1) ) 1 Z (1)t (Y ω (1) ). On itère le processus jusqu à avoir stabilisation : β (m+1) β (m). library(mass) s = c(b0 = 90, b1 = 95, b2 = 120) reg = nls(y ~ b0 + b1 * exp(-x1 / b2), start = s) summary(reg) Graphiques : plot(x1, Y) lines(x1, predict(reg)) Estimateur de σ 2 : Un estimateur de σ 2 est σ 2 = 1 n (q + 1) n i=1 ( Y i f(x i, β (m) )) 2. Validation des hypothèses : Pour valider les hypothèses standards, voici une proposition d analyse graphique, avec les mêmes interprétations que pour la rlm : C. Chesneau 77

e = residuals(reg) par(mfrow = c(2, 2)) plot(e) acf(e) qqnorm(e) qqline(e) plot(fitted(reg), e) C. Chesneau 78

5.5 Extension : régression non-paramétrique Problématique : On souhaite expliquer une variable Y en fonction de p autres variables X 1,..., X p. Si une liaison non-linéaire entre ces variables est envisageable, on peut considérer le modèle de régression non-paramétrique : il existe une fonction inconnue f telle que Y = f(x 1,..., X p ) + ɛ, où ɛ est une variable d erreur. Données : Les données constituent des observations de ces variables. Ce sont n observations de (Y, X 1,..., X p ) notées (y 1, x 1,1,..., x p,1 ),..., (y n, x 1,n,..., x p,n ). Elles se présentent généralement sous la forme d un tableau : Y X 1... X p y 1 x 1,1... x p,1 y 2 x 1,2 x p,2.... y n x 1,n... x p,n Objectif : Un objectif est d estimer la fonction f (et non des paramètres) à l aide des données afin de prédire la valeur moyenne de Y pour une nouvelle valeur de (X 1,..., X p ). Estimateur de Nadaraya-Watson : On se limite au cas d une seule variable explicative X 1. On C. Chesneau 79

appelle estimateur de Nadaraya-Watson l estimateur : f n (x) = n i=1 K h(x x 1,i )Y i n i=1 K h(x x 1,i ), où K h (u) = 1 h K ( u h ). Dans cette écriture, K désigne un noyau (kernel) et h une fenêtre. L idée de la construction de f n est la suivante : en notant g(x, y) la densité de (X 1, Y ) et g(x) celle de X 1, on a f(x) = E(Y X 1 = x) = yg(y x)dy = yg(x, y)dy g(x) = yg(x, y)dy. g(x, y)dy En utilisant les propriétés particulières de K, on montre que un estimateur de yg(x, y)dy est (1/n) n i=1 K h(x x 1,i )Y i, un estimateur de g(x, y)dy est (1/n) n i=1 K h(x x 1,i ). Il existe de nombreuses méthodes pour choisir h de manière à ce que f n soit un bon estimateur de f. library(np) reg = npreg(y ~ X1) summary(reg) plot(reg) points(x1, Y) predict(reg) predict(reg, newdata = data.frame(x1 = 1.2)) Pour valider les hypothèses standards, voici une proposition d analyse graphique : C. Chesneau 80

e = residuals(reg) plot(e) acf(e) qqnorm(e) qqline(e) plot(fitted(reg), e) Estimateur par splines : On se limite au cas d une seule variable explicative X 1. Le point de départ est la décomposition de f à l aide de fonctions appelées splines (cubiques) ; on suppose qu il existe q + 2 coefficients inconnus β 0,..., β q+1 et q coefficients inconnus κ 1,..., κ q appelés nœuds tels que q f(x) = β 0 + β 1 x + β j+1 x κ j 3. j=1 On est alors en mesure d estimer β 0,..., β q et κ 1,..., κ q par des estimateurs performants : β 0,..., β q+1 et κ 1,..., κ q (avec la méthode des moindres carrés pénalisés). On appelle estimateur par splines l estimateur : q f n (x) = β 0 + β 1 x + β j+1 x κ j 3. j=1 library(stats) reg = smooth.spline(x1, Y, nknots = 5) plot(x1, Y) lines(reg) u = seq(3, 30, by = 0.1) predict(reg, u) C. Chesneau 81

6 Régression logistique 6.1 Contexte Problématique : On considère une population P divisée en 2 groupes d individus G 1 et G 2 distinguables par des variables X 1,..., X p. Soit Y la variable qualitative telle que Y (ω) = 1 si un individu ω extrait au hasard dans P appartient à G 1 et Y (ω) = 0 sinon. On souhaite expliquer Y en fonction de X 1,..., X p. Données : Les données constituent des observations de ces variables. Ce sont n observations de (Y, X 1,..., X p ) notées (y 1, x 1,1,..., x p,1 ),..., (y n, x 1,n,..., x p,n ). Elles se présentent généralement sous la forme d un tableau : Y X 1... X p y 1 x 1,1... x p,1 y 2 x 1,2... x p,2.... y n x 1,n... x p,n où, pour tout (i, j) {1,..., n} {1,..., p}, x j,i est l observation de la variable X j sur le i-ème individu et y i indique le groupe dans lequel il appartient : y i {0, 1}. Modélisation : On modélise les variables considérées comme des var (définies sur un espace probabilisé (Ω, A, P)). Pour tout i {1,..., n}, C. Chesneau 82

(x 1,i,..., x p,i ) est une réalisation du vecteur aléatoire réel (X 1,..., X p ), sachant que (X 1,..., X p ) = (x 1,i,..., x p,i ) = x i, y i est une réalisation de Y i B(p(x i )), p(x i ) = P({Y = 1} {(X 1,..., X p ) = x i }). Objectif : Un objectif est d estimer la probabilité inconnue q un individu ω vérifiant (X 1,..., X p ) = x appartienne au groupe G1 : p(x) = P({Y = 1} {(X 1,..., X p ) = x}), x = (x 1,..., x p ), à l aide des données. Remarque : p(x) est aussi la valeur moyenne de Y : p(x) = E(Y {(X 1,..., X p ) = x}). C. Chesneau 83

6.2 Transformation logit Problème : Si on exprime p(x) avec x = (x 1,..., x p ) comme p(x) = β 0 + β 1 x 1 +... + β p x p, alors au moins 2 problèmes surviennent : on a p(x) [0, 1] alors que β 0 + β 1 x 1 +... + β p x p [0, 1] a priori, quand p(x) tend vers 0 ou 1, on doit avoir pas vers 0 a priori. x j p(x) qui tend vers 0. Or Transformation logit : On appelle transformation logit la fonction : x j p(x) = β j ne tend ( ) y logit(y) = log R, y ]0, 1[. 1 y Son inverse est la fonction : logit 1 (y) = exp(y) ]0, 1[, y R. 1 + exp(y) Régression logistique : On appelle régression logistique la modélisation : logit(p(x)) = β 0 + β 1 x 1 +... + β p x p, où β 0,..., β p désigne p + 1 réels inconnus. Ainsi, p(x) et β 0 + β 1 x 1 +... + β p x p sont liés par la transformation logit ; on parle de lien logit. C. Chesneau 84

On en déduit l expression de p(x) : p(x) = logit 1 (β 0 + β 1 x 1 +... + β p x p ) = exp(β 0 + β 1 x 1 +... + β p x p ) 1 + exp(β 0 + β 1 x 1 +... + β p x p ), Objectif : Notre objectif est d estimer les coefficients inconnus β 0,..., β p à partir des données. Pour ce faire, on utilise la méthode du maximum de vraisemblance. C. Chesneau 85

6.3 Variable latente Variable latente : Dans de nombreux contextes, il existe une variable latente Y telle que : Y peut se modéliser comme : 1 si Y 0, Y = 0 sinon. une liaison linéaire entre Y et X 1,..., X p est envisageable. Typiquement, Y = T S, où T désigne une variable quantitative et S une variable de seuil : Y = 1 correspond alors à D S. Par exemple, un individu sera considéré comme malade : Y = 1 pour présence de maladie, lorsque sa fièvre, variable T, dépasse un certain seuil, variable S. Donc Y = T S. Modélisation : On peut modéliser Y par une rlm : Y = β 0 + β 1 X 1 +... + β p X p + γ, où β 0,..., β p sont p + 1 coefficients inconnus et γ est une var symétrique (γ et γ suivent la même loi) de densité f γ et de fonction de répartition F γ, indépendante de X 1,..., X p. Donc p(x) = P({Y = 1} {(X 1,..., X p ) = x}) = P({Y 0} {(X 1,..., X p ) = x}) = P(β 0 + β 1 x 1 +... + β p x p + γ 0) = P( γ β 0 + β 1 x 1 +... + β p x p ) = P(γ β 0 + β 1 x 1 +... + β p x p ) = F γ (β 0 + β 1 x 1 +... + β p x p ). C. Chesneau 86

On en déduit que F 1 γ (p(x)) = β 0 + β 1 x 1 +... + β p x p. On définit ainsi une infinité de fonctions de lien dépendant de la loi de γ. Par exemple, si γ suit la loi logistique L(1), alors e x f γ (x) = (1 + e x ) 2, F γ(y) = ey 1 + e y, F γ 1 (y) = logit(y). On retrouve le modèle de régression logistique. Liens : Les autres fonctions de lien les plus utilisées sont : le lien probit : γ N (0, 1) : y ( ) probit(y) = Fγ 1 1 (y), F γ (y) = exp t2 dt. 2π 2 Dans les commandes R à venir : family = binomial(link = "probit") le lien cloglog : γ Gompertz(0, 1) : cloglog(y) = F 1 γ (y), F γ (y) = 1 exp( exp(y)). Dans les commandes R à venir : family = binomial(link = "cloglog") le lien cauchit : γ Cauchy(0, 1) : probit(y) = F 1 γ (y), F γ (y) = 1 π arctan y + 1 2. C. Chesneau 87

Dans les commandes R à venir : family = binomial(link = "cauchit") Dans la suite, on considère uniquement la fonction de lien logit en raison de sa simplicité. C. Chesneau 88

6.4 Estimation Vraisemblance : Soit β = (β 0,..., β p ). La vraisemblance associée à (Y 1,..., Y n ) est n L(β, z) = p(x i ) z i (1 p(x i )) 1 z i, z = (z 1,..., z n ) {0, 1} n, i=1 avec x i = (x 1,i,..., x p,i ). Emv : Les estimateurs du maximum de vraisemblance de β 0,..., β p, notés β 0,..., β p, vérifient les équations : n i=1 ( y i logit 1 ( β 0 + β 1 x 1,i +... + β ) p x p,i ) = 0 et, pour tout j {1,..., p}, n i=1 x j,i (y i logit 1 ( β 0 + β 1 x 1,i +... + β ) p x p,i ) = 0. Dans le cas général, il n y a pas d expression analytique pour β 0,..., β p ; ils peuvent être approchés avec l algorithme de Newton-Raphson. Estimation : Une estimation de p(x) avec x = (x 1,..., x p ) est p(x) = logit 1 ( β 0 + β 1 x 1 +... + β p x p ) = exp( β 0 + β 1 x 1 +... + β p x p ) 1 + exp( β 0 + β 1 x 1 +... + β p x p ). C. Chesneau 89

library(stats) reg = glm(y ~ X1 + X2 + X3, family = binomial) reg predict.glm(reg, data.frame(x1 = 15, X2 = 12.6, X3 = 4), type = "response") La commande predict.glm utilise, par défaut, la transformation Logit de p(x). C est pourquoi il faut préciser type = "response" lorsque que l on veut faire de la prédiction sur p(x) uniquement. Pour tracer la ligne logistique, on fait les commandes : fit = fitted.values(reg) plot(w) lines(x1, fit, col = "red") Prédiction du groupe : On appelle prédiction du groupe d un individu ω vérifiant (X 1,..., X p ) = x la réalisation de 1 si p(x) 1 Ŷ x = 1 { p(x) 1 p(x)} = 2, 0 sinon. pred.prob = predict.glm(reg, data.frame(x1 = 15, X2 = 12.6, X3 = 4), type = "response") pred.mod = factor(ifelse(pred.prob > 0.5, "1", "0")) pred.mod Variance - écart-type : En posant β = ( β 0,..., β p ) t, on a V ( β) = ) 1 ( 2 log L(β, Y ) β2 β= β = (Xt W X) 1, C. Chesneau 90

où 1 x 1,1 x p,1 1 x 1,2 x p,2 X =.... 1 x 1,n x p,n et W = diag ( p(x 1 )(1 p(x 1 )),..., p(x n )(1 p(x n ))). Dans la suite, on posera σ( β j ) = V ( βj ), racine carrée de la j + 1-ème composante du vecteur V ( β). C. Chesneau 91

6.5 Significativité de la régression Test de Wald : Soit j {0,..., p}. L objectif du test de Wald est d évaluer l influence (ou la contribution) de X j sur Y. On considère les hypothèses : H 0 : β j = 0 contre H 1 : β j 0. On calcule la réalisation z obs de On considère une var Z N (0, 1). Alors la p-valeur associée est Z = β j σ( β j ). p-valeur = P( Z z obs ). Ce test repose sur le fait que l emv à pour loi asymptotique la loi normale. Si, l influence de X j sur Y est significative, si, elle est très significative, si, elle est hautement significative. summary(reg) Déviance : La déviance du modèle est la réalisation de D = 2 n i=1 ( ( ) ( )) Yi 1 Yi Y i log + (1 Y i ) log p(x i ) 1 p(x i ) avec x i = (1, x 1,i,..., x p,i ). C est 2 fois la différence entre les log-vraisemblances évaluées en Y i et p(x i ). C. Chesneau 92

Loi de D : Si le modèle est bien adapté au problème (ou exact), la loi limite (ou exact) de D est χ 2 (n (p + 1)). Test de la déviance : Soit j {0,..., p}. L objectif du test de la déviance est d évaluer l influence (ou la contribution) de X j sur Y. La p-valeur associée utilise la loi du Chi-deux : si, l influence de X j sur Y est significative, si, elle est très significative et si, elle est hautement significative. anova(reg, test = "Chisq") Test lr : On considère les hypothèses : H 0 : β 1 = β 2 =... = β p = 0 contre H 1 : il y a au moins un coefficient non nul. Pour ce faire, on utilise le test du rapport de vraisemblance (lr pour likelihood ratio) (asymptotique). La p-valeur associée utilise la loi du Chi-deux : si, l influence d au moins une variable est significative, si, très significative et si, hautement significative. library(rms) reg2 = lrm(y ~ X1 + X2) reg2 Autre solution : reg = glm(y ~ X1 + X2, family = binomial) reg0 = glm(y ~ 1, family = binomial) anova(reg0, reg, test = "Chisq") C. Chesneau 93

6.6 Rapport des côtes Rapport des côtes : On appelle rapport des côtes (ou odds ratio) de 2 valeurs x et x 0 de X = (X 1,..., X p ) le réel : RC(x, x 0 ) = p(x ) 1 p(x ) p(x 0 ) 1 p(x 0 ) = p(x )(1 p(x 0 )) (1 p(x ))p(x 0 ). Interprétation : Soient j {1,..., p} et e j = (0,..., 0, 1, 0,..., 0) (le 1 se situe à la j-ème composante). Si X j augmente d une unité, alors le rapport des côtes est RC j = RC(x + e j, x) = exp(β j ), x R p. Par conséquent, si RC j > 1, l augmentation d une unité de X j entraîne une augmentation des chances que {Y = 1} se réalise, si RC j = 1, l augmentation d une unité de X j n a pas d impact sur Y, si RC j < 1, l augmentation d une unité de X j entraîne une augmentation des chances que {Y = 0} se réalise. Estimateur de RC j : Un estimateur de RC j est RC j = exp( β j ). Avec l observation de celui-ci, on peut interpréter l influence de X j sur {Y = 1} en la comparant à 1, comme on l a fait précédemment. C. Chesneau 94

exp(coef(reg)) C. Chesneau 95

6.7 Intervalles de confiance Intervalle de confiance pour β j : Soit j {0,..., p}. Un intervalle de confiance pour β j au niveau 100(1 α)%, α ]0, 1[, est la réalisation i βj de I βj = [ βj z α σ( β j ), βj + z α σ( β j )], où z α est le réel vérifiant P( Z z α ) = α, avec Z N (0, 1). confint.default(reg, level = 0.95) Intervalle de confiance pour p(x) : Un intervalle de confiance pour p(x), avec x = (x 1,..., x p ), au niveau 100(1 α)%, α ]0, 1[, est la réalisation i p(x) de I p(x) = [ logit 1 (logit p(x) z α σ(logit p(x))), logit 1 (logit p(x) + z α σ(logit p(x))) ], où z α est le réel vérifiant P( Z z α ) = α, avec Z N (0, 1). Par exemple, pour avoir un intervalle de confiance au niveau 95%, on fait hatp = predict.glm(reg, data.frame(x1 = 1), se.fit = TRUE) ci = c(hatp$fit - 1.96 * hatp$se.fit, hatp$fit + 1.96 * hatp$se.fit) exp(ci) / (1 + exp(ci)) Intervalle de confiance pour RC j : Soit j {1,..., p}. Un intervalle de confiance pour RC j au niveau 100(1 α)%, α ]0, 1[, est la réalisation i RCj de I RCj = [ ) )] exp ( βj z α σ( β j ), exp ( βj + z α σ( β j ), C. Chesneau 96

où z α est le réel vérifiant P( Z z α ) = α, avec Z N (0, 1). exp(confint.default(reg)) C. Chesneau 97

6.8 Pertinence du modèle Méthodes : Afin d étudier la pertinence du modèle de régression logistique, on préconise les méthodes suivantes : La "règle du pouce", Test de Hosmer-Lemeshow, Test des résidus de Pearson, Test des résidus de la déviance. La règle du pouce : L espérance d une var suivant une loi du Chi-deux est égale à ses degrés de libertés. Par conséquent, si le modèle est pertinent, on doit avoir D proche de son espérance ν = n (p + 1), soit encore, D ν 1. Si tel est le cas, tout va bien. deviance(reg) / df.residual(reg) ou alors, on a ces 2 valeurs avec la commande summay(reg) ; il est donc aisée de voir si elles sont proches ou pas. Test de Hosmer-Lemeshow : Pour évaluer la pertinence du modèle de régression logistique, on préconise le test de Hosmer-Lemeshow. La p-valeur associée utilise la loi du Chi-deux : si p- valeur > 0.05, on admet que le modèle est bien adapté aux données. library(resourceselection) hoslem.test(y, fitted(reg), g = 10) C. Chesneau 98

Résidus de Pearson : Pour tout i {1,..., n}, on appelle i-ème résidus de Pearson la réalisation de ɛ i = Y i p(x i ) p(xi )(1 p(x i )). Celui-ci est notée e i. e = residuals(reg, type = "pearson") Loi associée : Si le modèle étudié est pertinent (ou exact), alors la loi limite (ou exact) de n i=1 ( ɛ i )2 est χ 2 (n (p + 1)). Test des résidus de Pearson : L objectif du test des résidus de Pearson est d évaluer la pertinence du modèle. On considère les hypothèses : H 0 : p(x) = logit 1 (β 0 + β 1 x 1 +... + β p x p ) contre H 1 : p(x) logit 1 (β 0 + β 1 x 1 +... + β p x p ). On calcule On considère une var K χ 2 (ν). Alors la p-valeur associée est χ 2 obs = n (e i ) 2. i=1 p-valeur = P(K χ 2 obs ). Si p-valeur > 0.05, alors on admet que le modèle est bien adapté aux données. s2 = sum(residuals(reg, type = "pearson")ˆ2) ddl = df.residual(reg) pvaleur = 1 - pchisq(s2, ddl) pvaleur C. Chesneau 99

Test des résidus de la déviance : Le test des résidus de la déviance est similaire à celui des résidus de Pearson, mais avec les déviances résiduelles : pour tout i {1,..., n}, la i-ème déviance résiduelle est la réalisation de D i = Sign(Y i p(x i )) 2 ( ( ) ( )) Yi 1 Yi Y i log + (1 Y i ) log. p(x i ) 1 p(x i ) et la déviance est la réalisation de Soit χ 2 obs cette réalisation et K χ2 (ν). Alors la p-valeur associée est D = n Di 2. i=1 p-valeur = P(K χ 2 obs ). pvaleur = 1 - pchisq(deviance(reg), df.residual(reg)) pvaleur Pseudo R 2 : Plusieurs "pseudo R 2 " existent pour la régression logistique (pseudo R 2 de McFadden, de Nagelkerke,... ). Plus ils sont proches de 1, meilleur est le modèle. Toutefois, ces R 2 sont souvent petits et difficiles à interpréter ; ils sont généralement considérés comme corrects si R 2 > 0.2. library(rms) reg2 = lrm(y ~ X1 + X2 + X3) reg2 C. Chesneau 100

6.9 Détection des valeurs anormales Objectif : La détection de valeurs anormales dans les données est cruciale car elles peuvent avoir une influence négative dans les estimations et, a fortiori, dans les prévisions (effet levier de la fonction de régression). Méthodes : Méthode des résidus normalisés de Pearson, Critère des Distances de Cook. Résidus normalisés de Pearson : Pour tout i {1,..., n}, on appelle i-ème résidus standardisé de Pearson la réalisation e i de ɛ i = ɛ o i 1 [W 1/2 X(X t W X) 1 X t W 1/2 ] i,i. où W = diag ( p(x 1 )(1 p(x 1 )),..., p(x n )(1 p(x n ))). On appelle résidus standardisés les réels e 1,..., e n. rstandard(reg, type = "pearson") Méthode des résidus normalisés de Pearson : Pour tout i {1,..., n}, si e i > 2, on envisage l anormalité de la i-ème observation. C. Chesneau 101

e = rstandard(reg, type = "pearson") plot(e) e[abs(e) > 2] Critère des distances de Cook : Pour tout i {1,..., n}, on défini la distance de Cook de la i-ème observation par Si d i = [W 1/2 X(X t W X) 1 X t W 1/2 ] i,i (p + 1)(1 [W 1/2 X(X t W X) 1 X t W 1/2 ] i,i ) (e i ) 2. d i > 1, on envisage l anormalité de la i-ème observation. plot(reg, 4) cooks.distance(reg)[cooks.distance(reg) > 1] Admettons que les valeurs associées aux individus 8 et 20 soient anormales. On refait l analyse sans ces individus avec la commande : reg2 = glm(y ~ X1 + X2 + X3, subset = - c(8, 20), family = binomial) Peu importe la méthode et le résultat, il faut toujours s assurer auprès du spécialiste de l étude que une ou plusieurs observations peuvent être retirées des données. C. Chesneau 102

6.10 Sélection de variables Objectif : Il est intéressant de déterminer la meilleure combinaison des variables X 1,..., X p qui explique Y. Or l approche qui consiste à éliminer d un seul coup les variables dont les coefficients associés ne sont pas significativement différents de 0 n est pas bonne ; certaines variables peuvent être corrélées à d autres ce qui peut masquer leur réelle influence sur Y. Méthodes : La méthode pas à pas utilisant le AIC ou BIC déjà vue avec la rlm, fonctionne aussi avec la régression logistique. library(stats) reg = glm(y ~ X1 + X2 + X3, family = binomial) Pour faire l approche pas à pas avec AIC : step(reg, direction = "both", k = 2) Pour faire l approche pas à pas avec BIC : step(reg, direction = "both", k = log(length(y))) Comparaison de 2 modèles : Pour tester l influence d une ou plusieurs variables dans le modèle de régression logistique, tout en prenant en considération les autres variables, on peut utiliser le test de la déviance (équivalent à celui de l ANOVA dans le cas du modèle de rlm). Si p-valeur > 0.05, alors les variables étudiées ne contribuent pas significativement au modèle. C. Chesneau 103

Si on veut tester H 0 : β 2 = β 4 = 0 en sachant qu il y a les variables X1 et X3 dans le modèle, on effectue reg1 = glm(y ~ X1 + X2 + X3 + X4, family = binomial) reg2 = glm(y ~ X1 + X3, family = binomial) anova(reg1, reg2) C. Chesneau 104

6.11 Qualité du modèle Méthodes : Pour évaluer la qualité du modèle de régression logistique, on préconise : Le taux d erreur, La courbe ROC. Prédiction du groupe : On appelle i-ème prédiction du groupe la réalisation ỹ i de 1 si p(x i ) 1 Ŷ i = 1 { p(xi ) 1 p(x i )} = 2, 0 sinon. pred.prob = predict(reg, type = "response") pred.mod = factor(ifelse(pred.prob > 0.5, "1", "0")) pred.mod Matrice de confusion : On appelle matrice de confusion la matrice : MC = n i=1 1 {y i =ỹ i =0} n i=1 1 {y i =1} {ỹ i =0} n i=1 1 {y i =0} {ỹ i =1} n i=1 1 {y i =ỹ i =1} = Nombre de 0 prédit, 0 en réalité Nombre de 0 prédit, 1 en réalité Nombre de 1 prédit, 0 en réalité. Nombre de 1 prédit, 1 en réalité mc = table(y, pred.mod) mc C. Chesneau 105

Taux d erreur : On appelle le taux d erreur (de prédiction) le réel : ( n t = 1 1 n {yi =0} {ỹ i =1} + i=1 n i=1 1 {yi =1} {ỹ i =0} ). Ce taux est la proportion des modalités prédites qui diffèrent des modalités observées (c est aussi la somme des 2 valeurs non-diagonales de la matrice de confusion divisée par n). Plus t est proche de 0, meilleur est la qualité prédictive modèle. On convient que la qualité prédictive du modèle est mauvaise lorsque t > 0.5. t = (mc[1, 2]+mc[2, 1]) / sum(mc) t Courbe ROC (Receiver Operating Characteristic curve) : Soit τ [0, 1]. On appelle i-ème prédiction du groupe au niveau τ la réalisation ỹ i (τ) de 1 si p(x i ) τ, Ŷ i (τ) = 0 sinon. À partir de ces prédictions, on défini : la fréquence de fausse alarme ( 1-specificity ) : ffa(τ) = n i=1 1 {y i =0} {ỹ i (τ)=1} n i=1 1. {y i =0} la fréquence de bonne détection ( sensitivity ) : fbd(τ) = n i=1 1 {y i =1} {ỹ i (τ)=1} n i=1 1. {y i =1} C. Chesneau 106

On appelle courbe ROC la courbe passant par les points : {(ffa(τ), fbd(τ)); τ [0, 1]}. Plus la courbe longe les axes x = 0 et y = 1, meilleur est le modèle. library(epicalc) croc = lroc(reg) Autrement dit, plus l aire sous la courbe ROC est proche de 1, meilleur est le modèle. Cette aire correspond au c index donné par la commande : library(rms) cindex = lrm(reg) C. Chesneau 107

6.12 Cas des données groupées Contexte : On suppose que les n individus sont répartis en q groupes G 1,..., G q : G 1 G 2... G q Ainsi, n = q u=1 n u. Effectif n 1 n 2... n q On n a pas en notre possession les observations (y 1, x 1,1,..., x p,1 ),..., (y n, x 1,n,..., x p,n ) de (Y, X 1,..., X p ) sur les n individus ; pour chacun des groupes G 1,..., G q, on dispose du nombre d individus réalisant {Y = 1}. Ce nombre est une variable quantitative discrète N. Données : Les données se présentent généralement sous la forme d un tableau : Groupe X 1... X p Effectif N G 1 x 1,1... x p,1 n 1 n1 i=1 y i G 2 x 1,2... x p,2 n 2 n1 +n 2 i=n 1 +1 y i...... G q x 1,q... x p,q n q nq 1 +n q i=n q 1 +1 y i Modélisation : On modélise les variables considérées comme des var (définies sur un espace probabilisé (Ω, A, P)). Pour tout g {1,..., q}, (x 1,g,..., x p,g ) est une réalisation du vecteur aléatoire réel (X 1,..., X p ), sachant que (X 1,..., X p ) = (x 1,g,..., x p,g ) = x g, n g 1 +n g i=n g 1 +1 y i est une réalisation de N g B (n g, p(x g )), p(x g ) = P({Y = 1} {(X 1,..., X p ) = x g }). C. Chesneau 108

Cette loi est utilisée dans tous les outils théoriques, notamment pour définir la vraisemblance associée à (N 1,..., N q ) (et non (Y 1,..., Y n )) : L(β, z) = q g=1 ( ng z g ) p(x g ) zg (1 p(x g )) ng zg, q z = (z 1,..., z g ) {0,..., n g }. g=1 Objectif : L objectif est toujours le même : estimer la probabilité (ou proportion) inconnue p(x) = P({Y = 1} {(X 1,..., X p ) = x}), x = (x 1,..., x p ), à l aide des données. En notant N b le nombre d individus, la commande correspondante est reg = glm(cbind(yg, Nb - Yg) ~ X1 + X2 + X3 + X4, family = binomial) ou reg = glm(yg / n ~ X1 + X2 + X3 + X4, family = binomial, weights = n) summary(reg) Analyse statistique : Les méthodes présentées dans les sections précédentes sont toujours valables avec les mêmes commandes. C. Chesneau 109

7 Régression polytomique 7.1 Contexte Problématique : On souhaite expliquer une variable qualitative Y à m modalités u 1,..., u m en fonction de p autres variables X 1,..., X p. Données : Les données constituent des observations de ces variables. Ce sont n observations de (Y, X 1,..., X p ) notées (y 1, x 1,1,..., x p,1 ),..., (y n, x 1,n,..., x p,n ). Elles se présentent généralement sous la forme d un tableau : Y X 1... X p y 1 x 1,1... x p,1 y 2 x 1,2... x p,2.... y n x 1,n... x p,n Modélisation : On modélise les variables considérées comme des var (définies sur un espace probabilisé (Ω, A, P)). Pour tout i {1,..., n}, (x 1,i,..., x p,i ) est une réalisation du vecteur aléatoire réel (X 1,..., X p ), sachant que (X 1,..., X p ) = (x 1,i,..., x p,i ) = x i, y i est une réalisation d une var Y i dont la loi est donnée par P(Y i = u k ) = P({Y = u k } {(X 1,..., X p ) = x i }). C. Chesneau 110

Objectif : Pour tout k {1,..., m}, un objectif est d estimer la probabilité inconnue p k (x) = P({Y = u k } {(X 1,..., X p ) = x}), x = (x 1,..., x p ), à l aide des données. C. Chesneau 111

7.2 Régression multinomiale (ou polytomique non-ordonnée) 7.2.1 Contexte Hypothèse : On suppose que les modalités de Y sont sans lien hiérarchique/ordre. Notons que le cas k = 2, u 1 = 0 et u 2 = 1 correspond à la régression logistique. Régression multinomiale : On appelle modèle de régression multinomiale (ou polytomique nonordonnée) la modélisation : pour tout k {2,..., m}, log ( ) pk (x) = β (k) 0 + β (k) 1 p 1 (x) x 1 +... + β p (k) x p, soit encore, p k (x) = exp(β (k) 0 + β (k) 1 x 1 +... + β p (k) x p ) 1 + m k=2 exp(β(k) 0 + β (k) 1 x 1 +... + β p (k) x p ), où β (k) 0,..., β(k) p désigne p + 1 réels inconnus. Notons que, pour k = 1, on a m p 1 (x) = 1 p k (x). k=2 Objectif : Notre objectif est d estimer les coefficients inconnus β 0,..., β p à partir des données. C. Chesneau 112

7.2.2 Estimation Vraisemblance : Soit β = (β (1) 0,..., β(1) p,..., β (m) 0,..., β p (m) ). La vraisemblance du modèle est n m L(β, z) = p k (x i ) 1 {z i =u k}, i=1 k=1 z = (z 1,..., z n ) {u 1,..., u m } n avec x i = (x 1,i,..., x p,i ). Cela correspond à la vraisemblance d une loi multinomiale. Emv : On utilise la méthode du maximum de vraisemblance pour estimer β. Pour tout k {2,..., m}, on a un emv β (k) de β (k) = (β (k) 0,..., β(k) p ), mis en œuvre avec l algorithme de Newton-Raphson. Estimation : Une estimation de p k (x) avec k {2,..., m} est p k (x) = exp( β (k) (k) 0 + β 1 x 1 +... + 1 + m (k) k=2 exp( β 0 + β (k) p x p ) β (k) 1 x 1 +... + β (k) p x p ). On en déduit une estimation de p k (x) avec k = 1 : m p 1 (x) = 1 p k (x). k=2 library(nnet) reg = multinom(y ~ X1 + X2 + X3) summary(reg) Prédiction : Sachant qu un individu ω vérifie (X 1,..., X p ) = x, à partir de p k (x), on peut faire de la prédiction sur : C. Chesneau 113

la probabilité que ω satisfait Y = u k pour tout k {1,..., m}, predict(reg, data.frame(x1 = 1, X2 = 25, X3 = 4), type = "probs") la modalité de Y la plus probable pour ω. predict(reg, data.frame(x1 = 1, X2 = 25, X3 = 4), type = "class") C. Chesneau 114

7.2.3 Significativité du modèle Test de Wald : Soient j {0,..., p} et k {1,..., m}. L objectif du test de Wald est d évaluer l influence (ou la contribution) de X j sur Y. On considère les hypothèses : H 0 : β (k) j = 0 contre H 1 : β (k) j 0. On calcule la réalisation z obs de Z = β (k) j σ( β (k) j ). On considère une var Z N (0, 1). Alors la p-valeur associée est p-valeur = P( Z z obs ). Si, l influence de X j sur Y est significative, si, elle est très significative et si, elle est hautement significative. reg = multinom(y ~ X1 + X2 + X3) z = summary(reg)$coeff / summary(reg)$standard.errors pvaleur = 2 * (1 - pnorm(abs(z), 0, 1)) pvaleur Déviance : La déviance du modèle est la réalisation de D = 2 n i=1 k=1 m 1 {Yi =u k } log ( ) 1{Yi =u k } p k (x i ) avec x i = (1, x 1,i,..., x p,i ). Test lr : On considère les hypothèses : C. Chesneau 115

H 0 : β (k) 1 = β (k) 2 =... = β (k) p = 0 pour tout k {1,..., m} contre H 1 : il y a au moins un coefficient non nul. Pour ce faire, on utilise le test du rapport de vraisemblance (lr pour likelihood ratio) (asymptotique). La p-valeur associée utilise la loi du Chi-deux : si, l influence d au moins une variable est significative, si, très significative et si, hautement significative. reg = multinom(y ~ X1 + X2 + X3) reg0 = multinom(y ~ 1) rv = reg0$deviance - reg$deviance ddl = reg$edf - reg0$edf pvaleur = 1 - pchisq(rv, ddl) pvaleur C. Chesneau 116

7.2.4 Sélection de variables On peut également faire de la sélection de variables avec les critères AIC et BIC : library(stats) Pour faire l approche pas à pas avec AIC : step(reg, direction = "both", k = 2) Pour faire l approche pas à pas avec BIC : step(reg, direction = "both", k = log(length(y))) C. Chesneau 117

7.2.5 Qualité du modèle Prédiction de modalités : On appelle i-ème prédiction de modalité la réalisation ỹ i de Ŷ i = u Argmaxk {1,...,m} p k (x i ). Matrice de confusion : On appelle matrice de confusion la matrice : ( n ) MC = 1 {yi =u k } {ỹ i =u k } i=1 (k,k ) {1,...,m} 2. On suppose que Y a m = 3 modalités. En notant w le jeu de données, les commandes pour obtenir la matrice MC sont : pr = predict(reg) mc = table(y, pr) mc Taux d erreur : On appelle le taux d erreur (de prédiction) le réel : t = 1 n m k=1 m k =1 k k 1 {yi =u k } {ỹ i =u k } Ce taux est la proportion des modalités prédites qui diffèrent des modalités observées. C est aussi la somme des n 2 n composantes non-diagonales de la matrice de confusion divisée par n. Plus t est proche de 0, meilleur est le modèle. On convient que la qualité du modèle est mauvaise lorsque t > 0.5. C. Chesneau 118

tau = (mc[1, 2] + mc[1, 3] + mc[2, 1] + mc[2, 3] + mc[3, 1] + mc[3, 2]) / sum(mc) tau C. Chesneau 119

7.3 Régression polytomique ordonnée Hypothèse : On suppose que les modalités de Y sont ordonnées : le fait que u k+1 succède à u k a du sens. C est souvent le cas quand les modalités de Y correspondent à des classes de valeurs. Modélisation : On modélise les variables considérées comme des var (définies sur un espace probabilisé (Ω, A, P)). On suppose qu il existe une variable Y latente telle que : Y peut se modéliser comme : u 1 si Y ]a 0, a 1 ], u 2 si Y ]a 1, a 2 ], Y = u m si Y ]a m 1, a m ], où a 0 =, a m =, β 0,..., β p sont p + 1 coefficients inconnus, une liaison linéaire entre Y et X 1,..., X p est envisageable. On peut modéliser Y par une rlm : Y = β 0 + β 1 X 1 +... + β p X p + γ, où β 0,..., β p sont p + 1 coefficients inconnus et γ est une var symétrique (γ et γ suivent la même loi) de densité f γ et de fonction de répartition F γ. Pour tout i {1,..., n}, C. Chesneau 120

(x 1,i,..., x p,i ) est une réalisation du vecteur aléatoire réel (X 1,..., X p ), sachant que (X 1,..., X p ) = (x 1,i,..., x p,i ) = x i, y i est une réalisation de la var Y. Régression polytomique ordonnée : On appelle modèle de régression polytomique ordonnée la modélisation : pour tout k {1,..., m 1}, p k (x) = F γ (a k (β 0 + β 1 x 1 +... + β p x p )) F γ (a k 1 (β 0 + β 1 x 1 +... + β p x p )). Objectif : Notre objectif est d estimer les coefficients inconnus a 1,..., a m 1, β 0,..., β p à partir des données. Pour ce faire, on utilise la méthode du maximum de vraisemblance. On obtient alors β 0,..., β p, emv de β 0,..., β p, lequel utilise l algorithme de Newton-Raphson. Estimation : Une estimation de p k (x) est p k (x) = F γ (â k ( β 0 + β 1 x 1 +... + β p x p )) F γ (â k 1 ( β 0 + β 1 x 1 +... + β p x p )). library(mass) reg = polr(y ~ X1 + X2 + X3, method = "logistic") reg Tests d hypothèses : On peut mettre en œuvre tous les tests d hypothèses usuels. library(car) Anova(reg) C. Chesneau 121

8 Régression de Poisson 8.1 Contexte Problématique : On souhaite expliquer une variable de comptage à valeurs entières Y en fonction de p autres variables X 1,..., X p. Données : Les données constituent des observations de ces variables. Ce sont n observations de (Y, X 1,..., X p ) notées (y 1, x 1,1,..., x p,1 ),..., (y n, x 1,n,..., x p,n ). Elles se présentent généralement sous la forme d un tableau : Y X 1... X p y 1 x 1,1... x p,1 y 2 x 1,2... x p,2.... y n x 1,n... x p,n Objectif : Pour tout k N, un objectif est d estimer la probabilité inconnue p k (x) = P({Y = k} {(X 1,..., X p ) = x}), x = (x 1,..., x p ), à l aide des données. Modélisation : On modélise les variables considérées comme des var (définies sur un espace probabilisé (Ω, A, P)). Pour tout i {1,..., n}, C. Chesneau 122

(x 1,i,..., x p,i ) est une réalisation du vecteur aléatoire réel (X 1,..., X p ), sachant que (X 1,..., X p ) = (x 1,i,..., x p,i ) = x i, y i est une réalisation d une var Y i P(λ(x i )), λ(x i ) = E(Y {(X 1,..., X p ) = x i }). Régression de Poisson : On appelle régression de Poisson la modélisation : Y P(λ(x)) avec log(λ(x)) = β 0 + β 1 x 1 +... + β p x p, où β 0,..., β p désigne p + 1 réels inconnus. Soit encore, λ(x) = exp (β 0 + β 1 x 1 +... + β p x p ). Objectif : Notre objectif est d estimer les coefficients inconnus β 0,..., β p à partir des données. Pour ce faire, on utilise la méthode du maximum de vraisemblance. On obtient alors β 0,..., β p, emv de β 0,..., β p. Estimation : Une estimation de λ(x) avec x = (x 1,..., x p ) est λ(x) = exp( β 0 + β 1 x 1 +... + β p x p ). C. Chesneau 123

library(stats) reg = glm(y ~ X1 + X2 + X3, family = poisson) predict.glm(reg, data.frame(x1 = 15, X2 = 12.6, X3 = 4), type = "response") La commande predict.glm utilise, par défaut, la transformation log de λ(x). C est pourquoi il faut préciser type = "response" lorsque que l on veut faire de la prédiction sur λ(x) uniquement. Prédiction : Sachant qu un individu ω vérifie (X 1,..., X p ) = x, à partir de λ(x), on peut faire de la prédiction sur la probabilité que ω satisfait Y = k pour tout k N : p k (x) = exp( λ(x)) ( λ(x)) k. k! hlambda = predict.glm(reg, data.frame(x1 = 15, X2 = 12.6, X3 = 4), type = "response") probs = dpois(0 :100, hlambda) probs la valeur de Y la plus probable pour ω. which.max(probs) Si cela affiche 9, la valeur la plus probable est k = 8 ; c est la 9-ème valeur en partant de 0. Variance - écart-type : En posant β = ( β 0,..., β p ) t, on a V ( β) = ) 1 ( 2 log L(β, Y ) β2 β= β = (Xt W X) 1, C. Chesneau 124

où 1 x 1,1 x p,1 1 x 1,2 x p,2 X =.... 1 x 1,n x p,n et W = diag( λ(x 1 ),..., λ(x n )). Dans la suite, on posera σ( β j ) = V ( βj ), racine carrée de la j-ème composante du vecteur V ( β). C. Chesneau 125

8.2 Significativité de la régression Test de Wald : Soit j {0,..., p}. L objectif du test de Wald est d évaluer l influence (ou la contribution) de X j sur Y. On considère les hypothèses : On calcule la réalisation z obs de On considère une var Z N (0, 1). Alors la p-valeur associée est H 0 : β j = 0 contre H 1 : β j 0. Z = β j σ( β j ). p-valeur = P( Z z obs ). Si, l influence de X j sur Y est significative, si, elle est très significative et si, elle est hautement significative. summary(reg) Déviance : La déviance du modèle est la réalisation de D = 2 ( ( ) ) n Y i Y i log (Y i λ(x λ(x i )) i ) i=1 avec x i = (1, x 1,i,..., x p,i ). C est 2 fois la différence entre les log-vraisemblances évaluées en Y i et λ(x i ). Test de la déviance : Soit j {0,..., p}. L objectif du test de la déviance est d évaluer l influence (ou la contribution) de X j sur Y. C. Chesneau 126

La p-valeur associée utilise la loi du Chi-deux : si, l influence de X j sur Y est significative, si, elle est très significative et si, elle est hautement significative. anova(reg, test = "Chisq") Test lr : On considère les hypothèses : H 0 : β 1 = β 2 =... = β p = 0 contre H 1 : il y a au moins un coefficient non nul. Pour ce faire, on utilise le test du rapport de vraisemblance (lr pour likelihood ratio) (asymptotique). La p-valeur associée utilise la loi du Chi-deux : si, l influence d au moins une variable est significative, si, très significative et si, hautement significative. reg = glm(y ~ X1 + X2, family = poisson) reg0 = glm(y ~ 1, family = poisson) anova(reg0, reg, test = "Chisq") C. Chesneau 127

8.3 Intervalles de confiance Intervalle de confiance pour β j : Soit j {0,..., p}. Un intervalle de confiance pour β j au niveau 100(1 α)%, α ]0, 1[, est la réalisation i βj de I βj = [ βj z α σ( β j ), βj + z α σ( β j )], où z α est le réel vérifiant P( Z z α ) = α, avec Z N (0, 1). confint.default(reg, level = 0.95) Intervalle de confiance pour λ(x) : Un intervalle de confiance pour λ(x), avec x = (x 1,..., x p ), au niveau 100(1 α)%, α ]0, 1[, est la réalisation i λ(x) de I λ(x) = [ ( exp log λ(x) z α σ(log λ(x)) ) (, exp log λ(x) + z α σ(log λ(x)) )], où z α est le réel vérifiant P( Z z α ) = α, avec Z N (0, 1). Par exemple, pour avoir un intervalle de confiance au niveau 95%, on fait hatp = predict.glm(reg, data.frame(x1 = 1), se.fit = TRUE) ci = c(hatp$fit - 1.96 * hatp$se.fit, hatp$fit + 1.96 * hatp$se.fit) exp(ci) C. Chesneau 128

8.4 Pertinence du modèle Méthodes : Afin d étudier la pertinence du modèle de régression de Poisson, plusieurs approches sont possibles. On préconise les méthodes suivantes : La "règle du pouce", Test de Hosmer-Lemeshow, Test des résidus de Pearson, Test des résidus de la déviance. La règle du pouce : L espérance d une var suivant une loi du Chi-deux est égale à ses degrés de libertés. Par conséquent, si le modèle est pertinent, on doit avoir D proche de son espérance, c est à dire, ν = n (p + 1), soit D ν 1. Si tel est le cas, cela est rassurant. deviance(reg) / df.residual(reg) ou alors, on a ces 2 valeurs avec la commande summay(reg) ; il est donc aisée de voir si elles sont proches ou pas. Test de Hosmer-Lemeshow : Pour évaluer la pertinence du modèle de régression logistique, on préconise le test de Hosmer-Lemeshow. La p-valeur associée utilise la loi du Chi-deux : si p- valeur > 0.05, on admet que le modèle est bien adapté aux données. library(resourceselection) hoslem.test(y, fitted(reg), g = 10) Résidus de Pearson : Pour tout i {1,..., n}, on appelle i-ème résidus de Pearson la réalisation C. Chesneau 129

de ɛ i = Y i λ(x i ). λ(x i ) Celui-ci est notée e i. e = residuals(reg, type = "pearson") Loi associée : Si le modèle étudié est pertinent (ou exact), alors la loi limite (ou exacte) de n i=1 ( ɛ i )2 est χ 2 (n (p + 1)). Test des résidus de Pearson : L objectif du test des résidus de Pearson est d évaluer la pertinence du modèle. On considère les hypothèses : H 0 : λ(x) = exp (β 0 + β 1 x 1 +... + β p x p ) contre H 1 : λ(x) exp (β 0 + β 1 x 1 +... + β p x p ). On calcule χ 2 obs = n (e i ) 2. i=1 On considère une var K χ 2 (ν) (avec ν = n (p + 1)). Alors la p-valeur associée est p-valeur = P(K χ 2 obs ). Si p-valeur > 0.05, alors on admet que le modèle est bien adapté aux données. C. Chesneau 130

s2 = sum(residuals(reg, type = "pearson")ˆ2) ddl = df.residual(reg) pvaleur = 1 - pchisq(s2, ddl) pvaleur Test des résidus de la déviance : Le test des résidus de la déviance est similaire à celui des résidus de Pearson, mais avec les déviances résiduelles : pour tout i {1,..., n}, la i-ème déviance résiduelle est la réalisation de ( ) ) D i = Sign(Y i λ(x i )) Y i 2 (Y i log (Y i λ(x λ(x i )) i ) et la déviance est la réalisation de Soit χ 2 obs cette réalisation et K χ2 (ν). Alors la p-valeur associée est D = n Di 2. i=1 p-valeur = P(K χ 2 obs ). pvaleur = 1 - pchisq(deviance(reg), df.residual(reg)) pvaleur C. Chesneau 131

8.5 Détection des valeurs anormales Objectif : La détection de valeurs anormales dans les données est cruciale car ces valeurs peuvent avoir une influence négative dans les estimations et, a fortiori, dans les prévisions. Méthodes : Méthode des résidus normalisés de Pearson, Critère des Distances de Cook. Résidus normalisés de Pearson : Pour tout i {1,..., n}, on appelle i-ème résidus standardisé de Pearson la réalisation e i de ɛ i = ɛ o i 1 [W 1/2 X(X t W X) 1 X t W 1/2 ] i,i. où W = diag( λ(x 1 ),..., λ(x n )). On appelle résidus standardisés les réels e 1,..., e n. rstandard(reg, type = "pearson") Méthode des résidus normalisés de Pearson : Pour tout i {1,..., n}, si e i > 2, on envisage l anormalité de la i-ème observation. e = rstandard(reg, type = "pearson") plot(e) e[abs(e) > 2] C. Chesneau 132

Critère des distances de Cook : Pour tout i {1,..., n}, on défini la distance de Cook de la i-ème observation par Si d i = [W 1/2 X(X t W X) 1 X t W 1/2 ] i,i (p + 1)(1 [W 1/2 X(X t W X) 1 X t W 1/2 ] i,i ) (e i ) 2. d i > 1, on envisage l anormalité de la i-ème observation. plot(reg, 4) cooks.distance(reg)[cooks.distance(reg) > 1] Admettons que les valeurs associées aux individus 4 et 26 soient anormales. On refait l analyse sans ces individus avec la commande : reg2 = lm(y ~ X1 + X2 + X3, subset = - c(4, 26)) Peu importe la méthode et le résultat, il faut toujours s assurer auprès du spécialiste de l étude que une ou plusieurs observations peuvent être retirées des données. C. Chesneau 133

8.6 Sélection de variables Objectif : Il est intéressant de déterminer la meilleure combinaison des variables X 1,..., X p qui explique Y. Or l approche qui consiste à éliminer d un seul coup les variables dont les coefficients associés ne sont pas significativement différents de 0 n est pas bonne ; certaines variables peuvent être corrélées à d autres ce qui peut masquer leur réelle influence sur Y. Méthodes : La méthode pas à pas utilisant le AIC ou BIC déjà vue avec la rlm, marche aussi avec la régression de Poisson. library(stats) reg = glm(y ~ X1 + X2 + X3, family = poisson) Pour faire l approche pas à pas avec AIC : step(reg, direction = "both", k = 2) Pour faire l approche pas à pas avec BIC : step(reg, direction = "both", k = log(length(y))) Comparaison de 2 modèles : Pour tester l influence d une ou plusieurs variables dans le modèle de régression de Poisson, tout en prenant en considération les autres variables, on peut utiliser le test de la déviance (équivalent à celui de l ANOVA dans le cas du modèle de rlm). Si p-valeur > 0.05, alors les variables étudiées ne contribuent pas significativement au modèle. C. Chesneau 134

Si on veut tester H 0 : β 2 = β 4 = 0 en sachant qu il y a les variables X1 et X3 dans le modèle, on effectue reg1 = glm(y ~ X1 + X2 + X3 + X4, family = poisson) reg2 = glm(y ~ X1 + X3, family = poisson) anova(reg1, reg2) C. Chesneau 135

8.7 Dispersion anormale Dispersion anormale : Par définition de la loi de Poisson, on a E(Y {(X 1,..., X p ) = x}) = λ(x), V(Y {(X 1,..., X p ) = x}) = λ(x). Ainsi la dispersion des valeurs de Y est égale à sa moyenne. Si tel n est pas le cas, la dispersion des valeurs est anormale. L impact de cette dispersion anormale est d exagérer la significativité des coefficients ; leurs estimations ponctuelles restent quasiment inchangées. Détection : On détecte l anormalité de la dispersion si la déviance D plus grande que ν = n (p + 1), summary(reg) en notant λ(x i ) la réalisation de λ(x i ), le nuage de points : {( λ(xi ), (y i λ(x i )) 2) ; i {1,..., n}} n est pas ajustable par une droite. plot(fitted(reg), (Y-fitted(reg))ˆ2) Test de Cameron et Trivedi : On peut confirmer l anormalité de la dispersion avec le test de Cameron et Trivedi : H 0 : V(Y {(X 1,..., X p ) = x}) = λ(x) contre H 1 : il existe c 0 tel que V(Y {(X 1,..., X p ) = x}) = λ(x) + cf(λ(x)), C. Chesneau 136

pour toutes fonctions linéaires f. Si p-valeur < 0.05, on admet la dispersion anormale. library(aer) dispersiontest(reg) Si problème : Si la dispersion anormale est avérée, on peut : la corriger, phi = sum(residuals(reg, type="pearson")ˆ2) / df.residual(reg) phi summary(reg, dispersion = phi) penser à utiliser un autre modèle (comme le modèle de régression binomiale négative qui autorise plus de souplesse dans la dispersion). C. Chesneau 137

8.8 Terme de décallage (offset) Contexte : Dans de nombreux problèmes, la variable de dénombrement Y à expliquer est proportionnelle à une autre variable T. Il est donc naturel de l inclure dans le modèle de régression de Poisson. Données : Les données sont de la forme : Y T X 1... X p y 1 t 1 x 1,1... x p,1 y 2 t 2 x 1,2... x p,2..... y n t n x 1,n... x p,n Objectif : Pour tout k N, un objectif est d estimer la probabilité inconnue : p k (t, x) = P({Y = k} {(T, X 1,..., X p ) = (t, x)}), x = (x 1,..., x p ), t R, à l aide des données. Modélisation : On modélise les variables considérées comme des var (définies sur un espace probabilisé (Ω, A, P)). Pour tout i {1,..., n}, (t i, x 1,i,..., x p,i ) est une réalisation du vecteur aléatoire réel (T, X 1,..., X p ), sachant que (X 1,..., X p ) = (x 1,i,..., x p,i ) = x i, y i est une réalisation d une var Y i P (λ(t i, x i )), λ(t i, x i ) = E(Y {(T, X 1,..., X p ) = (t i, x i )}). C. Chesneau 138

Terme de décallage : On considère le modèle : Y P(λ(t, x)) avec ( ) λ(t, x) log = β 0 + β 1 x 1 +... + β p x p, t où β 0,..., β p désigne p + 1 réels inconnus. Soit encore, λ(t, x) = t exp (β 0 + β 1 x 1 +... + β p x p ) = exp (ln(t) + β 0 + β 1 x 1 +... + β p x p ). Le terme ln(t) est appelé terme de décallage (offset). Objectif : Notre objectif est d estimer les coefficients inconnus β 0,..., β p à partir des données. Pour ce faire, on utilise la méthode du maximum de vraisemblance. On obtient alors β 0,..., β p, emv de β 0,..., β p. Estimation : Une estimation de λ(t, x) avec (t, x) = (t, x 1,..., x p ) est λ(t, x) = exp(ln(t) + β 0 + β 1 x 1 +... + β p x p ). reg = glm(y ~ offset(log(t)) + X1 + X2, family = poisson) summary(reg) Prédiction : Sachant qu un individu ω vérifie (T, X 1,..., X p ) = (t, x), à partir de λ(t, x), on peut faire de la prédiction sur la probabilité que ω satisfait Y = k pour tout k N : p k (t, x) = exp( λ(t, x)) ( λ(t, x)) k. k! C. Chesneau 139

hlambda = predict.glm(reg, data.frame(x1 = 15, X2 = 12.6, X3 = 4, T = 100), type = "response") probs = dpois(0 :100, hlambda) probs la valeur de Y la plus probable pour ω. which.max(probs) C. Chesneau 140

9 Jeux de données Adresse : Des jeux de données sont disponibles en remplacant le X de EtudeX dans l adresse internet : http://www.math.unicaen.fr/ ~ chesneau/etudex.txt par un entier inférieur ou égal à 10. Par exemple : http://www.math.unicaen.fr/~chesneau/etude4.txt Exemple : Ci-dessous, l exemple d un début de traitement de données en R : w = read.table("http://www.math.unicaen.fr/ ~ chesneau/etude2.txt", header = T) w names(w) reg = lm(y ~ X1 + X2) summary(reg) C. Chesneau 141

10 Annexe : emv 10.1 Méthode Échantillon : On a n var iid Y 1,..., Y n suivant la même loi qu une var Y. Loi de probabilité de Y : La loi de Y est caractérisée par une fonction f(θ, z), θ = (θ 0,..., θ p ), z R. Si Y est discrète, alors f(θ, z) = P θ (Y = z), si Y est à densité, alors f(θ, z) est la densité associée. Vraisemblance : La vraisemblance est n L(θ, z) = f(θ, z i ), z = (z 1,..., z n ) R n. i=1 Log-vraisemblance : La log-vraisemblance est l(θ) = ln L(θ, z). Emv : En posant Y = (Y 1,..., Y n ), l emv est θ = Argmax L(θ, Y ), (ou θ = Argmax l(θ, Y)). θ R p+1 θ R p+1 En général, on obtient θ en étudiant les θ qui annule les dérivées premières de la log-vraisemblance. C. Chesneau 142

Matrice d information de Fisher : On appelle matrice d information de Fisher la matrice I(θ) = ( ( )) 2 E l(θ, Y ). θ i θ j (i,j) {0,...,p} 2 10.2 Résultats asymptotiques On a les convergences en loi suivantes : Statistique θ ( θ θ) t I(θ)( θ θ) 2(l(θ, Y ) l( θ, Y )) Loi limite N ( 0, I(θ) 1) χ 2 (p + 1) χ 2 (p + 1) 10.3 Test global On considère le test global : H 0 : θ = θ 0 contre H 1 : θ θ 0 Les statistiques utilisées pour mettre en œuvre ce test d hypothèses sont : Statistique de Wald : de la vraisemblance : (sous H 0 ) ( θ θ 0 ) t I(θ 0 )( θ θ 0 ) 2(l(θ 0, Y ) l( θ, Y )) Loi limite χ 2 (p + 1) χ 2 (p + 1) 10.4 Test partiel On suppose que le vecteur θ se divise en 2 parties : α 1 de k composantes et β 2 de p + 1 k composantes. C. Chesneau 143

Ainsi, θ = (α 1, β 2 ) On considère le test partiel : H 0 : α 1 = α 0 contre H 1 : α 1 α 0, avec α 0 un vecteur à k composantes. On considère alors l emv θ = ( α 1, β 2 ) et β 2 = Argmax β 2 R p+1 k L((α 0, β 2 ), Y ). Les statistiques utilisées pour mettre en œuvre ce test d hypothèses sont : Statistique de Wald : de la vraisemblance : (sous H 0 ) ( α 1 α 0 ) t V( α1 ) 1 ( α 1 α 0 ) 2(l((α 0, β 2 ), Y ) l(( α 1, β 2 ), Y )) Loi limite χ 2 (k) χ 2 (k) 10.5 Algorithme de Newton-Raphson et emv L algorithme de Newton-Raphson nous permettant d approcher l emv est caractérisé par la suite : ( ) θ (m+1) = θ (m) 2 1 ( ) l(θ (m), Y ) l(θ (m), Y ). θ i θ j (i,j) {0,...,p} θ 2 i i {0,...,p} C. Chesneau 144

Index mcg, 49 AIC, 44 Algorithme de Newton-Raphson, 144 Approche en arrière, 42 Approche en avant, 43 Approche exhaustive, 41 Approche pas à pas, 44 AR(1), 26 BIC, 44 Coefficients de détermination, 12 Coefficients de détermination ajusté, 12 Corrélogramme, 24 Corrélogramme partiel, 25 Courve ROC, 106 Cp de Mallows, 44 Degrés de significativité, 15 Dispersion anormale, 136 Distances de Cook, 35, 102, 133 Données groupées, 54, 108 Déviance, 92 Emv, 142 Estimateur de Nadaraya-Watson, 79 Estimateur LASSO, 34 Estimateur par splines, 81 Estimateur Ridge, 33 Hétéroscédasticité, 53 Interactions, 47 Lien Cauchit, 87 Lien cloglog, 87 Lien probit, 87 Matrice de confusion, 105 Moindres carrés quasi-généralisés (mcqg), 58 Méthode de Box-Tidwell, 73 Méthode de Cochrane-Orcutt, 65 Méthode de Glejser, 27 Méthode des résidus normalisés de Pearson, 132 Méthode des résidus standardisés, 35 QQ plot, 29 Emco, 10 Rapport des côtes, 94 145

Règle de Klein, 32 Règle du pouce, 98, 129 Régression de Poisson, 122 Régression linéaire multiple (rlm), 7 Régression logistique, 82 Régression multinomiale, 112 Régression non-linéaire, 68 Régression polynomiale, 70 Régression polytomique, 110 Régression polytomique ordonnée, 120 Régression robuste, 36 Résidus, 20 Résidus normalisés de Pearson, 101 Résidus partiels, 71 Résidus standardisés, 20 Sélection de variables, 40 Taux d erreur, 106, 118 Terme de décallage, 139 Test ANOVA, 45 Test de Bartlett, 48 Test de Breusch-Pagan, 27 Test de Cameron et Trivedi, 136 Test de Chow, 38 Test de Durbin-Watson, 26, 61 Test de Hosmer-Lemeshow, 98, 129 Test de la déviance, 93, 126 Test de Levene, 48 Test de Ljung-Box, 25 Test de Shapiro-Wilk, 30 Test de Student, 15 Test de Wald, 92, 115, 126 Test de White, 27 Test des résidus de la déviance, 100, 131 Test des résidus de Pearson, 99, 130 Test du portemanteau, 25 Test global, 143 Test global de Fisher, 16 Test lr, 93, 127 Test partiel, 143 Transformation de Yeo et Johnson, 58 Transformation logit, 84 Transformation puissance de Box-Cox, 57, 73 Transformations polynomiales, 73 Variable latente, 86 Variables qualitatives, 46 Vif, 32 C. Chesneau 146

C. Chesneau 147