Pour traiter efficacement les données manquantes, l'utilisation de la PROC MI avec la méthode MCMC est une approche d'expert qui surpasse l'imputation simple en préservant la variabilité et les relations de corrélation entre vos variables. Dans ce script, l'algorithme génère par défaut 25 imputations (paramètre NIMPUTE), créant ainsi un jeu de données étendu où chaque valeur manquante est remplacée par plusieurs estimations plausibles. La réussite technique de cette opération repose sur deux piliers : d'une part, l'hypothèse que vos données suivent une distribution normale multivariée (condition sine qua non du MCMC standard) et, d'autre part, la convergence de la chaîne de Markov. Il est crucial d'ajouter l'option PLOTS=TIMEPLOT pour vérifier visuellement que les itérations se stabilisent avant l'imputation finale. Enfin, n'oubliez pas que ce n'est que la première étape : vous devrez ensuite analyser ces 25 jeux de données via la procédure statistique de votre choix (comme PROC REG ou GLM) et combiner les résultats avec PROC MIANALYZE pour obtenir des inférences valides qui tiennent compte de l'incertitude liée aux données manquantes.
Type : CREATION_INTERNE
Les données sont créées directement dans le script via une étape DATA avec l'instruction `datalines`. Le jeu de données 'Fitness1' contient des mesures de condition physique.
| 1 | DATA Fitness1; |
| 2 | INPUT Oxygen RunTime RunPulse @@; |
| 3 | DATALINES; |
| 4 | 44.609 11.37 178 45.313 10.07 185 |
| 5 | 54.297 8.65 156 59.571 . . |
| 6 | 49.874 9.22 . 44.811 11.63 176 |
| 7 | . 11.95 176 . 10.85 . |
| 8 | 39.442 13.08 174 60.055 8.63 170 |
| 9 | 50.541 . . 37.388 14.03 186 |
| 10 | 44.754 11.12 176 47.273 . . |
| 11 | 51.855 10.33 166 49.156 8.95 180 |
| 12 | 40.836 10.95 168 46.672 10.00 . |
| 13 | 46.774 10.25 . 50.388 10.08 168 |
| 14 | 39.407 12.63 174 46.080 11.17 156 |
| 15 | 45.441 9.63 164 . 8.92 . |
| 16 | 45.118 11.08 . 39.203 12.88 168 |
| 17 | 45.790 10.47 186 50.545 9.93 148 |
| 18 | 48.673 9.40 186 47.920 11.50 170 |
| 19 | 47.467 10.50 170 |
| 20 | ; |
| 21 |
| 1 | PROC MI DATA=Fitness1 seed=501213 mu0=50 10 180 out=outmi; |
| 2 | mcmc; |
| 3 | var Oxygen RunTime RunPulse; |
| 4 | RUN; |
| 1 | |
| 2 | PROC PRINT |
| 3 | DATA=outmi (obs=10); |
| 4 | title 'First 10 Observations of the Imputed |
| 5 | Data Set'; |
| 6 | RUN; |
| 7 |