Greetings — I'd like to reproduce the results of a large (n ≈ 2500) factor analysis for individual online survey results, and to do so I need to reproduce the numerical steps SPSS takes (assuming Varimax rotation) from input variables to final factors. I do have the SPSS results including unrotated and rotated factor component matrix and transformation matrix, and my own numerical results are close to but not exactly the SPSS results for any given case.
I believe the issue lies in normalization/standardization. This help thread suggests that normalization is based on Kaiser normalized vs. raw values, and done prior to factor rotation, as also noted in the SPSS reference volume (Modern Factor Analysis, Harman 1967, p. 306) and in various SPSS help threads on factor analysis, but the procedure is not entirely clear.
Initially, I had assumed a common standardization procedure, transforming values to mean = 0 and SD = 1, but am not sure if this is the correct procedure, nor when it is applied. I do know that the final factor values for all cases have these properties (mean 0, SD 1), and had thus originally assumed that I could simply do this:
- Start with raw input variables
- Multiply them by rotated factor matrix to get raw factors
- Standardize raw factors to get final factors
When I follow this procedure I get an average error (difference btw SPSS result and my calculated result) of approx. 0.04 for each case...not bad but not exact.
As an alternative procedure, I did this:
- Start with raw input variables
- Multiply them by *unrotated* factor matrix
- Standardize unrotated factors
- Apply transformation matrix to get rotated factors
This results in slightly higher error (.05 average), and of course the final outcome is no longer perfectly standardized: means = 0 but SDs are not = 1. I'm pretty sure this is not the correct procedure, then, but the first procedure summarize above does not take normalization into account prior to rotating factors.
If anyone has documented the numerical procedure in SPSS factor analysis (Varimax rotation, including Kaiser normalization), starting with raw input variables and ending with standardized factor scores for each case, I'd very much appreciate.
Regards,
Jim Proctor
#SPSSStatistics#Support#SupportMigration