Cette procédure permet de réaliser la régression linéaire d'une variable numérique y sur le sous-espace engendré par les variables numériques x1,...,xp.
On a :
Où u est le résidu et b0,...,bp sont les paramètres.
Il est toujours bon de faire quelques graphiques avant toutes choses afin de ne pas se lancer tête baissée dans une régression linéaire qui ne serait pas pertinente (homoscédasticité, forme de la fonction de régression non linéaire...).
L'option ALPHA= définit la valeur du seuil utilisé pour calculer les intervalles de confiance.
L'option CORR édite la matrice des corrélations.
L'option SIMPLE édite la somme, moyenne, variance, écart-type
et somme des carrés pour la variable expliquée et chacune des variables explicatives.
L'option USSCP édite les sommes des carrés
L'option ALL réunit les trois options précédentes.
L'option OUTEST= permet de récupérer dans une table les paramètres estimés. Il est à peu près possible de récupérer tout ce qu'on veut. On se réfèrera à l'aide de SAS pour les autres options du même type (comment garder une trace des coefficients standardisés, de la matrice des covariances, des graphiques,...).
La syntaxe présentée ci-dessus ne comporte pas toutes les instructions qui sont accessibles avec la PROC REG. On se réfèrera à l'aide de SAS pour en savoir plus.
L'instruction MODEL permet de définir la variable à régresser
y ainsi que la liste des variables explicatives x1,...,xn.
Elle donne accès à de nombreuses options dont nous parlerons par la suite.
L'instruction ID définit la variable qui sert d'identifiant à l'observation. En l'absence de cette instruction, c'est le numéro de l'observation qui remplit cet office.
L'instruction RESTRICT permet d'imposer des restrictions
sur les paramètres. Par exemple, si l'on sait que deux régresseurs sont liés linéairement
par la relation c1 * x1 = c2 * x2, on écrira :
RESTRICT c1*x1=c2*x2 ; ou : RESTRICT c1*x1-c2*x2 ;
Si plusieurs restrictions doivent être imposées, on les sépare par des virgules au sein
d'une même instruction RESTRICT. On peut bien sûr aussi utiliser la variable INTERCEPT.
L'instruction TEST permet de faire des tests sur les paramètres estimés.
Par exemple, si l'on veut tester si b1 = b2 , on écrit :
TEST x1=x2 ;
L'instruction PLOT permet de tracer des graphes.
On peut utiliser les statistiques produites dont la liste est donnée
plus bas (auquel cas il
faut donner leur mot clé suffixé d'un point) aussi bien que des variables de l'instruction model.
On peut aussi utiliser la variable numéro d'observation en l'appelant OBS.
D'autres encore sont disponibles, pour les connaître on se reportera éventuellement à l'aide de SAS.
Par exemple, pour tracer le graphe des résidus en fonction de l'observation, on écrit :
PLOT r. * obs. ;
Les instructions BY, FREQ, WEIGHT et OUTPUT ont la même fonction que dans les autres procédures.
L'instruction OUTPUT permet de récupérer certaines des grandeurs
calculées dans une table qui est celle indiquée dans OUT= . Il suffit d'en donner la suite sous la forme
mot_clé = noms_variables.
Par exemple :
OUTPUT OUT=resultat P=yhat R=yres ;
stocke dans la table resultat la valeur estimée de y ainsi que le résidu.
Voir la liste des mots-clés disponibles
Par défaut, le modèle intègre une constante parmi les régresseurs. Pour spécifier un modèle sans constante, on peut préciser l'option NOINT.
Les options que nous évoquerons par la suite sont celles le plus communément utilisées pour étudier :
et effectuer une sélection de variables.
R | INFLUENCE | |
---|---|---|
atypique | résidus studentisés(Student Residuals) | résidus Studentisés à validation croisée(Rstudent) |
leviers(Hat Diag) | ||
influente | PRESS | |
distance de Cook(Cook's D) | DFFITS | |
DFBETAS | ||
CovRatio |
Une sortie standard :
The REG Procedure Model: MODEL1 Dependent Variable: salaire salaire en euros Analysis of Variance Sum of Mean Source DF Squares Square F Value Pr > F Model 3 27848720 9282907 23.65 <.0001 Error 27 10597854 392513 Corrected Total 30 38446573 Root MSE 626.50866 R-Square 0.7243 Dependent Mean 1915.77419 Adj R-Sq 0.6937 Coeff Var 32.70264 Parameter Estimates Parameter Standard Variable DF Estimate Error t Value Pr > |t| Intercept 1 1117.36274 573.88399 1.95 0.0620 anciennete 1 -9.21669 46.23709 -0.20 0.8435 subor 1 167.11617 22.13012 7.55 <.0001 age 1 14.21831 21.51873 0.66 0.5144
La sortie standard contient donc :
Un bloc d'analyse de la variance (décomposition de la somme des carrés totaux en somme des carrés résiduels (ligne Error) et somme des carrés estimés (ligne Model)). A ce niveau est aussi réalisé un test de Fischer de validité globale du modèle. L'hypothèse nulle est (H0) : les paramètres sont tous simultanément nuls. Ici la p-value est très inférieure à 0,5, donc on rejette (H0), ce qui signifie que le modèle est globalement valide.
La colonne DF indique le nombre de degrés de liberté (degrees of freedom). Le DF de la ligne Model représente p, c'est à dire le nombre de régresseurs, constante exclus. Le DF de la ligne Corrected Total vaut n-1 où n est la taille de la population. La colonne Mean Square calcule le rapport de Sum of Squares au DF.
Un bloc intermédiaire : Root MSE est l'écart-type estimé. Dependent Mean est la moyenne de y. Coeff Var est le coefficient de variation, défini comme le rapport des deux grandeurs précédentes multiplié par 100. Enfin on a la donnée du R2 (rapport de la somme des carrés estimés à la somme des carrés totaux) et du R2 ajusté. Notons que le R2 n'est pas interprétable dans un modèle sans constante.
Un bloc d'estimation des paramètres liste les régresseurs, avec une estimation du paramètre associé, l'écart-type estimé pour ledit paramètre, ainsi que la statistique et la p-value relatives à un test de Student de nullité du paramètre (l'hypothèse nulle étant justement la nullité du paramètre). Ici on voit que les variables anciennete et age ne sont pas significatives.
On remanie le programme en y incluant plusieurs options comme suit :
The REG Procedure Correlation Variable Label anciennete subor age salaire anciennete 1.0000 0.3460 0.8419 0.3498 subor nb subordonnés 0.3460 1.0000 0.3400 0.8463 age 0.8419 0.3400 1.0000 0.3704 salaire salaire en E 0.3498 0.8463 0.3704 1.0000 Dependent Variable: salaire salaire en E Analysis of Variance Sum of Mean Source DF Squares Square F Value Pr > F Model 3 27848720 9282907 23.65 <.0001 Error 27 10597854 392513 Corrected Total 30 38446573 Root MSE 626.50866 R-Square 0.7243 Dependent Mean 1915.77419 Adj R-Sq 0.6937 Coeff Var 32.70264 Parameter Estimates Parameter Standard Variance Variable DF Estimate Error t Value Pr > |t| Inflation Intercept 1 1117.36274 573.88399 1.95 0.0620 0 anciennete 1 -9.21669 46.23709 -0.20 0.8435 3.48267 subor 1 167.11617 22.13012 7.55 <.0001 1.14660 age 1 14.21831 21.51873 0.66 0.5144 3.46648 Collinearity Diagnostics(intercept adjusted) Condition ---------Proportion of Variation--------- Number Eigenvalue Index anciennete subor age 1 2.06323 1.00000 0.05771 0.07283 0.05775 2 0.77872 1.62773 0.03082 0.92697 0.03287 3 0.15805 3.61301 0.91147 0.00020110 0.90938 Test of First and Second Moment Specification DF Chi-Square Pr > ChiSq 9 12.49 0.1873 Durbin-Watson D 0.852 Number of Observations 31 1st Order Autocorrelation 0.484 Output Statistics Dep Var Predicted Std Error Std Error Student Cook's Obs salaire Value Mean Predict Residual Residual Residual -2-1 0 1 2 D 1 3963 2653 171.6793 1310 602.5 2.175 | |**** | 0.096 2 2088 1550 128.3430 537.5132 613.2 0.877 | |* | 0.008 3 1905 1903 213.4522 1.7724 589.0 0.00301 | | | 0.000 4 1875 1575 146.2143 300.2916 609.2 0.493 | | | 0.003 5 1356 1535 138.7658 -179.4820 610.9 -0.294 | | | 0.001 6 1394 1641 141.6958 -246.7983 610.3 -0.404 | | | 0.002 7 1379 1455 190.6224 -76.1737 596.8 -0.128 | | | 0.000 8 1844 2280 257.8219 -436.1149 571.0 -0.764 | *| | 0.030 9 1097 1435 205.9660 -338.1672 591.7 -0.572 | *| | 0.010 10 1372 1627 167.6276 -255.3666 603.7 -0.423 | | | 0.003 11 1417 1790 326.9184 -373.3427 534.5 -0.699 | *| | 0.046 12 1379 1689 190.2358 -310.2414 596.9 -0.520 | *| | 0.007 13 1033 1526 131.9155 -493.2653 612.5 -0.805 | *| | 0.008 14 1234 2102 387.5017 -867.7765 492.3 -1.763 | ***| | 0.481 15 1021 1440 194.9316 -419.1689 595.4 -0.704 | *| | 0.013 16 1067 1626 172.5952 -558.7935 602.3 -0.928 | *| | 0.018 17 6097 6775 590.4819 -677.6047 209.4 -3.236 |******| | 20.820 18 4268 2626 207.2753 1642 591.2 2.778 | |***** | 0.237 19 3353 2533 199.7933 819.8226 593.8 1.381 | |** | 0.054 20 2286 1693 176.9587 593.4051 601.0 0.987 | |* | 0.021 21 1905 1679 138.0213 225.8369 611.1 0.370 | | | 0.002 22 2507 1751 119.4985 755.9587 615.0 1.229 | |** | 0.014 23 2210 1654 217.4930 555.8449 587.5 0.946 | |* | 0.031 24 1951 1585 188.4737 366.2884 597.5 0.613 | |* | 0.009 25 2241 1900 244.1068 341.2009 577.0 0.591 | |* | 0.016 26 1347 1687 299.4044 -339.8818 550.3 -0.618 | *| | 0.028 27 1353 1484 161.1971 -130.6104 605.4 -0.216 | | | 0.001 28 1361 1607 126.6470 -246.3601 613.6 -0.402 | | | 0.002 29 1036 1574 121.7014 -537.9219 614.6 -0.875 | *| | 0.008 30 1082 1612 158.8746 -529.5752 606.0 -0.874 | *| | 0.013 31 968 1402 236.1441 -433.7290 580.3 -0.747 | *| | 0.023 Output Statistics Hat Diag Cov -----------------DFBETAS----------------- Obs RStudent H Ratio DFFITS Intercept anciennete subor age 1 2.3497 0.0751 0.5820 0.6695 -0.2275 -0.3772 0.3181 0.3600 2 0.8727 0.0420 1.0815 0.1826 0.0918 0.0606 -0.0522 -0.0648 3 0.002953 0.1161 1.3157 0.0011 -0.0008 -0.0004 -0.0003 0.0008 4 0.4859 0.0545 1.1863 0.1166 0.0469 0.0654 -0.0429 -0.0454 5 -0.2887 0.0491 1.2074 -0.0656 -0.0203 0.0204 0.0067 -0.0018 6 -0.3981 0.0512 1.1962 -0.0924 0.0315 0.0227 0.0369 -0.0438 7 -0.1253 0.0926 1.2785 -0.0400 -0.0357 -0.0192 0.0019 0.0298 8 -0.7577 0.1694 1.2829 -0.3421 0.2724 0.1918 0.0317 -0.2940 9 -0.5643 0.1081 1.2419 -0.1964 -0.1348 0.0218 -0.0198 0.0725 10 -0.4165 0.0716 1.2197 -0.1157 -0.0091 -0.0595 0.0518 0.0174 11 -0.6918 0.2723 1.4857 -0.4232 0.1507 -0.1647 0.1893 -0.0691 12 -0.5126 0.0922 1.2306 -0.1634 0.0511 -0.0379 0.0780 -0.0381 13 -0.8000 0.0443 1.1041 -0.1723 -0.0916 -0.0040 0.0256 0.0447 14 -1.8388 0.3826 1.1550 -1.4474 -1.1639 -1.3134 -0.1305 1.3126 15 -0.6973 0.0968 1.1956 -0.2283 -0.1739 -0.0066 -0.0156 0.1083 16 -0.9253 0.0759 1.1055 -0.2652 0.1072 0.1853 0.0524 -0.1789 17 -4.0588 0.8883 1.4618 -11.4459 0.6305 0.3682 -10.5110 -0.3359 18 3.2250 0.1095 0.3399 1.1306 0.3527 0.7929 0.2443 -0.5039 19 1.4054 0.1017 0.9659 0.4729 0.1251 -0.2068 0.2985 0.0176 20 0.9869 0.0798 1.0909 0.2906 0.0517 -0.1690 0.0378 0.0567 21 0.3636 0.0485 1.1977 0.0821 0.0553 0.0108 0.0027 -0.0344 22 1.2414 0.0364 0.9586 0.2412 0.0697 0.0670 -0.0530 -0.0425 23 0.9441 0.1205 1.1555 0.3495 0.0917 -0.2004 0.0677 0.0391 24 0.6058 0.0905 1.2089 0.1911 0.0742 0.1411 -0.0698 -0.0910 25 0.5841 0.1518 1.3014 0.2471 -0.0761 0.0930 -0.0966 0.0365 26 -0.6104 0.2284 1.4238 -0.3321 0.2042 0.2951 0.0326 -0.2849 27 -0.2119 0.0662 1.2368 -0.0564 -0.0455 -0.0196 0.0047 0.0346 28 -0.3952 0.0409 1.1838 -0.0816 0.0100 0.0181 0.0290 -0.0261 29 -0.8714 0.0377 1.0771 -0.1726 -0.0246 0.0303 0.0473 -0.0197 30 -0.8699 0.0643 1.1081 -0.2280 0.0715 0.1477 0.0460 -0.1362 31 -0.7412 0.1421 1.2468 -0.3016 -0.2224 0.0206 -0.0414 0.1311 Sum of Residuals 0 Sum of Squared Residuals 10597854 Predicted Residual SS (PRESS) 50241922 Test 1 Results for Dependent Variable salaire Mean Source DF Square F Value Pr > F Numerator 1 50909 0.13 0.7215 Denominator 27 392513
L'option CORR édite la matrice des corrélations. On peut déjà repérer que les variables age et anciennete sont fortement corrélées.
Le graphique des valeurs prédites n'invalide pas notre choix de modèle : la forme fonctionnelle n'est pas mauvaise a priori, et on ne repère pas d'hétéroscédasticité au premier coup d'œil. Par contre, on repère une valeur aberrante.
L'option DW réalise un test de Durbin Watson. Dans une table statistique de Durbin Watson, on pourrait relever les seuils relatifs à notre modèle, et on déduirait que l'hypothèse d'autocorrélation à l'ordre 1 peut être acceptée à 5%. Cela dit, ici cela n'a pas beaucoup de sens. Dans un pareil cas, on regarderait plutôt le test de White réalisé par l'option SPEC. Ici l'hypothèse nulle d'homoscédasticité est acceptée à 5%.
L'analyse des observations atypiques et influentes par les options R et INFLUENCE montre que :
Les observations 1, 17 et 18 sont atypiques pour le salaire. Dans la table on peut vérifier qu'il
s'agit des trois plus gros salaires, et que les 17 et 18 sont particulièrement éloignés du reste des valeurs.
L'observation 17, et à une moindre mesure l'observation 14, sont atypiques pour les régresseurs.
Effectivement, on remarque que la 17 a 30 subordonnés (les autres valeurs se situant entre 0 et 6)
et un âge et une ancienneté assez élevés (55 ans et 15 ans) par rapport à la moyenne.
Quant à l'observation 14, dont le caractère atypique est moins marqué, on peut noter qu'elle
présente une ancienneté et un nombre de subordonnés un peu plus élevé que la moyenne alors que son
âge est plutôt inférieur à la moyenne.
L'observation 17 se démarque nettement du lot en ce qui concerne son influence sur l'estimation.
La distance de Cook est fortement élevée pour cette observation. La 17 influe sur sa propre prédiction,
et particulièrement sur l'estimation du coefficient de la variable subor, ce qui semble logique.
En conclusion de cette analyse, on décidera de supprimer de notre régression l'observation 17.
A ce stade il n'est pas nécessaire de poursuivre l'analyse. On recommencerait la procédure après avoir ôté l'observation aberrante. Mais puisqu'il ne s'agit ici que de savoir lire des sorties, continuons :
Grâce à l'option VIF, on repère que ces variables ont justement un facteur d'influence
de la variance plus élevé que les autres ; mais ceci n'est pas flagrant. On porte donc notre
regard sur la sortie de l'option COLLINOINT. Même si les CI ne sont pas très importants, les
Proportion of Variation sont tels que l'on peut au moins soupçonner une relation de colinéarité
entre l'âge et l'ancienneté.
A ce stade, on peut alors décider de supprimer une des deux variables impliquées dans la relation de colinéarité.
Supprimons l'observation 17 et réitérons la PROC REG, d'abord avec l'option SELECTION=CP puis avec l'option SELECTION=RSQUARE, enfin avec l'option SELECTION=STEPWISE.
The REG Procedure Model: MODEL1 Dependent Variable: salaire C(p) Selection Method Number in Model C(p) R-Square Variables in Model 1 1.7009 0.6609 subor 2 2.3790 0.6771 age subor 2 3.3471 0.6652 anciennete subor 3 4.0000 0.6817 age anciennete subor 1 51.9024 0.0463 age 1 52.5471 0.0384 anciennete 2 53.8140 0.0474 age anciennete
La procédure n'apporte pas grand chose. Elle semble désigner le modèle que l'on a choisi, mais les trois précédents ne sont pas fondamentalement plus mauvais.
The REG Procedure Model: MODEL1 Dependent Variable: salaire R-Square Selection Method Number in Model R-Square Variables in Model 1 0.6609 subor 1 0.0463 age 1 0.0384 anciennete ---------------------------------------------- 2 0.6771 age subor 2 0.6652 anciennete subor 2 0.0474 age anciennete ---------------------------------------------- 3 0.6817 age anciennete subor
Il s'agit d'arbitrer entre biais et précision. Le premier souci commande de ne pas trop choisir de régresseurs, tandis que le deuxième pousse à améliorer le R2. Ici on voit que le meilleur R² pour les modèles à 1 variable n'est guère inférieur au meilleur des R2 (qui correspond au modèle total). On est donc amené à choisir le modèle avec le seul régresseur subor.
La procédure stepwise conduit-elle au même résultat ?
The REG Procedure Model: MODEL1 Dependent Variable: salaire salaire en euros Stepwise Selection: Step 1 Variable subor Entered: R-Square = 0.6609 and C(p) = 1.7009 Analysis of Variance Sum of Mean Source DF Squares Square F Value Pr > F Model 1 13469424 13469424 54.57 <.0001 Error 28 6911745 246848 Corrected Total 29 20381169 Parameter Standard Variable Estimate Error Type II SS F Value Pr > F Intercept 1409.71705 103.40401 45879515 185.86 <.0001 subor 354.85447 48.03863 13469424 54.57 <.0001 Bounds on condition number: 1, 1 ---------------------------------------------------------------------------------------- Stepwise Selection: Step 2 Variable age Entered: R-Square = 0.6771 and C(p) = 2.3790 Analysis of Variance Sum of Mean Source DF Squares Square F Value Pr > F Model 2 13799241 6899620 28.30 <.0001 Error 27 6581928 243775 Corrected Total 29 20381169 Parameter Standard Variable Estimate Error Type II SS F Value Pr > F Intercept 997.63890 368.87468 1783111 7.31 0.0117 subor 348.75934 48.02542 12855788 52.74 <.0001 age 11.26687 9.68638 329817 1.35 0.2549 Bounds on condition number: 1.012, 4.0482 ---------------------------------------------------------------------------------------- Stepwise Selection: Step 3 Variable age Removed: R-Square = 0.6609 and C(p) = 1.7009 Analysis of Variance Sum of Mean Source DF Squares Square F Value Pr > F Model 1 13469424 13469424 54.57 <.0001 Error 28 6911745 246848 Corrected Total 29 20381169 Parameter Standard Variable Estimate Error Type II SS F Value Pr > F Intercept 1409.71705 103.40401 45879515 185.86 <.0001 subor 354.85447 48.03863 13469424 54.57 <.0001 Bounds on condition number: 1, 1 ---------------------------------------------------------------------------------------- All variables left in the model are significant at the 0.1500 level. The stepwise method terminated because the next variable to be entered was just removed. Summary of Stepwise Selection Variable Variable Number Partial Model Step Entered Removed Vars In R-Square R-Square C(p) F Value Pr > F 1 subor 1 0.6609 0.6609 1.7009 54.57 <.0001 2 age 2 0.0162 0.6771 2.3790 1.35 0.2549 3 age 1 0.0162 0.6609 1.7009 1.35 0.254
La procédure s'arrête au bout de la troisième étape. Le modèle final proposé est bien celui
constitué du seul régresseur subor.
Notons que la procédure forward proposerait de garder aussi la variable age.
A ce stade on recommencerait la régression soit avec subor seulement, soit avec subor et age. L'estimation du deuxième modèle indique que la variable age n'apparaît pas significative. Le modèle que l'on retient est donc : salaire = 1410 + 355 * subor