Le but de ce TD est d'écrire différents modèles d'estimation du salaire d'une entreprise par l'ancienneté, la responsabilité et le sexe en utilisant des « régressions linéaires » sur des données artificielles du fichier salaires.txt. Cet exercice correspond à une démarche habituelle de recherche de modèle statistique des données : les relations linéaires sont les plus simples et donc celles qu'on « essaie » en premier, si on ne dispose pas d'autres modèles fournis par des théories des sciences humaines. Suivant cette logique, on commence habituellement par le modèle le plus simple, c'est-à-dire avec une seule variable explicative, et on essaie de l'améliorer. Nous allons réaliser ces différentes étapes à l'aide du tableur. Nous utilisons pour cela principalement la fonction « DROITEREG » du tableur. Bien que nous utilisions les formules matricielles et la loi normale dans ce TP, leur maîtrise n'est pas indispensable car tous les rappels utiles sont faits dans le TP.
Télécharger l'archive (format ZIP) contenant le fichier "salaires.txt"
Le salaire en fonction de l'ancienneté
Q1 : Recherche du modèle M1 : y=ax+b
En utilisant la fonction DROITEREG du tableur, trouver les valeurs a et b correspondant à l'équation de régression Salaire = a Ancienneté + b + erreur minimisant les erreurs (voir figure 5.21). Le paramètre b représente le salaire à l'embauche (0 année d'ancienneté) et la valeur de a représente l'augmentation annuelle de salaire, si ce modèle correspond à la réalité, bien sûr.
Q2 : Utilisation du modèle M1 trouvé pour les prédictions et la visualisation
Si on remplace l'ancienneté par un nombre quelconque, on a une estimation du salaire correspondant à cette ancienneté selon le modèle. Écrire dans le tableur quelques valeurs d'ancienneté puis calculer le salaire estimé correspondant en utilisant les valeurs de a et de b obtenues (voir colonnes K et L de la figure 5.22). Faire le graphique permettant de comparer valeurs observées et valeurs estimées comme en figure 5.22.
Q3 : Utilisation de l'outil « ajout d'une courbe de régression linéaire » du tableur
Le tableur permet de dessiner directement les courbes de régression sans faire de calcul. Certains tableurs donnent même l'équation de régression (comme Excel, voir figure 5.23 et OpenOffice3.1). On accède à ces tracés en sélectionnant la série de données, puis en choisissant « Graphique> Ajouter une courbe de tendance » pour Excel et « Insertion>Statistiques » sous OpenOffice. On a alors le choix entre plusieurs courbes de régression. Toutefois cela n'est possible que pour les modèles très simples, comportant une seule variable explicative. Contrôler que la droite que vous avez tracée et la droite de régression dessinée automatiquement par le tableur coïncident, et que l'équation indiquée, ainsi que le coefficient de détermination correspondent bien aux valeurs trouvées avec la fonction DROITEREG.
Q4 : Les résidus au modèle M1
Ajouter une colonne intitulée « écarts » (colonne F de la figure 5.24) contenant pour chaque sujet la différence entre son salaire réel, figurant dans la colonne correspondante, et son salaire estimé d'après l'équation de régression (on utilisera dans la formule, les cellules où figurent a et b, et celles ou figurent x et y). Vérifier qu'on a bien pour moyenne de ces écarts approximativement 0, et pour écart-type, approximativement la valeur figurant dans le tableau à côté de R² (cellules K12 et K13 de la figure 5.24).
Si le modèle est bon, les erreurs suivent une loi normale d'espérance (moyenne) 0, et écart-type s, valeur qui a été rendue par le tableur à côté de R² dans la matrice de résultats. Dans ce cas, on ne doit trouver que 34% des valeurs au maximum à l'extérieur de la bande où y est compris entre –s et s, et au moins 95% des valeurs entre 2s et 2s, le tout étant réparti de façon équilibrée (symétriquement) autour de la droite y=0. Faire un graphique où figurent les points (en utilisant un nuage de points construit sur la seule colonne des écarts) et les droites y=-2s, y=-s, y=0, y=s et y=2s, en insérant des nouvelles données au graphique, ces séries étant situées dans un tableau avec 2 valeurs de x (1 et 100), et pour chacune de ces valeurs, les 5 valeurs de y correspondant aux droites. On doit obtenir le graphique à droite de la figure 5.24.
On voit que les conditions de pourcentage paraissent vérifiées (par exemple, on a 4 points dans la première zone à partir du haut, ce qui n'est pas loin des 2,5% attendus), mais pas les conditions de symétrie (au dessus de la droite d'équation y=0, les points s'étalent en hauteur, alors qu'ils sont quasiment alignés sur une droite en dessous de l'axe des x). Pour repérer les individus, trions l'ensemble des colonnes selon le sexe, les femmes se trouvant de la ligne 2 à 58 et des hommes après. On ne voit pas de différences notables entre ces deux parties (figure 5.25 à gauche, F : triangle rouge, M : losange bleu). Faire la même chose en triant selon la responsabilité. On voit (figure 5.25 à gauche, c1 : losange marron, c2 : carré vert, c3 : croix bleue) que pour la responsabilité c1, tous les écarts sont systématiquement négatifs, ce qui signifie que le salaire réel est bien inférieur au salaire estimé, et c'est le contraire pour les 2 autres niveaux de responsabilité. Les conditions de normalité des résidus ne sont plus respectées. On en conclut que le modèle M1 est insuffisant, que la variable « responsabilité » doit intervenir.
La régression linéaire à variables qualitatives
Nous allons utiliser à nouveau la fonction DROITEREG pour estimer le salaire selon la responsabilité. Pour cela il convient de créer des variables numériques exprimant la valeur de la responsabilité. Quand la variable qualitative a p modalités, on crée p-1 nouvelles variables de la façon suivante : une des modalité est la modalité par défaut (par exemple c1), les autres sont des indicatrices des autres modalités (c2 et c3 ici). Il n'y a plus qu'à prendre les colonnes c2 et c3 comme variables X, et écrire le modèle de régression à 3 paramètres exprimant le salaire en fonction de la responsabilité (voir figure 5.30).
Réaliser cette régression comme indiqué dans la figure 5.30, écrire l'équation de régression correspondante, l'utiliser pour calculer le salaire estimé de 3 personnes, une de chaque responsabilité. Représenter graphiquement les résidus. Trouver la valeur de R². Le modèle M2 est-il meilleur que le modèle M1 ? Pourquoi ? Montrer que toutefois l'ancienneté intervient dans les résidus, ce qui invite à créer un modèle M3 prenant en compte la responsabilité et l'ancienneté.
La régression linéaire multiple à deux variables mixtes
Q1. Faire une copie de la feuille de calcul (voir Figure 5.32), puis corriger afin de prendre dans les variables explicatives à la fois l'ancienneté et la responsabilité. Écrire l'équation du modèle M3 trouvé puis faire un tableau donnant les estimations de salaires pour 12 personnes, dont l'ancienneté prend les valeurs 0, 5, 10, 15 et les 3 responsabilités c1, c2 et c3.
Q2. Le modèle M3 est-il bien meilleur que le modèle M2 ? Pour tester la significativité de l'augmentation de R², c'est-à-dire le fait que cette augmentation n'est pas due au hasard, plusieurs méthodes existent dans le cas de modèles emboîtés, la plus ancienne étant de calculer la statistique R²partiel/(1-R²partiel)/(q2-q1)*(n-q2) avec R²partiel=(R²2-R²1)/(1-R²1), où R1 et R2 sont les coefficients de détermination respectifs de M2 et M3, qui doit suivre la loi de Fisher Snedecor (appelée loi.F dans les fonctions du tableur), à (q2-q1) et (n-q2) degrés de liberté, q1 et q2 étant le nombre de paramètres respectifs de M2 et M3, soit ici 3 et 4. Quelle est votre conclusion ? Examiner les résidus, seuls, puis groupés par sexe. A votre avis la variable sexe doit-elle être mise dans le modèle ?
La régression linéaire multiple avec 2 variables qualitatives et une quantitative
Q1 : Ajouter la variable sexe dans le modèle. Pour cela insérer une colonne à coté des colonnes des autres variables, en prenant par exemple la variable F par défaut (1 si sexe= ‘M', 0 si sexe='F'). Puis écrire le modèle. Et tester son apport par rapport à M3.
La régression linéaire multiple avec interaction entre 2 variables
On repart de M3, et on essaie de l'améliorer par la prise en compte d'autres effets. On désire prendre en compte une augmentation annuelle de salaire différente selon les responsabilités. Cela s'appelle une interaction entre la variable responsabilité et la variable ancienneté. Pour cela on ajoute la variable produit des deux, donc deux colonnes supplémentaires, Ac2 et Ac3, qu'on obtient par produits respectifs des colonnes A et c2, A et c3), ce qui donne S = a1 A + a2 c2 + a3 c3 + a4 A c2 + a5 A c3 + b + e (on dit encore que le modèle est linéaire car il est une combinaison linéaire des paramètres à estimer a1, a2, ..., a5, b, mais certains auteurs ne disent plus régression linéaire dans ce cas, comme dans le cas où des variables sont élevées à une puissance quelconque).
Q1. Ajouter ces deux variables dans des colonnes et estimer le modèle, et tester son apport par rapport à M3. Donner l'équation générale du modèle, ainsi que les équations par responsabilité. Puis représenter graphiquement le nuage de points ainsi que les 3 droites de régression du salaire sur l'ancienneté pour chaque responsabilité (voir figure 5.38).
Q2. Tester le modèle M5 par rapport au modèle M4. Ainsi que les paramètres du modèle. Représenter les résidus en fonction du sexe. On voit que cette fois la différence est bien visible entre les résidus des 2 sexes. Il faut donc essayer à nouveau de faire entrer le sexe dans le modèle. Écrire le modèle M6 et le tester.