Le script commence par utiliser le jeu de données intégré 'sashelp.baseball'. Ensuite, il crée un nouveau jeu de données nommé 'baseball' basé sur 'sashelp.baseball' en excluant un joueur spécifique ('Rose, Pete') et en ajoutant deux nouvelles variables transformées : 'YrMajor2' (année d'ancienneté au carré) et 'CrHits2' (coups de circuit en carrière au carré). Les données sont donc issues d'une source interne à SAS et transformées/enrichies au sein du script.
1 Bloc de code
PROC CONTENTS
Explication : Ce bloc affiche les informations sur les variables du jeu de données 'sashelp.baseball', en se concentrant sur la position des variables ('ods select position'). C'est une étape préliminaire pour comprendre la structure des données.
Explication : Active ODS Graphics pour générer des sorties graphiques. Ce bloc exécute une première régression linéaire multiple pour modéliser le logarithme du salaire (logSalary) en fonction de plusieurs variables explicatives (nhits, nruns, nrbi, nbb, yrmajor, crhits) en utilisant le jeu de données 'sashelp.baseball'. Les variables 'name', 'team' et 'league' sont utilisées comme identifiants.
Copié !
ods graphics on;
proc reg data=sashelp.baseball;
id name team league;
model logSalary = nhits nruns nrbi nbb yrmajor crhits;
run;
1
ods graphics on;
2
3
PROC REGDATA=sashelp.baseball;
4
id name team league;
5
model logSalary = nhits nruns nrbi nbb yrmajor crhits;
6
RUN;
3 Bloc de code
PROC REG
Explication : Ce bloc ré-exécute le même modèle de régression, mais spécifie explicitement la génération de deux graphiques de diagnostic : 'RStudentByLeverage' et 'CooksD'. Ces graphiques aident à identifier les observations ayant une forte influence sur le modèle ou des résidus importants.
Copié !
proc reg data=sashelp.baseball
plots(only label)=(RStudentByLeverage CooksD);
id name team league;
model logSalary = nhits nruns nrbi nbb yrmajor crhits;
run;
1
PROC REGDATA=sashelp.baseball
2
plots(only label)=(RStudentByLeverage CooksD);
3
id name team league;
4
model logSalary = nhits nruns nrbi nbb yrmajor crhits;
5
RUN;
4 Bloc de code
PROC REG
Explication : Ce bloc effectue la régression sur un sous-ensemble des données en excluant le joueur 'Rose, Pete' (identifié potentiellement comme un outlier ou une observation influente). Il génère les graphiques 'RStudentByLeverage' et 'residuals' (avec une ligne lissée pour visualiser les tendances des résidus).
Copié !
proc reg data=sashelp.baseball
plots=(RStudentByLeverage(label) residuals(smooth));
where name^="Rose, Pete";
id name team league;
model logSalary = nhits nruns nrbi nbb yrmajor crhits;
run;
model logSalary = nhits nruns nrbi nbb yrmajor crhits;
6
RUN;
5 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP crée un nouveau jeu de données nommé 'baseball'. Il est basé sur 'sashelp.baseball', mais avec deux modifications : le joueur 'Rose, Pete' est exclu, et deux nouvelles variables, 'YrMajor2' et 'CrHits2' (représentant les termes quadratiques de 'yrmajor' et 'crhits' respectivement), sont calculées et ajoutées au jeu de données. Cela permet d'explorer des relations non linéaires dans le modèle de régression.
Copié !
data baseball;
set sashelp.baseball(where=(name^="Rose, Pete"));
YrMajor2 = yrmajor*yrmajor;
CrHits2 = crhits*crhits;
run;
1
DATA baseball;
2
SET sashelp.baseball(where=(name^="Rose, Pete"));
3
YrMajor2 = yrmajor*yrmajor;
4
CrHits2 = crhits*crhits;
5
RUN;
6 Bloc de code
PROC REG
Explication : Ce bloc exécute un modèle de régression final sur le jeu de données 'baseball' enrichi, incluant les variables quadratiques 'yrmajor2' et 'crhits2'. Il spécifie un ensemble très complet de graphiques de diagnostic ('diagnostics', 'RStudentByLeverage', 'CooksD', 'Residuals', 'DFFITS', 'DFBETAS', 'ObservedByPredicted') pour une évaluation approfondie de l'ajustement du modèle et des propriétés des résidus.
Copié !
proc reg data=baseball
plots=(diagnostics(stats=none) RStudentByLeverage(label)
CooksD(label) Residuals(smooth)
DFFITS(label) DFBETAS ObservedByPredicted(label));
id name team league;
model logSalary = nhits nruns nrbi nbb yrmajor crhits
yrmajor2 crhits2;
run;
model logSalary = nhits nruns nrbi nbb yrmajor crhits
7
yrmajor2 crhits2;
8
RUN;
7 Bloc de code
PROC REG
Explication : Ce bloc utilise une macro-variable '%let ind' pour lister toutes les variables indépendantes du modèle. Il exécute ensuite PROC REG sans générer de graphiques ('plots=none'), mais avec une instruction 'output' qui crée un nouveau jeu de données 'pred' contenant les observations originales et une nouvelle variable 'p' représentant les valeurs prédites du logSalary par le modèle.
Explication : Ce bloc appelle une macro SAS nommée '%marginal'. Cette macro est conçue pour calculer et afficher les effets marginaux des variables indépendantes ('ind') sur la variable dépendante ('logSalary'), en utilisant les valeurs prédites ('p') obtenues précédemment. La définition de la macro elle-même n'est pas incluse dans ce script.
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : S A S S A M P L E L I B R A R Y
Copyright 1987, The 1987 Baseball Encyclopedia Update, Macmillan Publishing Company, New York.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.