While preparing my function (a macro) to perform orthogonal analytic rotations used in Factor analysis (such as varimax), I noticed that the description of the orhogonal rotation in: SPSS Statistics Algorithms - FACTOR - Orthogonal Rotations, is mistaken or inaccurate. (The rotations themselves are done by FACTOR procedure properly.)
1) The formula of the generic ("orthomax") criterion (SV) is not correct. Mainly, it misses the important coefficient coef which defines the specific type of criterion. Also, the division by n^2 is unnecessary. The true formula of the orthomax, SV, is: n*Q - coef*W
where Q is Quartimax = matrixSum(л^4) [л is lambda, the value of a loading],
and W is the sum of squared variances of the factors = rowSum(colSum(л^2)^2)
Coef defines the criterion in the following way:
coef=0 (and n multiplier is omitted) for Quartimax
coef=1 for Varimax
coef=m/2 for Equamax
(n is the number of variables, rows of the loading matrix; m is the number of factors, its columns)
2) Line u_p(i) = f_pj(i)*2 - .... does not explain what are those "f*" s. They are simply and again the loadings л, only current loadings - their newest values as have been updated in the course of an iteration (i)
3) Angle of rotation P = 1/4 artan (X/Y) should not miss mentioning to a reader that we must mind the quadrant when computing P. That is, if 4P is the value returned by a usual function artan(), then:
If Y>0 (1st or 4th quadrant), then P = 4P / 4
Else If X>0 (2nd quadtant), then P = (4P + pi) / 4
Else (3rd quadrant), then P = (4P - pi) / 4
I hope that SPSS editors will correct the documentation.
******************************
My function !KO_ortrot which gives the same rotation results as spss' FACTOR procedure does, and which performs Quartimax, Varimax, Equamax, Parsimax, Facpars and "custom coef.", can be found among "MATRIX - END MATRIX functions" on my web-page
Kirill's SPSS Macros PageA discussion by me of orthogonal factor rotation criteria, with the pseudocode, can be seen here
Factor rotation methods (varimax, quartimax, oblimin, etc.) - what do the names mean and what do the methods do?------------------------------
Kirill Orlov
------------------------------
#SPSSStatistics