title 'Factor analysis: estimation methods, artificial example'; data twofact(type=CORR); _type_='CORR'; input _name_ $ Y1 Y2 Y3 Y4 Y5 Y6; datalines; Y1 1.00 .20 .24 .00 .00 .00 Y2 .20 1.0 .30 .00 .00 .00 Y3 .24 .30 1.0 .00 .00 .00 Y4 .00 .00 .00 1.0 .56 .63 Y5 .00 .00 .00 .56 1.0 .72 Y6 .00 .00 .00 .63 .72 1.0 ; *-- A PCA will not recover the correct factor pattern; proc factor data=twofact nfact=2; *-- Using the true communalities will recover the factor pattern; proc factor data=twofact nfact=2; priors .16 .25 .36 .49 .64 .81; *-- Using SMC; proc factor data=twofact nfact=2; priors smc; *-- Using ML; proc factor data=twofact nfact=2 method=ML;