Publié le :
Statistique CREATION_INTERNE

Exemple 15 de documentation pour PROC MI

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script commence par la génération d'un jeu de données synthétique nommé 'Mono1' contenant des valeurs manquantes dans la variable 'y1'. Ensuite, il utilise PROC MI pour imputer ces valeurs manquantes. La méthode d'imputation choisie est la régression monotone avec des détails affichés. Une considération particulière est faite pour les données manquantes non aléatoires (MNAR) sur 'y1', modelée en fonction du groupe de traitement 'Trt' lorsque 'Trt' est égal à '0'. Le jeu de données imputé est sauvegardé dans 'outex15'. Des procédures PROC PRINT sont utilisées pour afficher un aperçu des données originales et imputées.
Analyse des données

Type : CREATION_INTERNE


Le jeu de données initial 'Mono1' est créé directement dans le script via un DATA STEP utilisant des fonctions de génération de nombres aléatoires (rannor, ranuni). Le jeu de données 'outex15' est le résultat de l'imputation effectuée par PROC MI.

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP crée le jeu de données 'Mono1'. Il génère des observations pour deux groupes de traitement (Trt=0 et Trt=1) avec des variables 'y0' et 'y1'. La variable 'y1' est conditionnellement rendue manquante (valeur '.') pour environ 30% des observations, simulant ainsi un scénario de données manquantes.
Copié !
1DATA Mono1;
2 DO Trt=0 to 1;
3 DO j=1 to 5;
4 y0=10 + rannor(999);
5 y1= y0 + Trt + rannor(999);
6 IF (ranuni(999) < 0.3) THEN y1=.;
7 OUTPUT;
8 END; END;
9 
10 DO Trt=0 to 1;
11 DO j=1 to 45;
12 y0=10 + rannor(999);
13 y1= y0 + Trt + rannor(999);
14 IF (ranuni(999) < 0.3) THEN y1=.;
15 OUTPUT;
16 END; END;
17 drop j;
18RUN;
2 Bloc de code
PROC PRINT
Explication :
Cette PROC PRINT affiche les 10 premières observations du jeu de données 'Mono1' pour donner un aperçu de la structure des données avant imputation. Seules les variables 'Trt', 'Y0' et 'Y1' sont incluses dans la sortie.
Copié !
1PROC PRINT DATA=Mono1(obs=10);
2 var Trt Y0 Y1;
3 title 'First 10 Obs in the Trial Data';
4RUN;
3 Bloc de code
PROC MI
Explication :
Cette PROC MI réalise l'imputation multiple des valeurs manquantes dans le jeu de données 'Mono1'. Elle utilise la graine '14823' pour la reproductibilité et génère 15 jeux de données imputés, stockés dans 'outex15'. La méthode 'monotone reg' est spécifiée pour l'imputation par régression monotone, avec l'option 'details' pour des informations supplémentaires. La clause 'mnar' indique que 'y1' est Missing Not At Random, et son modèle est conditionné par 'Trt' étant '0'.
Copié !
1PROC MI DATA=Mono1 seed=14823 nimpute=15 out=outex15;
2 class Trt;
3 monotone reg (/details);
4 mnar model( y1 / modelobs= (Trt='0'));
5 var y0 y1;
6RUN;
4 Bloc de code
PROC PRINT
Explication :
Cette PROC PRINT affiche les 10 premières observations du jeu de données imputé 'outex15'. Cela permet de visualiser les résultats de l'imputation multiple effectuée par PROC MI.
Copié !
1 
2PROC PRINT
3DATA=outex15(obs=10);
4title 'First 10 Observations of the Imputed
5Data Set';
6RUN;
7 
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 : SAS SAMPLE LIBRARY