Académique Documents
Professionnel Documents
Culture Documents
Cette planche propose un aperçu de la principale procédure SAS permettant la mise en oeuvre
de la régression linéaire : la procédure reg. Vous pouvez accéder à une description détaillée de la
procédure reg :
dans le logiciel SAS lui-même, contenant une documentation très fournie ;
sur le site internet à l'adresse suivante : http ://support.sas.com/onlinedoc/913/docMainpage.jsp.
La procédure reg est implémentée pour l'étude de modèles de régression linéaire simple et multiple,
uni ou multi-dimensionnels. Elle permet entre autres l'estimation des paramètres par la méthode
des moindres carrés, la construction de tests et la mise en place de méthodes de sélection de
modèles.
La syntaxe est la suivante :
PROC REG <options> ;
<label:>MODEL dependents=<regressors> </ options> ;
BY variables ;
FREQ variable ;
ID variables ;
VAR variables ;
WEIGHT variable ;
ADD variables ;
DELETE variables ;
<label:>MTEST <equation, ...,equation> </ options> ;
OUTPUT <OUT=SAS-data-set>< keyword=names> <...keyword=names> ;
PAINT <condition | ALLOBS> </ options > | < STATUS | UNDO> ;
RESTRICT equation, ...,equation ;
REWEIGHT <condition | ALLOBS> </ options > | < STATUS | UNDO> ;
PLOT <yvariable*xvariable> <=symbol> <...yvariable*xvariable> <=symbol> </ options> ;
PRINT <options> <ANOVA> <MODELDATA> ;
REFIT ;
RESTRICT equation, ...,equation ;
REWEIGHT <condition | ALLOBS> </ options > | < STATUS | UNDO> ;
<label:>TEST equation,<,...,equation> </ option> ;
RUN;
Les instructions (model, by, freq, ...) ci-dessus sont très riches et chacune est détaillée dans la
documentation du logiciel. Elles permettent de dénir le modèle de régression considéré (model),
l'estimation des paramètres de la regression, de stocker de multiples statistiques de la régression
(output), la mise en oeuvre des tests (test), le tracé de graphiques (plot), etc...
Les principales options de la procédure reg sont les suivantes :
data=tab1 : précise le tableau sur lequel doit agir la procédure,
outest=tab2 : crée un tableau contenant toutes les informations produites,
simple : demande le calcul de statistiques simples pour toutes les variables nommées dans les
instructions model et var.
L'instruction model permet quand à elle de déclarer la variable réponse ainsi que les diérents
régresseurs du modèle. Les régresseurs sont nécessairement des variables dénies dans le tableau
sur lequel agit la procédure reg, et ces variables doivent être de type numérique. Les diérents
régresseurs doivent être déclarés à droite du signe = et séparés par un blanc.
L'instruction model admet un certain nombre d'options permettant d'aller un peu plus loin dans
l'étude. La liste suivante n'est pas exhaustive :
1
p calcule les valeurs prédites pour chaque observation,
cli demande le calcul d'un intervalle de conance à 95% pour chaque valeur future prédite,
clm demande le calcul d'un intervalle de conance à 95% pour l'espérance de chaque obser-
vation,
...
2
Exercice 3 : Régression RIDGE
La régression RIDGE est une variante de la régression linéaire multiple pour traiter le cas de
variables explicatives colinéaires, qui entraîne dans le modèle linéaire Y = Xβ + un très mauvais
conditionnement de la matrice X 0 X . Son déterminant est presque nul et son inversion dans la
méthode des moindres carrés ordinaire provoque des dicultés. L'idée générale de la régression
RIDGE est de modier la matrice X 0 X rendant l'inversion plus stabble.
On propose dans cet exercice de mettre en oeuvre cette variante avec SAS pour les données
"bodyfat.dat" de manière à améliorer la qualité du modèle.
1. Reprendre le chier "bodyfat.dat". Importer ce chier dans SAS, en modiant au préalable
le chier (extension, séparateurs).
2. Calculer la matrice des corrélations avec la procédure corr et retrouver une forte corrélation
entre deux variables explicatives Thigh et Triceps.
3. Lancer la procédure reg ci-dessous qui utilise la technique de ridge regression :
proc reg data=bodyfat ridge= 0 to 1 by 0.1 outest=ridgest;
model fat=thigh triceps midarm / dw;
run;
Les résultats pour chaque valeur de k sont dans la table ridgest. Se pose alors le problème de choisir
le paramètre de régularisation k optimal.