Séance n°3 Proc REG - SAS / Insight
Pour ce faire, la proc UNIVARIATE calcule la moyenne ; et apporte des tests de
normalité avec l'option NORMAL : Shapiro-Wilk, Kolmogorov-Smirnov, ...
part of the document
Séance n°3 Proc REG - SAS / Insight
De nombreux problèmes peuvent être décrits sous la forme dun système à entrées et sorties : on peut plus ou moins agir sur les variables dentrée X dun système (variables descriptives) et on observe les variables de sortie Y (variables dépendantes). Le but de cette séance est de comprendre et de décrire simplement les relations entre Y et X lorsquun ajustement linéaire sapplique. Le modèle linéaire dans SAS est notamment traité par les procédures ANOVA (modèles danalyse de la variance orthogonaux), REG (régression linéaire), GLM (modèles danalyse de la variance non-orthogonaux, analyse de la covariance, modèles linéaires généraux), GENMOD (modèles linéaires généralisés), PLS (régression « Partial Least Squares ») et MIXED (modèles linéaires mixtes). En particulier, nous nous intéressons ici à la proc REG. Des exemples sont donnés en exercice.
Référence bibliographique :
J. Confais et M. Le Guen (2006) : Premiers pas en régression linéaire avec SAS, Revue modulad, n°35
HYPERLINK "http://www-roc.inria.fr/axis/modulad/numero-35/Tutoriel-confais-35/confais-35.pdf" http://www-roc.inria.fr/axis/modulad/numero-35/Tutoriel-confais-35/confais-35.pdf
Pour le récupérer :
cp R /home/saintpierreg/TPSAS/TP3/ HYPERLINK "javascript:submitFile('confais-35.pdf');" confais-35.pdf /home/XXX/TPSAS/XX/ HYPERLINK "javascript:submitFile('confais-35.pdf');" confais-35.pdf
1. Proc REG
Modèle : pour EMBED Equation.3 observations et EMBED Equation.3 descripteurs, la proc REG de SAS traite le modèle de régression :
EMBED Equation.3 (cf page 260, num35)
où EMBED Equation.3 désigne le vecteur dépendant ;
EMBED Equation.3 la matrice des EMBED Equation.3 descripteurs ; EMBED Equation.3 le terme derreur ;
EMBED Equation.3 et EMBED Equation.3 les paramètres du modèle que lon souhaite estimer.
Le modèle sécrit aussi sous la forme matricielle : EMBED Equation.3 (cf page 262) et par la méthode des moindres carrés ordinaires, nous obtenons un estimateur sans biais et de variance minimale pour EMBED Equation.3 : EMBED Equation.3 .
La syntaxe de la proc REG est donnée dans la séance n°2. On pourra trouver un résumé dans lannexe 1 page 342 ; pour prolonger notre étude, nous décrivons les sorties et nous donnons quelques options liées à la procédure :
SORTIES :
Lisez ce qui suit, un exemple simple permettra ensuite de se familiariser avec toutes ces notions.
1. Table danalyse de la variance
DF : degrés de liberté associés au modèle et à lerreur ;
Sum of Squares (SS) ; Traduction : SCE, Somme des carrés des écarts.
MSE : Mean Square Error (cf page 233)
Mean Square (MS) : EMBED Equation.3 ;
F Value : valeur de la statistique de Fisher du test du modèle où tous les coefficients sont nuls contre le modèle complet de régression ;
Prob>F : probabilité que la valeur dune statistique suivant la loi de Fisher dépasse la valeur du « F Value » ;
Root MSE : estimation de EMBED Equation.3 , EMBED Equation.3 ;
Dep Mean : valeur de EMBED Equation.3 ;
C.V. : coefficient de variation, EMBED Equation.3 ;
R-Square : part de la variance expliquée par le modèle, EMBED Equation.3 ;
Adj R-Sq : estimation sans biais de R2,
EMBED Equation.3 = EMBED Equation.3
= EMBED Equation.3 .
2. Estimation des paramètres
INTERCEP : paramètre Intercept EMBED Equation.3 ;
Parameter Estimate : estimateur du vecteur EMBED Equation.3 , EMBED Equation.3 ;
Standard Error : estimation de lécart type de lerreur ;
T for H0 : Parameter=0 : test de Student de nullité du coefficient ;
Prob>|T| : probabilité que la valeur dune statistique suivant la loi de Student dépasse T en valeur absolue ;
OPTIONS liées à linstruction MODEL :
COVB : matrice des variances et covariances des estimateurs de EMBED Equation.3 ;
CP : la valeur prise par le « Cp » de Mallows ;
P : les valeurs prédites ;
R : pour obtenir une analyse des résidus ;
DW : pour calculer la statistique de test de Durbin-Watson ;
TOL, VIF : colinéarité dun descripteur vis à vis des autres ;
Influence : analyse détaillée de linfluence de chaque observation sur les valeurs estimées et prédites.
Sélection des descripteurs. En particulier, la proc REG offre des possibilités supplémentaires en ce qui concerne le choix automatique des descripteurs et la recherche de corrélations en termes derreurs.
SELECTION = < méthode > ; pour sélectionner les descripteurs du modèle où méthode peut prendre les valeurs suivantes :
stepwise pour une sélection progressive (« pas à pas ») des descripteurs ;
forward pour une sélection ascendante ;
backward pour une élimination descendante
rsquare calcule tous les EMBED Equation.3 modèles possibles avec EMBED Equation.3 descripteurs. On peut aussi se restreindre à la recherche du meilleur modèle à 1 puis 2 puis 3,
, puis EMBED Equation.3 descripteurs au sens du critère du Cp de Mallows à laide de loption selection=rsquare best=1 cp;. À EMBED Equation.3 fixé, on choisira le modèle qui donne le plus grand R2.
Étude des résidus. Létude des résidus est une étape essentielle pour valider un modèle. En effet, les résidus sont des estimateurs des termes derreur qui doivent vérifier les hypothèses sous-jacentes au modèle : indépendance, moyenne nulle, variance constante (critère dhomoscédasticité) et éventuellement de distribution Gaussienne. Pour ce faire, la proc UNIVARIATE calcule la moyenne ; et apporte des tests de normalité avec loption NORMAL : Shapiro-Wilk, Kolmogorov-Smirnov, Cramér-von Mises, Anderson-Darling ou encore la « droite de Henri ». Une étude du graphe des résidus par rapport aux valeurs prédites de la variable dépendante ne doit laisser apparaître aucune tendance. Loption DW de la proc REG fournit la valeur de la statistique de Durbin-Watson pour tester lautocorrélation des résidus. Pour le critère dhomoscédasticité, loption SPEC de la proc REG produit un test du Chi2. Létude des résidus permet aussi de repérer déventuelles observations « aberrantes » ou des observations qui jouent un rôle important dans la détermination de la régression.
Sauvegarde des résultats. Il est possible de conserver dans une table SAS certains résultats de lanalyse tels que, par exemple, les résidus (residual ou R) et les valeurs prédites de la variable dépendante Y (predicted ou P). Pour cela, nous ajoutons après la définition du modèle la ligne :
OUTPUT OUT = < nom_tab > R = < nom_var1 > P = < nom_var2 >;
Exemple
DATA tension;
INPUT age tension;
CARDS;
35 114
45 124
55 143
65 158
75 166
;
RUN;
PROC REG DATA=tension CORR SIMPLE OUTEST=estcoeff;
MODEL tension = age / SPEC DW R CLI;
PLOT tension*age p.*age / overlay symbol = '.';
OUTPUT OUT=sorties P=P R=R;
RUN;
QUIT;
La commande « OUTEST= » permet de créer une table SAS qui conserve les valeurs estimées des coefficients de la régression. Loption CLI donne un intervalle de confiance à 95% pour chacune des valeurs prédites de la variable dépendante. La seconde ligne de la proc REG définit la modélisation souhaitée. Dans la troisième ligne, nous proposons aussi un graphique qui superpose le nuage de points et la droite dajustement.
Exercice Exécuter le programme ci-dessus et observer les sorties.
Essayez en rajoutant la ligne suivante :
PLOT rstudent.*obs. / vref= -1.714 1.714 cvref=blue lvref=1
href= 0 to 30 by 5 chref=red cframe=ligr;
Remarques sur la stabilité des coefficients
cf. [Saporta G. (2006) : Probabilités, analyse des données et statistique, 2e édition, éditions Technip]
Lécart-type des valeurs EMBED Equation.3 donne déjà une bonne indication du caractère plus ou moins stable de lestimation dun coefficient. Si lécart-type est du même ordre de grandeur que la valeur estimée, il est clair que celle-ci est mal déterminée !
La principale source dinstabilité pour estimer de EMBED Equation.3 est la multicolinéarité (quand les descripteurs sont très corrélés entre eux). Dans ce cas, le déterminant de la matrice EMBED Equation.3 est proche de 0 et son inverse aura des termes très élevés. Malgré une valeur élevée du R2, on pourra avoir des erreurs considérables dans les prédictions. Pour palier les problèmes liés à la multicolinéarité sans pour autant exclure des variables du modèle, il existe des alternatives au modèle de régression : régression sur composantes principales, régression PLS ou encore la « ridge regression » en perturbant légèrement la diagonale de la matrice EMBED Equation.3 par une constante EMBED Equation.3 positive.
2. SAS/Insight : exploration interactive de données
Le module SAS/Insight est un outil dynamique pour lanalyse exploratoire et graphique dun jeu de données. Il se présente sous la forme dune interface « presse-boutons » permettant notamment dexaminer les distributions univariées, de visualiser les données et de construire des modèles utilisant la régression, lanalyse de la variance et le modèle linéaire généralisé. Pour ce faire, lutilisateur dispose dun système de menus déroulants et de boutons pour effectuer létude statistique sans avoir à écrire de code SAS dans la fenêtre Program Editor. Cf mode demploi succinct page 347.
Appel de SAS/Insight
Explorer > solution > tools > analysis > Interactive Data Analysis
Exercice n°1 : un exemple de régression linéaire simple
Soit un échantillon de n=24 appartements parisiens. Pour chaque appartement, on dispose de sa surface en mètres carrés et de son prix de vente en milliers deuros. Ces données sont extraites de [Tenenhaus M. (2007) : Statistique, Méthodes pour décrire, expliquer et prévoir, Dunod, Paris] ; et rappelées ci-dessous :
S (m2)285019655190110604890358665P (k¬ )130280800268790500320250378250350300S (m2)32524070283010552806020100P (k¬ )155245200325857837520027029585495
Visualiser la table SAS apparts stockée dans le répertoire datasas en utilisant la fenêtre Explorer.
À laide de la proc UNIVARIATE (avec loption plot) ou du module SAS/Insight, procéder à une étude descriptive des variables Surface et Prix. Observer les sorties et, pour chaque variable, donner la moyenne, la médiane, les quartiles, lamplitude, lécart-type et lécart interquartile. Comment obtient-on le box-plot ? Identifier les valeurs extrêmes.
À laide de la proc CORR, justifier de la pertinence dun ajustement linéaire.
On procède maintenant à la régression linéaire, en prenant comme variable descriptive X la surface et comme variable dépendante Y le prix. Lancer lexécution du programme suivant :
proc reg data=lib1.apparts outest=coeffs;
model prix=surface / SPEC DW R CLI;
plot prix*surface p.*surface / overlay cframe=ligr;
output out=sorties P=yhat R=residus;
run;
quit;
Questions : Pour chacune des quantités suivantes, rappeler sa signification et donner la valeur numérique à partir des sorties observées : (, (, (2, SSM, SSE, SST, R2. Que valent les résidus ? On estime quune observation est atypique si son résidu studentisé nest pas dans lintervalle [-2,2]. Y a-t-il des observations atypiques ?
Exercice n°2 : Transformation des données (cf page 283)
Lorsque sur un graphique, la liaison entre X et Y napparaît pas linéaire, on peut essayer de transformer les données pour tenter de linéariser la relation.
Lexercice se base sur le fichier paysniv3.sas7bdat du répertoire Datasas.
Exécutez le programme qui suit. Le PNB est il en moyenne différent selon les continents ?
proc format;
value conti
1 = 'Afrique'
2 = 'Asie'
3 = 'Amerique'
4 = 'Europe'
5 = 'Océanie';
run;
/*** découpage en classes pour la variable PNB ***/
proc rank data=malib.Paysniv3 out=malib.Pays_pnb_classe groups=5;
var PNB;
ranks PNB_Classe;
run;
/* test du chi2 sur tableau de contingence */
proc freq data=malib.Pays_pnb_classe;
tables Conti*PNB_Classe / CHISQ EXPECTED DEVIATION CELLCHI2;
format conti conti.;
output out=PNB_FREQ CHISQ;
run;
/* exemple anova */
proc anova data=malib.Paysniv3;
class conti;
model PNB=conti;
format conti conti.;
run;
quit;
Utiliser le module SAS/INSIGHT pour étudier ces données de manière interactive. On cherchera à faire une régression linéaire de la variable PNB (Produit National Brut) en fonction du taux durbanisation URBA.
Pourquoi cette analyse nest elle pas satisfaisante ?
Montrez le à laide du graphique des résidus.
Utilisez le menu Edit/windows/tools pour colorier les points selon le continent, en déduire que lon est présence de populations aux comportements différents.
Utiliser SAS/INSIGHT pour transformer la variable PNB en son logarithme.
Effectuer à nouveau la régression avec la variable transformée.
Exercice n°3 : un exemple de régression logistique binaire
Dans lexemple suivant, nous nous proposons détudier le lien entre la présence (ou absence) dune maladie cardiaque coronarienne (CHD=Coronary Heart Disease) et lâge au sein dun échantillon de 100 individus. Les données sont extraites du livre de [Hosmer D. W. & Lemeshow S. (2000) : Applied logistic regression, 2nd edition, John Wiley & Sons, New York], et les variables détude sont les suivantes :
ID : identificateur de lindividu ;
AGRP : Age Group ou classe dâges ;
AGE : âge de lindividu en années ;
CHD : absence (0) ou présence (1) dune maladie cardiaque coronarienne.
OPTIONS LS=64 PS=40;
proc print data=malib.heart noobs; run;
proc gplot data=malib.heart;
title 'GRAPHE DE CHD PAR RAPPORT A AGE';
plot CHD*AGE;
label CHD='CHD(y)'
AGE='AGE(x)';
symbol1 value=dot;
run;
quit;
proc format;
value fAGRP 1='20-29'
2='30-34'
3='35-39'
4='40-44'
5='45-49'
6='50-54'
7='55-59'
8='60-69';
value fCHD 0='Absent'
1='Present';
run;
proc tabulate data=malib.heart format=8.;
class AGRP CHD;
format AGRP fAGRP. CHD fCHD.;
label AGRP='AgeGroup';
table AGRP ALL,N*(ALL CHD) / box='Frequency Table of AgeGroup by CHD' RTS=12;
keylabel ALL='Total'
N='Frequency';
run;
proc logistic data=malib.heart;
model CHD=AGE;
output out=sorties predprobs=individual;
run;
quit;
proc print data=sorties; run;
proc freq data=sorties;
title 'table des bien et mal classés';
table _from_*_into_ / nopercent norow nocol chisq;
run;
Exercice n°4 : simulation du modèle linéaire gaussien
On souhaite simuler un échantillon de taille N=10 du modèle linéaire gaussien :
EMBED Equation.3 ,
où les variables aléatoires EMBED Equation.3 sont i.i.d. de loi N(0,1), et en prenant comme valeur EMBED Equation.3 .
Lancer lexécution du programme suivant pour EMBED Equation.3 :
data simulation;
do i=1 to N;
X=i; Y=2 + 1.5*X + rannor(-1); output;
end;
run;
Quelles sont les vraies valeurs des paramètres de régression ? Grâce à la proc REG de régression linéaire, donner les estimations des paramètres sur un jeu de données simulées. Recommencer avec cinq jeux de données distincts. Quobserve-t-on ?
Reprendre lexercice pour EMBED Equation.3 . Quobserve-t-on ?