Td corrigé Séance n°3 Proc REG - SAS / Insight pdf

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 d’un système à entrées et sorties : on peut plus ou moins agir sur les variables d’entrée X d’un 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 lorsqu’un ajustement linéaire s’applique. Le modèle linéaire dans SAS est notamment traité par les procédures ANOVA (modèles d’analyse de la variance orthogonaux), REG (régression linéaire), GLM (modèles d’analyse 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 d’erreur ;
 EMBED Equation.3  et  EMBED Equation.3 les paramètres du modèle que l’on 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 l’annexe 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 d’analyse de la variance

DF : degrés de liberté associés au modèle et à l’erreur ;
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 d’une 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 l’erreur ;
T for H0 : Parameter=0 : test de Student de nullité du coefficient ;
Prob>|T| : probabilité que la valeur d’une statistique suivant la loi de Student dépasse T en valeur absolue ;

OPTIONS liées à l’instruction 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é d’un descripteur vis à vis des autres ;
Influence : analyse détaillée de l’influence 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 d’erreurs.

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 à l’aide de l’option 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 d’erreur qui doivent vérifier les hypothèses sous-jacentes au modèle : indépendance, moyenne nulle, variance constante (critère d’homoscédasticité) et éventuellement de distribution Gaussienne. Pour ce faire, la proc UNIVARIATE calcule la moyenne ; et apporte des tests de normalité avec l’option 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. L’option DW de la proc REG fournit la valeur de la statistique de Durbin-Watson pour tester l’autocorrélation des résidus. Pour le critère d’homoscédasticité, l’option 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 l’analyse 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. L’option 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 d’ajustement.

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 l’estimation d’un 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 d’instabilité 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 l’analyse exploratoire et graphique d’un jeu de données. Il se présente sous la forme d’une interface « presse-boutons » permettant notamment d’examiner les distributions univariées, de visualiser les données et de construire des modèles utilisant la régression, l’analyse de la variance et le modèle linéaire généralisé. Pour ce faire, l’utilisateur dispose d’un 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 d’emploi 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 d’euros. 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.

À l’aide de la proc UNIVARIATE (avec l’option 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, l’amplitude, l’écart-type et l’écart interquartile. Comment obtient-on le box-plot ? Identifier les valeurs extrêmes.

À l’aide de la proc CORR, justifier de la pertinence d’un 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 l’exé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 qu’une observation est atypique si son résidu studentisé n’est pas dans l’intervalle [-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 n’apparaît pas linéaire, on peut essayer de transformer les données pour tenter de linéariser la relation.
L’exercice 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 d’urbanisation URBA.
Pourquoi cette analyse n’est elle pas satisfaisante ?
Montrez le à l’aide du graphique des résidus.
Utilisez le menu Edit/windows/tools pour colorier les points selon le continent, en déduire que l’on 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 l’exemple suivant, nous nous proposons d’étudier le lien entre la présence (ou absence) d’une maladie cardiaque coronarienne (CHD=Coronary Heart Disease) et l’âge au sein d’un é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 l’individu ;
AGRP : ‘Age Group’ ou classe d’âges ;
AGE : âge de l’individu en années ;
CHD : absence (0) ou présence (1) d’une 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 l’exé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. Qu’observe-t-on ?
Reprendre l’exercice pour  EMBED Equation.3 . Qu’observe-t-on ?