LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (September 2000)Back to main SPSSX-L pageJoin or leave SPSSX-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Fri, 29 Sep 2000 13:56:58 -0500
Reply-To:   "Nichols, David" <nichols@SPSS.COM>
Sender:   "SPSSX(r) Discussion" <SPSSX-L@LISTSERV.UGA.EDU>
From:   "Nichols, David" <nichols@SPSS.COM>
Subject:   Re: Bugs in factor analysis (promax and oblimin)

Thank you for bringing this to our attention. It is indeed a bug. In investigating it, I've discovered that it affects not just the oblique rotation methods OBLIMIN and PROMAX, but also the orthogonal VARIMAX and EQUAMAX methods. The problem seems to be that the algorithms for rotation do not handle appropriately cases where a column of factor loadings are constant, or very close to constant. I confirmed this by noting that if you change the first correlation (that of v1 with v2) slightly, to say .6015, the PROMAX, VARIMAX, and EQUAMAX methods start rotating away from the constant or near constant solution and find correct rotations. The OBLIMIN method requires a larger change, to about .6075, before it finds enough variability to work with. The QUARTIMAX method seems to work correctly under any of these circumstances; that is, it will handle the completely constant case as well. I've filed a bug report delineating these findings.

I would hazard to guess that this problem has been in FACTOR for a very long time (I confirmed that it occurs on Release 4.0 of SPSS for Unix, which is the earliest version of SPSS to which I have access), and that the reason it has gone undetected until now is that constant or nearly constant columns of factor loadings are not going to occur in real data sets, but only with hypothetical examples constructed according to particular structures, as I assume these data represent.

Incidentally, the Stata results given here are also not entirely correct. The data as given should produce identical sets of rotated loadings within each set of five variables. There is some rounding or precision error in the Stata results.

David Nichols Principal Support Statistician and Manager of Statistical Support SPSS Inc.

> -----Original Message----- > From: Keizo Hori [mailto:hori@EC.KAGAWA-U.AC.JP] > Sent: Tuesday, September 26, 2000 12:13 PM > To: SPSSX-L@LISTSERV.UGA.EDU > Subject: [SPSSX-L] Bugs in factor analysis (promax and oblimin) > > > I use spss 10.0.7 J. > Oblique rotation (promax or oblimin) gives strange results. > run sample syntax. > Results are > ------------------------- > factor pattern > factor > 1 2 > V1 .671 .387 > V2 .671 .387 > V3 .671 .387 > V4 .671 .387 > V5 .671 .387 > V6 .671 -.387 > V7 .671 -.387 > V8 .671 -.387 > V9 .671 -.387 > V10 .671 -.387 > > factor 1 2 > 1 1.000 .000 > 2 .000 1.000 > ------------------------ > why spss iterates only one time. > > Correct answer is (Stata's results) > > . rotate, promax(4) > > (promax rotation) > Rotated Factor Loadings > Variable | 1 2 Uniqueness > ----------+-------------------------------- > v1 | 0.77241 0.00414 0.40023 > v2 | 0.77268 0.00388 0.40001 > v3 | 0.77266 0.00400 0.39993 > v4 | 0.77249 0.00408 0.40014 > v5 | 0.77281 0.00381 0.39985 > v6 | 0.00411 0.77264 0.39988 > v7 | 0.00399 0.77257 0.40008 > v8 | 0.00396 0.77243 0.40032 > v9 | 0.00397 0.77270 0.39990 > v10 | 0.00387 0.77265 0.40006 > > symmetric Phi[2,2] > c1 c2 > c1 1 > c2 .49220776 1 > > > . > > > spss syntax ----------------------------------. > matrix data var=v1 to v10 /format =free full /n=1000 /contents=corr. > begin data > 1 0.6 0.6 0.6 0.6 0.3 0.3 0.3 > 0.3 0.3 > 0.6 1 0.6 0.6 0.6 0.3 0.3 0.3 > 0.3 0.3 > 0.6 0.6 1 0.6 0.6 0.3 0.3 0.3 > 0.3 0.3 > 0.6 0.6 0.6 1 0.6 0.3 0.3 0.3 > 0.3 0.3 > 0.6 0.6 0.6 0.6 1 0.3 0.3 0.3 > 0.3 0.3 > 0.3 0.3 0.3 0.3 0.3 1 0.6 0.6 > 0.6 0.6 > 0.3 0.3 0.3 0.3 0.3 0.6 1 0.6 > 0.6 0.6 > 0.3 0.3 0.3 0.3 0.3 0.6 0.6 1 > 0.6 0.6 > 0.3 0.3 0.3 0.3 0.3 0.6 0.6 0.6 > 1 0.6 > 0.3 0.3 0.3 0.3 0.3 0.6 0.6 0.6 > 0.6 1 > end data. > > FACTOR > /matrix=in (cor=*) /ANALYSIS v1 to v10 > /PRINT INITIAL EXTRACTION ROTATION > /CRITERIA FACTORS(2) ITERATE(25) > /EXTRACTION ML > /CRITERIA ITERATE(25) > /ROTATION OBLIMIN(0) . > FACTOR > /matrix=in (cor=*) /ANALYSIS v1 to v10 > /PRINT INITIAL EXTRACTION ROTATION > /CRITERIA FACTORS(2) ITERATE(25) > /EXTRACTION ML > /CRITERIA ITERATE(25) > /ROTATION promax(4) . > > ---- > $BKY!!7<B$!J9a@nBg3X7P:Q3XIt!K (Be-mail: hori@ec.kagawa-u.ac.jp > home page http://www.ec.kagawa-u.ac.jp/~hori/ > $BEEOCHV9f (B 087-832-1894( $BD>DL!K (B fax 087-832-1820 > $B!J;vL3<<!K (B > $B") (B760-8523( $B$3$l$G9a@nBg3X7P:Q3XIt (B) > $B9a@n8)9b>>;T9,D.#2!]#1!!9a@nBg3X7P:Q3XIt (B >


Back to: Top of message | Previous page | Main SPSSX-L page