Publié le :

Analyse de régression sur données de classe et de population

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script débute par l'exécution de deux modèles de régression linéaire via `PROC REG` sur le dataset `sashelp.class`, explorant la relation entre le `Weight` et le `Height`, puis en incluant `Age`. Ensuite, il définit des titres globaux pour la sortie. Une étape `DATA` est utilisée pour créer le dataset `USPopulation` en lisant les données `Population` directement depuis un bloc `datalines`. Cette étape calcule aussi des variables dérivées `Year` et `YearSq`. Une seconde `PROC REG` est appliquée à `USPopulation` pour modéliser `Population` en fonction de `Year`, avec une fonctionnalité `ODS OUTPUT` pour sauvegarder la matrice de covariance (`covb`) dans un dataset `Bmatrix`. Le modèle est ensuite modifié pour ajouter `YearSq`. Enfin, une `PROC PRINT` affiche le contenu du dataset `Bmatrix`, en utilisant les variables système `_run_` pour l'identification des observations.
Analyse des données

Type : MIXTE


Le script utilise le dataset d'exemple interne `sashelp.class`. Il génère également un dataset `USPopulation` en interne à partir de données numériques fournies via des `datalines`. Le dataset `Bmatrix` est créé dynamiquement comme une sortie ODS de la `PROC REG`.

1 Bloc de code
PROC REG
Explication :
Ce bloc exécute la procédure de régression linéaire (`PROC REG`) sur le dataset `sashelp.class`. Il ajuste d'abord un modèle simple de `Weight` en fonction de `Height`, puis un second modèle qui inclut `Age` en plus de `Height` comme prédicteurs du `Weight`.
Copié !
1PROC REG DATA=sashelp.class;
2 var Age;
3 model Weight = Height;
4RUN;
5 
6 model Weight = Height Age;
7RUN;
8QUIT;
2 Bloc de code
DATA STEP Data
Explication :
Cette étape `DATA` crée un nouveau dataset nommé `USPopulation`. La variable `Population` est lue à partir des données fournies dans le bloc `datalines`. La variable `Year` est initialisée à 1780 et incrémentée de 10 pour chaque observation, et `YearSq` est calculée comme le carré de `Year`. La variable `Population` est également mise à l'échelle en divisant par 1000. La référence `input Population @code_sas_json/...` présente dans le script original est une erreur de syntaxe SAS et a été corrigée en `input Population;` pour permettre l'exécution du code.
Copié !
1title1 'US Population Study';
2title2 'Concatenating Two Tables into One Data Set';
3 
4DATA USPopulation;
5 INPUT Population ;
6 retain Year 1780;
7 Year=Year+10;
8 YearSq=Year*Year;
9 Population=Population/1000;
10 DATALINES;
113929 5308 7239 9638 12866 17069 23191 31443 39818 50155
1262947 75994 91972 105710 122775 131669 151325 179323 203211
13;
3 Bloc de code
PROC REG
Explication :
Cette `PROC REG` analyse la relation entre `Population` et `Year` en utilisant le dataset `USPopulation`. Elle utilise `ODS OUTPUT` pour créer un dataset nommé `Bmatrix` qui contient la matrice de covariance des estimations de paramètres. Après la première exécution, la variable `YearSq` est ajoutée au modèle via l'instruction `add`, et les résultats mis à jour sont imprimés. La procédure est terminée par `quit;`.
Copié !
1PROC REG DATA=USPopulation;
2 ods OUTPUT covb(persist=RUN)=Bmatrix;
3 var YearSq;
4 model Population = Year / covb;
5RUN;
6 
7 add YearSq;
8 PRINT;
9QUIT;
4 Bloc de code
PROC PRINT
Explication :
Cette `PROC PRINT` affiche le contenu du dernier dataset créé ou actif, qui est très probablement le dataset `Bmatrix` généré par la `PROC REG` précédente. Les options `id _run_;` et `by _run_;` sont utilisées pour identifier et grouper les observations en fonction de la variable interne `_run_`, souvent générée par `ODS OUTPUT` avec l'option `PERSIST=RUN`.
Copié !
1PROC PRINT;
2 id _run_;
3 BY _run_;
4RUN;
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, NAME: ODSEX6, TITLE: Documentation Example 6 for ODS, PRODUCT: STAT