BookmarkSubscribeRSS Feed
Calcite | Level 5
All the examples I find on using PROC MIANALYZE use something like PROC MI to generate the 'complete-data' sets for each of multiple copies of the data with imputed values ... then use other PROC's (e.g. PROC REG) to do the 'complete-data' analysis on each imputation to produce output data files/tables (usually via ODS) as input into PROC MIANALYZE --- does anybody have any examples of doing the same but with DATA steps maybe mixed with other PROCS to do the complete-data analysis?

To get the estimate of interest I use a mix of DATA steps and PROC SUMMARY output files to calculate parameter estimates ... so given the structure of the ODS tables/data files from various examples I've seen I'm guessing that a proper rearrangements of the results of my DATA steps, etc. could result in a data set that I could use as input into PROC MIANALYZE ...

... but I'd like to see if anybody else has some examples of what they might have done similarly.

Pyrite | Level 9

I'm sure that you could employ some data step code between use of PROC MI to generate complete data realizations and PROC MIANALYZE to produce a summary statistic from the multiple imputations. That said, every operation performed between the imputation step and the summarization employing MIANALYZE must be carefully evaluated to ensure that standard errors of the parameter estimates are properly constructed along with the parameters. The MIANALYZE procedure will be worthless if you cannot provide not only point estimates but also standard errors of the point estimates. Note, too, that if you need to construct a statistic which depends on multiple parameters (or depends on multiple columns in a single imputation data set), you need to construct and operate on a full parameter covariance matrix.

Are you prepared to construct standard errors or full parameter covariance matrix with your data step code? If so, then there would be nothing to inhibit you from using data step code between the MI procedure and the MIANALYZE procedure. If you are not prepared to construct correct parameter variances, then your data step manipulations are doomed to failure.
Calcite | Level 5

Thanks ... I gathered as much by looking at the examples of the output tables (data sets) from Proc Reg as input into Proc MIAnalyze ... in that I could see it included point estimates and a full covariance matrix ... and I know I could kludge my way through re-arranging the results of my analysis so it was in the same format as the parameter (and covariance matrix) estimates from Procs such as REG ... I was really looking for examples that others might have done ...

... the actual problem I'm working on right now happens to be simple enough that I've already 'solved' the problem by applying the calculating equations as presented in various sources (e.g, Little & Rubin 2002) to combine the within and between imputation estimates, etc. --- but my original post was meant to look towards the future when I have a problem that might be more complicated (and also looking for a method of checking the 'validity' of my current results).

Thanks again for your thoughtful reply-Allen

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 2 replies
  • 2 in conversation