Le script génère d'abord un jeu de données 'Polynomial' basé sur une fonction polynomiale. Ensuite, il utilise PROC ORTHOREG pour ajuster un modèle polynomial de degré 9. Les résultats du modèle sont stockés et utilisés par PROC PLM pour scorer les zéros de la fonction originale. Parallèlement, PROC GLM est utilisée pour ajuster un modèle similaire, et les prédictions sont également calculées avec PROC PLM. Enfin, les prédictions des deux modèles (ORTHOREG et GLM) sont fusionnées et affichées pour comparaison.
Analyse des données
Type : CREATION_INTERNE
Le script crée deux jeux de données : 'Polynomial' et 'Zeros'. Les données sont entièrement générées via des boucles 'do' dans des étapes DATA, sans dépendre de sources externes.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc crée la table 'Polynomial'. Il génère 101 observations en calculant les valeurs de 'x' et 'y' selon une fonction polynomiale, sans utiliser de données en entrée.
Copié !
title 'Polynomial Data';
data Polynomial;
do i = 1 to 101;
x = (i-1)/(101-1);
y = 10**(9/2);
do j = 0 to 8;
y = y * (x - j/8);
end;
output;
end;
run;
1
title 'Polynomial Data';
2
DATA Polynomial;
3
DO i = 1 to 101;
4
x = (i-1)/(101-1);
5
y = 10**(9/2);
6
DO j = 0 to 8;
7
y = y * (x - j/8);
8
END;
9
OUTPUT;
10
END;
11
RUN;
2 Bloc de code
PROC ORTHOREG
Explication : Ce bloc utilise la procédure ORTHOREG pour effectuer une régression polynomiale de degré 9 sur la variable 'y' en fonction de 'x'. Le modèle est stocké dans l'objet 'OStore' et un graphique du modèle ajusté est produit.
Copié !
ods graphics on;
proc orthoreg data=Polynomial;
effect xMod = polynomial(x / degree=9);
model y = xMod;
effectplot fit / obs;
store OStore;
run;
ods graphics off;
1
ods graphics on;
2
3
PROC ORTHOREGDATA=Polynomial;
4
effect xMod = polynomial(x / degree=9);
5
model y = xMod;
6
effectplot fit / obs;
7
store OStore;
8
RUN;
9
10
ods graphics off;
3 Bloc de code
DATA STEP Data
Explication : Ce bloc crée la table 'Zeros' qui contient les racines (zéros) de la fonction polynomiale utilisée pour générer les données initiales. Ces valeurs de 'x' seront utilisées pour la prédiction.
Copié !
data Zeros(keep=x);
do j = 0 to 8;
x = j/8;
output;
end;
run;
1
DATA Zeros(keep=x);
2
DO j = 0 to 8;
3
x = j/8;
4
OUTPUT;
5
END;
6
RUN;
4 Bloc de code
PROC PLM
Explication : Cette procédure utilise le modèle 'OStore' (créé par PROC ORTHOREG) pour calculer les valeurs prédites ('OPred') pour chaque observation de la table 'Zeros'. Les résultats sont sauvegardés dans la table 'OZeros'.
Explication : Affiche le contenu de la dernière table créée, qui est 'OZeros', montrant les prédictions du modèle ORTHOREG.
Copié !
proc print noobs;
run;
1
PROC PRINT noobs;
2
RUN;
6 Bloc de code
PROC GLM
Explication : Ce bloc utilise la procédure GLM (General Linear Model) pour ajuster un modèle polynomial de degré 9 (spécifié par les interactions successives de 'x'). Le modèle est stocké dans 'GStore' pour une utilisation ultérieure.
Copié !
proc glm data=Polynomial;
model y = x|x|x|x|x|x|x|x|x;
store GStore;
run;
1
PROC GLMDATA=Polynomial;
2
model y = x|x|x|x|x|x|x|x|x;
3
store GStore;
4
RUN;
7 Bloc de code
PROC PLM
Explication : Similaire à l'étape précédente, cette procédure utilise le modèle 'GStore' (créé par PROC GLM) pour calculer les prédictions ('GPred') sur la table 'Zeros'. Les résultats sont stockés dans la table 'GZeros'.
Explication : Ce bloc fusionne les tables 'OZeros' et 'GZeros' pour créer une nouvelle table 'Zeros' qui contient les prédictions des deux modèles (ORTHOREG et GLM) côte à côte pour faciliter la comparaison.
Copié !
data Zeros;
merge OZeros GZeros;
run;
1
DATA Zeros;
2
MERGE OZeros GZeros;
3
RUN;
9 Bloc de code
PROC PRINT
Explication : Affiche le contenu de la table 'Zeros' finale, qui compare les valeurs prédites par le modèle ORTHOREG ('OPred') et le modèle GLM ('GPred').
Copié !
proc print noobs;
run;
1
PROC PRINT noobs;
2
RUN;
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
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.