Régression linéaire Nicolas Turenne INRA [email protected] 2005 Plan ● Régression linéaire simple ● Régression multiple ● Compréhension de la sortie de la régression ● Coefficient de détermination R2 ● Validation du modèle de régression Un exemple Questions : comment relier les dépenses publicitaires aux ventes ? Quelles sont les ventes espérées si le coût en frais de publicité sont de 2.2 millions ? Quelle confiance apporter à l'estimation ? Quel est la qualité de l'ajustement ? Le modèle fondamental : régression linéaire Données: (x1,y1),(x2,y2),...,(xn,yn) Modèle de population: yi = β0 + β1 . xi + εi ε1, ε2,..., εn sont des variables aléatoires indépendantes, de distribution normale N(0,σ). Ceci est la vraie relation entre x et y mais nous ne connaissons pas les paramètres β0 et β1 que nous devons estimer à partir des données. Commentaires: E(yi|xi) = β0 + β1 . xi SD(yi|xi) = σ La relation est linéaire – décrite par une droite β0 = valeur « baseline » de y (quand x vaut 0) β1 = pente de x (variation de y par rapport à une variation de x) Comment choisir la ligne qui s'ajuste le mieux aux données ? Meilleurs choix: b0=13.82 b1=48.60 Coefficients de régression : b0 et b1 sont des estimations de β0 et β1 Estimation de la régression pour Y à xi: y i =b0b1 . x i erreur résiduelle : e i = y i − y i La « meilleure » ligne de régression est celle qui choisit b0 et b1 pour minimiser les erreurs totales (somme des résidus au carré): n n SCR=∑ e =∑ y i − y i i=1 2 i i=1 2 Exemple: Ventes de Nature-Bar en millions de $ Régression multiple En général, il y a beaucoup de facteurs qui influencent les ventes en plus des frais de publicité La régression multiple permet de gérer plus d'une variable x Soient les variables (vecteurs) indépendantes: x1, x2, ..., xk (k parmi elles) Données: (y1, x11, x21, ..., xk1), ... , (yn, x1n, x2n, ..., xkn) Modèle de population: yi = β0 + β1 . x1i + β2 . x2i +...+ βk . xki + εi ε1, ε2,..., εn sont des variables aléatoires indépendantes, de distribution normale N(0,σ) Coefficients de régression : b0, b1,..., bk sont des estimations de β0, β1 ,..., βk Estimation de la régression pour Y à xi: y i =b0 b1 . x 1i ...b k . x ki Objectif: choisir b0, b1,..., bk pour minimiser la somme des carrés des résidus n n SCR=∑ e =∑ y i − y i i=1 2 i i=1 2 Exemple de sortie d'une régression (sous Excel) Compréhension de la sortie de la régression 1- coefficients de régression : b0, b1, ... , bk sont des estimations de β0, β1, ... , βk basées sur les données de l'échantillon. Un fait: E[bj]=βj Exemple: b0 = 65.705 (son interprétation est dépendant du contexte) b1 = 48.979 (l'ajout d'1 million $ en publicité est supposé rendre 49 millions $ de ventes) b2 = 59.654 (l'ajout d'1 million $ en promotions est supposé rendre 60 millions $ de ventes) b3 = -1.838 (l'augmentation d'1 million $ en ventes concurrentielles fait diminuer les ventes de 1.8 million $) Compréhension de la sortie de la régression 2- erreur standard : une estimation de s, la variance de chaque εi. C'est une mesure de la quantité de « bruit » dans le modèle. Exemple : s = 17.60 3- degré de liberté : nombre de cas – nombre de paramètres lié au phénomène d' overfitting (surajustement ou surapprentissage). 4- erreur standard des coefficients : sb0, sb1, ... , sbk Ce sont les variances des estimations b0, b1, ... , bk Ils sont utiles pour évaluer la qualité de l'estimation des coefficients et pour valider le modèle. 5- coefficient de détermination : R2 R2 quelle est sa signification ? Le paramètre R2 prend des valeurs entre 0 et 1, c'est un pourcentage. Dans l'exemple sa valeur est 0.833 R2=1; les valeurs de x expliquent toutes les variations des valeurs de Y R2=0; les valeurs de x n'expliquent pas toutes les variations des valeurs de Y Le coefficient de détermination est : - une mesure de la qualité générale de la régression - spécifiquement c'est le pourcentage de la variation totale exhibée dans les données yi qui est expliqué par la partie de la ligne de régression La moyenne de l'échantillon de Y : y = y 1 y 2... y n /n n 2 y − y ∑ i La variation totale dans Y : i=1 La variation résiduelle (non expliquée) dans Y : variation expliquée par les variable x variation totale variation non expliquée par les variable x R 2 =1 − variation totale R2 = n R2 =1 − 2 y − y ∑ i i i=1 n ∑ yi− yi 2 i=1 n n ∑ e =∑ yi− yi i=1 2 i i=1 2 Coefficient de détermination R2 Un R2 élevé signifie que la plupart de la variation que nous observons dans les données yi peut être attribué à leurs valeurs x correspondantes – une propriété désirée. ● Dans une régression simple, le R2 est plus élevé si les points de données sont mieux alignés le long d'une ligne. Mais on trouve des extrêmes. ● La façon dont R2 est suffisamment « correct » dépend de la situation (par exemple, l'utilisation souhaitée de la régression, et la complexité du problème). ● Les utilisateurs de la régression tendent à se focaliser sur R2, mais ce n'est pas le fin mot de l'histoire. Il est important que le modèle de régression soit « valide ». ● Coefficient de détermination R2 On ne devrait pas inclure des variables x non reliées à y dans le modèle, juste pour faire un R2 fictivement élevé. (Avec plus de variables x il y aurait plus de liberté à choisir les bi pour faire la variation résiduelle plus proche de 0). ● ● Le R multiple est la racine carrée de R2. Validation du modèle de régression Hypothèses sur la population : yi = β0 + β1.x1i + ... + βk.xki + εi (i=1,...,n) ε1, ε2, ... , εn sont des variables indépendantes, ~N(0,σ) 1- linéarité si k=1 , cas de la régression simple, on peut vérifier visuellement par un affichage en nuage ● vérification sanitaire: le signe des coefficients, raison de non-linéarité ? ● 2- normalité de εi Affichage de l'histogramme des résidus e= y i − y i ● D'habitude les résultats sont vraiment robustes en respectant cette hypothèse ● 3- hétéroscédasticité Est ce que les termes d'erreur ont une variance constante ? (i.e. SD(εi) = σ pour tout i) ● Vérifier l'affichage des résidus versus l'affichage de Y avec X ● Pas d'évidence d'hétéroscédasticité Évidence d'hétéroscédasticité Peut être réglé en introduisant une transformation ● Peut être réglé en introduisant ou en éliminant des variables indépendantes ● 4- auto-corrélation : est-ce que les termes d'erreur sont indépendants? On affiche les résidus de façon à vérifier les régularités Pas d'évidence d'auto-corrélation Évidence d'auto-corrélation L'autocorrélation peut être présente si les observations ont un ordre séquentiel naturel (par exemple, le temps). ● ● Peut être réglé en introduisant ou en transformant une variable. Pièges et problèmes 1) surspécification ● inclusion de trop de variables x pour faire R2 fictivement élevé ● règle du pouce (rule of thumb): on doit veiller à avoir n >= 5.(k+2) 2) extrapolation au delà de la plage des données Pièges et problèmes 3) multicolinéarité ● Apparaît quand deux variables x sont très fortement corrélées ● Peut donner de très mauvaises estimations pour les bi ● ● Signes rapporteurs - coefficients de régression (bi) ont le « mauvais » signe - addition / suppression d'une variable indépendante peut changer subtantiellement la valeur des coefficients de régression - coefficients (bi) non significativement différents de zéro peut être réglé par suppression d'une ou plusieurs variables indépendantes Exemple Sortie de régression Que s'est-il passé ? College GPA et GMAT sont hautement corrélés On élimine GMAT Modèles de régression ● En régression linéaire, on choisit les « meilleurs » coefficients b0, b1, ..., bk comme des estimateurs de β0, β1, ... , βk . ● On sait qu'en moyenne chaque bj atteint le bon βj Cependant on veut savoir comment on peut avoir confiance en nos estimateurs ● Retour à la sortie de régression Analyse de la sortie de régression 1) Degré de liberté (df ou dof – degree of freedom). dof résiduel = n – (k+1) (on a utilisé (k+1) degrés de liberté en formant (k+1) estimateurs d'échantillons b0, b1, ... , bk ) ● 2) Erreurs standard des coefficients : sb0, sb1, ... , sbk ● ce sont juste les écarts-types des estimateurs b , b , ... , b 0 1 k ● Fait : avant d'observer bj et sbj , b j − j s bj obéit à une distribution de Student (t-test) avec dof = (n - k - 1), de même que pour le dof résiduel ● on utilisera ce fait pour valider la qualité de nos estimateurs bj - quel est l'intervalle de confiance à 95% pour bj ? - est-ce que l'intervalle contient 0 ? pourquoi tenons nous compte de cela ? b 3) t-Statistic t j= s j bj Une mesure de signification statistique de chaque individu xj pour expliquer la variabilité de y ● Soit c le nombre pour lequel P( -c < T < c ) = α % (par exemple 95%) où [-c, c] est l'intervalle de confiance ou CI (confidence intervalle), et T obéit à une t-distribution avec dof=(n-k-1) ; ● ● Si |tj| > c alors les α % de CI pour les bj ne contient pas 0. ● Dans ce cas, nous avons α% de confiance que βj est différent de zéro Exemple : prime pour les cadres Variables factices Souvent, quelques variables explicatives dans une régression sont catégorielles davantage que numériques. ● Si nous pensons que le fait que la possession d'un MBA affecte la prime pour un cadre alors on crée une variable factice en lui donnant 1 si le cadre possède un MBA et 0 sinon ● Si nous pensons que la saison de l'année influence les ventes, comment allons nous créer une variable factice ? Combien ? ● ● Que se passe-t-il si nous créons 4 variables factices ? En général s'il y a m catégories auxquelles une variable x peut appartenir, alors on a besoin de créer m-1 variables factices pour celle-ci ● Données OILPLUS La pratique de la régression Choisir quelles variables indépendantes inclure dans le modèle, basé sur le sens commun et les connaissances spécifiques de contexte. ● ● Collecter les données (créer des variables factices au besoin). ● Faire tourner la régression (partie la plus facile) Analyser les résultats de sortie et changer le modèle (c'est là que se trouve l'action) ● ● Tester les résultats de sortie sur des données test Checklist 1) Checklist statistique Calculer la corrélation entre paires de variables x – identifier des preuves de multicolinéarité ● ● Vérifier le signe des coefficients (ont-ils un sens ?) Vérifier 95% de CI (utiliser un statistique-t comme analyse rapide) – est ce que les coefficients sont significativement différents de 0 ? ● ● R2 – critère de qualité mais pas la seule 2) Checklist résiduel ● normalité - jeter un oeil sur l'histogramme des résidus ● hétéroscédasticité - afficher les résidus pour chaque variable x Auto-corrélation : si les données ont un ordre naturel, afficher les résidus et rechercher des régularités. Checklist - subsidiaire 1) linéarité : affichage en nuage (scatter plot), bon sens, et bien connaître votre problème, transformer en incluant des interactions si c'est utile. 2) t-statistique : est-ce que les coefficients sont significativement différents de zéro ? Regarder la largeur des intervalles de confiance. 3) F-tests pour les sous-ensembles, égalité des coefficients. 4) R2 : raisonnablement élevé dans le contexte. 5) Observations influentes, extrêmes de l'espace des prédicteurs, espace des variables dépendant 6) Normalité : afficher l'histogramme des résidus 7) Résidus studentisés (t-statistique) 8) Hétéroscédasticité : afficher les résidus avec chaque variable x, transformersi nécessaire, transformations Box-Cox 9) Auto-corrélation : « affichage en séries temporelles » 10) Multicollinéarité : calculer les corrélations des variables x, est ce que les signes des coefficients sont en accord avec votre intuition ? Faire une analyse en composante principale. 11) Valeurs manquantes : quelle influence ?