Publié le :
Statistique CREATION_INTERNE

Ajustement de modèles polynomiaux avec PROC ORTHOREG et GLM

Ce code est également disponible en : Deutsch English Español
En attente de validation
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é !
1title 'Polynomial Data';
2DATA 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;
11RUN;
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é !
1ods graphics on;
2 
3PROC ORTHOREG DATA=Polynomial;
4 effect xMod = polynomial(x / degree=9);
5 model y = xMod;
6 effectplot fit / obs;
7 store OStore;
8RUN;
9 
10ods 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é !
1DATA Zeros(keep=x);
2 DO j = 0 to 8;
3 x = j/8;
4 OUTPUT;
5 END;
6RUN;
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'.
Copié !
1 
2PROC PLM restore=OStore noprint;
3score
4DATA=Zeros out=OZeros pred=OPred;
5RUN;
6 
5 Bloc de code
PROC PRINT
Explication :
Affiche le contenu de la dernière table créée, qui est 'OZeros', montrant les prédictions du modèle ORTHOREG.
Copié !
1PROC PRINT noobs;
2RUN;
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é !
1PROC GLM DATA=Polynomial;
2 model y = x|x|x|x|x|x|x|x|x;
3 store GStore;
4RUN;
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'.
Copié !
1 
2PROC PLM restore=GStore noprint;
3score
4DATA=Zeros out=GZeros pred=GPred;
5RUN;
6 
8 Bloc de code
DATA STEP Data
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é !
1DATA Zeros;
2 MERGE OZeros GZeros;
3RUN;
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é !
1PROC PRINT noobs;
2RUN;
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