Statistical Procedures

Programming the statistical procedures from SAS
BookmarkSubscribeRSS Feed
David17
Fluorite | Level 6

I'm using proc factor for an exploratory factor analysis for a survey.  I have very good loading of two questions onto our "pt pain care factor" (0.79 and 0.80), but the error variances of the individual questions are low (0.28 and 0.37).  How should I interpret this and what does this say is going on?  This is our outcome factor, so it's important to have right, although we can't really remove any variables.  Also, for the cumulative variance explained by the factors, I get 100% of the variance explained for 2 factors in the scree plot.  This then goes way above 100% before coming back down to 100% for the last question.  (After adjustments, it says 100% is explained by 4 factors.) I had thought this wasn't possible, and I'm not sure what's going on with that, nor how to report the total variance explained by the four factors.  The weighted final extracted communalities are 0.78.  Is this distinct from the cumulative variance explained by the factors?  Should I report the unweighted communalities?  Graphic below.  Thanks for your assistance.Path and Scree.png attached.

2 REPLIES 2
sbxkoenk
SAS Super FREQ

Hello,

Can you show us your code?

... to see if you used a VARIMAX rotation for example.

 

Thanks,

Koen

David17
Fluorite | Level 6

Sure.  I actually started with a polychoric transformation prior to the EFA, to help linearize the responses.  This helped the questions group properly, although one of the questions ended up grouping with another factor, which is understandable in context.

 
* Polychoric Transformation, Step 1;
proc prinqual data=phys out=phys_poly4 plots=transformation
maxiter = 100 standard scores n=4 replace;
where outmiss < 4;
transform monotone (knowi1-knowi5 hes1 hesi2 hesi3 stigi1-stigi3 outi1-outi4);
id record_ID;
run;
 
* Exploratory Factor Analysis, Step 2;
proc factor data = phys nfactors = 4 rotate = promax method = ml priors = smc 
scree reorder msa score Heywood residuals out=phys_EFA1 outstat=phys_stat plots=all;
where outmiss < 4;
var Tknowi2-Tknowi4 Thes1 Thesi2 Thesi3 Tstigi1-Tstigi3 Touti1-Touti4;
pathdiagram notitle arrange=grip label=[Factor1="Pt Pain Care" Factor2="Knowledge/ Experience"
Factor3="Stigma" Factor4="Hesitancy"];
run;

 

sas-innovate-white.png

Our biggest data and AI event of the year.

Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.

Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.

 

Register now!

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
  • 1061 views
  • 0 likes
  • 2 in conversation