I have 1000 variables and want to use principle component analysis (PCA). I am trying to use the proc mi for multiple imputations and proc mianalyze for combining the multiple outputs. I have a hard time to figure it out. I just did a single imputation for principle component analysis. Is there any way to combine the results if you want to do nimpute=10 for proc MI? Here is a sample sas data set. Thank you for your help!!!
The problem with doing missing value imputation for PCA is that if the imputation does not take into account the correlation between the variables, then essentially the imputation is going to alter the fitted PCA model. Your code does take this partially into account using FCS LOGISTIC for two variables, but does not take this into account for the correlations between the other variables (like correlation between x2 and x3).
So, I don't really know how to do this using PROC MI. My suggestion is to use PROC PLS where you set the option MISSING=EM (an expectation maximization algorithm is used to replace missing values). To use PROC PLS to get PCA results, the trick is that you have to specify that the x-variables in the PLS model are identical to the y-variables in the PLS model.
But I don't know how well this will work on your data. In addition, you have lots of missing data here, over 20%, and so I would worry that the amount of missing is a problem.
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.