Le script commence par créer un jeu de données 'sales' et explore la relation entre les ventes et l'année via un graphique. Il utilise ensuite la procédure TRANSREG pour trouver une transformation de puissance optimale (Box-Cox) pour la variable de vente afin de linéariser la relation. Plusieurs appels à TRANSREG sont faits pour illustrer l'effet de différents paramètres lambda. Après transformation, une analyse de régression est menée sur les données transformées, suivie d'une analyse des résidus pour valider le modèle. Une seconde partie du script répète un processus similaire sur un jeu de données 'bloodpressure', incluant l'identification et la suppression d'une valeur aberrante via PROC SQL avant de ré-exécuter l'analyse de régression.
Analyse des données
Type : CREATION_INTERNE
Les deux jeux de données, 'sales' et 'bloodpressure', sont créés directement dans le script à l'aide d'instructions 'cards'.
1 Bloc de code
DATA STEP Data
Explication : Crée la table 'sales' avec les ventes ('salesy') par année ('yearx') à partir de données internes.
Explication : Affiche le contenu de la table 'sales'.
Copié !
proc print data=sales;
run;
1
PROC PRINTDATA=sales;
2
RUN;
3 Bloc de code
PROC GPLOT
Explication : Génère un graphique des ventes en fonction de l'année pour visualiser la relation initiale.
Copié !
proc gplot;
plot yearx*salesy;
run;
1
PROC GPLOT;
2
plot yearx*salesy;
3
RUN;
4 Bloc de code
PROC TRANSREG Data
Explication : Utilise PROC TRANSREG pour trouver une transformation Box-Cox optimale pour 'salesy' afin de la linéariser par rapport à 'yearx'. Le résultat de la transformation est sauvegardé dans la table 'transout'.
Explication : Exécute PROC TRANSREG avec différentes valeurs fixes pour le paramètre lambda (0.3, 0.4, 0.6, 0.7) de la transformation Box-Cox pour explorer leur impact.
model boxcox(salesy/ lambda=.3) = identity(yearx);
4
RUN;
5
PROC TRANSREGDATA=sales ss2 details;
6
title2 'Several Options Demonstrated';
7
model boxcox(salesy/ lambda=.4) = identity(yearx);
8
RUN;
9
PROC TRANSREGDATA=sales ss2 details;
10
title2 'Several Options Demonstrated';
11
model boxcox(salesy/ lambda=.6) = identity(yearx);
12
RUN;
13
PROC TRANSREGDATA=sales ss2 details;
14
title2 'Several Options Demonstrated';
15
model boxcox(salesy/ lambda=.7) = identity(yearx);
16
RUN;
6 Bloc de code
PROC PRINT
Explication : Affiche le contenu de la table 'transout' qui contient les données transformées.
Copié !
proc print data=transout;
run;
1
PROC PRINTDATA=transout;
2
RUN;
7 Bloc de code
PROC GPLOT
Explication : Génère un graphique de la variable de vente transformée ('tsalesy') en fonction de l'année.
Copié !
SYMBOL1 V=circle C=blue I=r;
TITLE 'Estimated regression line transformed data';
PROC GPLOT DATA=transout;
PLOT tsalesy*yearx;
RUN;
QUIT;
1
SYMBOL1 V=circle C=blue I=r;
2
TITLE 'Estimated regression line transformed data';
3
PROC GPLOTDATA=transout;
4
PLOT tsalesy*yearx;
5
RUN;
6
QUIT;
8 Bloc de code
PROC REG Data
Explication : Effectue une régression linéaire sur les données transformées, calcule les intervalles de confiance et de prédiction, et sauvegarde les résultats dans 'outreg'.
Explication : Affiche le contenu de la table 'bloodpressure'.
Copié !
proc print data=bloodpressure;
run;
1
PROC PRINTDATA=bloodpressure;
2
RUN;
13 Bloc de code
PROC REG Data
Explication : Effectue une première régression linéaire de la tension artérielle en fonction de l'âge et sauvegarde les résidus dans 'outreg1'.
Copié !
proc reg data=bloodpressure;
model bloodpressurey=agex;
output out=outreg1 r=res;
run;
1
PROC REGDATA=bloodpressure;
2
model bloodpressurey=agex;
3
OUTPUT out=outreg1 r=res;
4
RUN;
14 Bloc de code
PROC SQL
Explication : Supprime une observation considérée comme une valeur aberrante (tension de 90) de la table 'bloodpressure' à l'aide de PROC SQL.
Copié !
PROC SQL;
delete from bloodpressure where bloodpressurey=90;
quit;
1
2
PROC SQL;
3
delete from bloodpressure where bloodpressurey=90;
4
QUIT;
5
15 Bloc de code
PROC REG Data
Explication : Effectue une nouvelle analyse de régression sur les données nettoyées avec un niveau alpha de 0.1, génère des graphiques et sauvegarde les résultats, y compris les limites de confiance, dans 'outreg1'.
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.
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.