Computers & Geosciences Vol. 9. No. 2, pp. 255-267, 1983
0098-3004/83 $3.00 + .00 1983 Pergamon Press Ltd.
Pnnted in Great Britain.
A METHOD FOR THE TRANSFORMATION OF FACTORS IN FACTOR ANALYSIS PIERRE LEYMA.glE Centre National de la Recherche Scientifique, Sophia-Antipolis, 06560 Valbonne. France and DANI~E FROSSARD Ecole des Mines de Paris, Sophia-Antipolis, 06560 Valbonne, France
(Received 29 June 1981; revised 28 May. 1982) Al~ttraet--A method is proposed for obtaining combinations of factors derived from a factor analysis characterized by a large number of near-zero loadings relative to the original variables. It differs from rotation of factors, which replaces • factors by an equal number, r, of differently oriented factors, in that each solution consists of a single direction in F variable space.
Key Words: Factor analysis, Geochemistry.
INTRODUCTION
where the residuals E are unchanged and
In factor analysis, factor "rotation" methods are used to provide a solution which is easier to interpret than the initial one, with high loadings for some factors and near-zero ones for the others. We propose here to seek the highest number of near-zero toadings. This condition, expressing the independence between some variables and the considered factor, generally fits with the physical reality described by the factor model. On the other hand, there is rarely any good reason for seeking factor ioadings close to + 1. In many situations, the method developed here provides a choice between several in the factor space, whereas classical rotations lead to a unique result that maybe is not always the best. A computer program has been developed, and an example of its use in major element geochemistry is given.
THE PROPOSF.,D METHOD The model for factor analysis is as follows:
where Y is the data matrix, F the matrix of factor scores, A the matrix of factor loadings, and E a matrix of residuals, n, p and r are the numbers of samlSles, variables, and factors. Any factor "rotation" replaces the initial solution
Y=FxA+E
(2)
by a new one:
Y=F* x A*+E
(3)
F* = F x T - 1 A*=TxA,
(4)
._± ta'akj
that is to say a# -
(5)
k ml
T4, x ,) is a square nonsingular transformation matrix. The overall aim of the transformation is to obtain as man)' a~ as possible close to 0 and _+ 1. Here, ~i,e propose to obtain only as many zero a,~ as possible. To do this, we shall consider separately the line vectors V of the matrix T. For one of these vectors, that is to say for a given factor, let I denote the set of variables the factor loadings of which we want to minimize. The criterion used here will be to minimize the function: J(V) = (~~ j,k. , - , v'akJ)2
(6)
under the constraint: ]!VII = 1 which avoids a zero solution and leads to results comparable with the factors obtained by "rotation" of factors We shall note U the vector solution (J(V) is the sum of the squares of the transformed factor loadings we want to minimize) Note ( VA )j = ~ vkakl
(7)
h=l
A normalized vector U exists so that J(U) = 0 if, and only if, (UA)j is equal to zero for every j t h element of I. This condition always can be checked if I includes less than r elements. Therefore, a problem arises only when dealing with a set I of r variables or more. 255
256
P. ~
and D. FaOSS~,D
Consequently, we proceed in two steps: first, we search all the sets I~ of r variables for which it is possible to obtain factor-loadings sufficiently close to zero. Then, we merge the sets lk, when possible, in order to obtain a larger number of near-zero factorloadings. (a) First step, solved by the DETE.RMO program To each set I of r elements, we associate the matrix Mn, x,) consisting of the columns of the matrix A corresponding to the variables belonging to L Then: J(v) =
Itv. M, II'
(8)
A normalized vector U such that J(U) = 0 will exist if and only if UMt = O. We know that such an homogeneous linear system has at-least a normalized solution if the determinant of/141 is equal to zero (Godement, 1963). As this is not the situation, we have to use the following method: each of the (p/r) sets I or r elements are studied in turn (in the example given there are 286 =(13/3)). For each set I, we compute the determinant of the matrix Mt. We choose a small positive number E, noted as EPS in the program. For each set I, leading to a matrix M~ with a determinant inferior to E~, we compute a normalized vector which mi~mizes the function J through the method developed in Appendix 1. Then, we obtain a series of sets I~ and of normalized vectors U~. (b) Second step, solved by the FACTO program: We form new sets I~, of more than r dements by the union of those sets lk which have Uk vectors close to each other. The sets Ik,, I~ . . . . I~ are merged if the vectors Uk~, U~ . . . . Uu are in a O-apexed cone of sul~ciently small angle, that is if:
1 -IK'2>, for i = I, 2. . . . 1
(9)
and j = 1, 2. . . . l, E2 being a small positive real number. For each I~, set, the U~, solution is obtained through the method developed in Appendix 1. Currently, the clustering of solution vectors, and then of minimized variables, is subjective. An improvement of the program may occur by the incorporation of a clustering routine. COMPARISON OF THE RESULTS WITH THOSE FROM AN OBLIQUE "ROTATION"
The methods were tested on the results of a factor analysis performed on the chemical compositions of 78 samples of leucogranites from the massif of Grandrienx (Massif Central, France) (Tables I-4). The proposed method yields 13 solutions, numbered 1 to 13 in Table 5, that is to say 13 possible factors (the coincidence between the number of solutions and the number of variables is fortuitous). Appendix 3 provides an extract of the first step of the calculation, during which the sets I~ of factor loadings which can simultaneously be annuled are searched, and the results of the second step of the program for the 13 selected sets I~,. Some of the solutions obtained by the proposed method are close to one of the factors obtained by oblique "rotation": factor F1 may be compared to solution 6, factor F2 to solution 3, itself very close to solutions 4 and 7, factor F3 to solution 2. This result could have been foreseen, as the number of factor loadings close to zero was, for each factor, at least equal to the number of factors. But in addition, new solutions are obtained: solutions l, 11, 5, 12, 13 and the three almost equivalent solutions 8, 9, and 10. A look at the scalar products of the solutions, given in Appendix 3, shows that one could have employed several different nondegenerated interpretation using one or more of these new solutions, whereas the oblique rotation provides only one possible basis.
Table I. Correlation matrix : $£02
: AL203 : HNO
S[02
l.O00
AL 203
-.554
1.000
MNO
.028
.058
HGO
-.379
.245
CAO
-.223
.082
NA20
.460
-.312
: ~;GO
: CAO
: ~4A20 :
K20
: TI02
:
PF
: FEO
:FE203 : P205
:
C02
1.000 .093 -.201 .034
1.000 .465 -.307
1.000 .i15
1.000
K20
-.451
.570
-.210
.175
-.063
-.541
1.000
TI02
-.559
.398
-.196
.707
.334
-.450
.428
1.000
PF
-.487
.400
.032
.159
-.152
=.620
.360
.296
1.000
FEO
-.263
.240
-.082
.697
.426
-.017
.193
.517
- .048
1.000
FE203
-.284
.229
.192
.013
-.196
-.396
.120
.220
.423
-.531
P205
-.443
.194
-.117
.256
.212
-.306
.053
.351
.108
. 090
. 244
i. 000
C02
-.142
.088
-.051
.161
.160
-.033
.034
.164
-.279
..124
-.125
.084
1.000
1.000
A method for the transformation of factors in factor analysis Table 2. Factor-loading matrix before rotation
SI02 AL203 ~iN0 MG0 CA0 NA20 K20 TI02 PF FE0 F[203 P205 C02
Percentage of information explained
Table 4. Correlation coefficients between oblique factors
FACT I
FACT 2
FACT3
.7797 -.6948 .1874 -.7000 -.2794 .6929 -.5891 -.8323 -.5712 -.4817 -.2951 -.4911 -.2230
.I026 -.1559 -.3246 .4725 .5492 .4191 -.1824 .2041 -.5432 .7701 -.7074 -.0148 .4857
-.0444 -.2375 .4820 .2g26 .2244 .0748 -.4898 .1190 -.1255 -.1875
26.44
15.31
5.93
:
FACT i I FACT 2 I FACT 3 Ii
.4385 .3742 .1344
Consequently, the proposed method gives greater freedom in the search for meaningful solutions. However, it must be established that the new solutions obtained are as meaningful as the factors given by the oblique "rotation". Let us examine for instance factor 3, which seems to express t h e oxidation of iron by a loss of FcO and K20, on a par with a gain of FesO3, MnO, and P~O~. However, it is difficult to appreciate this association, because the behaviour of ferrous iron is dissociated from that of the other cations contained in the octahedrons of biotite. Table 3. Factor-loading matrix after rotation carried out on the initial solution by a method developed by Mallet (1971).
SI02 AL203 MN0 MG0 CAO NA20 K20 TI02 PF FE0 FE203 P205 C02
FACT ]
FACT 2
FACT
.6272 -.7242 .1973 -.1432
-.3373 .0786 -.0136
.8616
-.1295 -.1118 .5880 .0896
• 1862
.6672
-~031B
.7862
-.1611
-.4685
.0045 -.1528 .6270
-.7837
-.1838
•o. 7770
-.0447 -.3946 -. 2049
.1527
Percentage of information explained
20.18
-.3392
.0593 .1652
.6596 -.0755 .4682 .5374
%5058 .7503 .3798
".0888
16.60
257
9.36
FACT I
FACT 2
i.O000 -.2480 1.0000 -.0738 -.2338
FACT 3
1.0OO0
Solution 1 more appropriately fits what is known of granite alteration, because it shows a loss of FeO, MgO, TiO2, NaO, CaO, and CO2, linked with a gain of Fe2Oa, MnO, and H:O. Solution 1 also is more satisfactory when one calculates the number of cations removed during the reactions suggested by the factors under interpretation (Table 6). It effectively shows an oxidation with cation removal, whereas factor 3, on the contrary, seems to involve cation intake which is illogical. Therefore, the new solutions obtained by the proposed method can be subject, at least in some situations, to a more appropriate interpretation than the ones from an oblique "rotation". This may prove a normal result, as we have given up an unprofitable constraint, that previously led to undesirable consequences. The solutions obtained may be ordered following a given mathematical criterion. However, the best criterion remains the relationship of factor-loadings to known geological parameters: in this situation, the parameters are the numbers of miUications involved in a known equilibrium. As for the factor-scores, one must remember that their values depend not only on the factor-loadings of the corresponding factor, but on the whole factor-loading matrix. If, for a single factor, factor-loadings are devoid of significance, all the factor-scores also will be devoid of significance. The proposed method does not yield necessarily several possible interpretations of the factor space; the number of solutions obtained may be less than the number of factors, preventing one from building a complete interpretation. In this situation, the factorloadings still can be interpreted as in Table 6. However, the computation of factor-scores is impossible unless the interpretation is completed with some arbitrary vectors, and the values of all the factorscores depend on these arbitrary vectors. This arbitrary aspect exists in all the "'rotation" methods,
Table 5. Comparison of the factors FI, F'2. F3 obtained by oblique factor "'rotation" and the solution 1-13 obtained by the proposed method
FI S102 AL203 MN0
MGO CAO NA20 K20 TI02 H20 FE0 FE203 P205 C02
6
.62 .73 -.72 -.66 .19 -.02 o.14 -.40 .18 .00 .78 .80 -.77 -.56 -,46 -.63 -.78 -.75 -.04 -.03 -.39 - . 6 3 -.20-.46 003
F2L3 -.33 .07 -.01 .86 .66 .00 -.I~ .62 -.18 .65 -.07 .46
4
7
F31
-.29 -.34 .45 -.12 ,03 .10 -.21 -.11 .04 -.00 .03 .58 .78 .81 -.85 .O8 .60 .61 -.60 -.03 .01 -.03 .15 -.16 -.19 - . 1 2 .00 -.33 .55 .60 -.69 .05 -.17 -.13 .01 .16 .55 .60 -.62 -.60 -.02 -.03 ~-.02 .75 .44 .45 -.50 .37 .48 .49 -.48 -.OG
I .00 -.24 .68 .05 .00 .00 -.45 -.03 .00 -.47 .61 .30 -.Of
-.01 -.00 -.42 .51 .53 .29 -.00 .30 -.42 .85 -.72 -.00 .48
5" -.24 .33 -.58 .45 .35 -.05 .41 .43 -.05 .84 -.61 -.01 .35
I-.23 -.06 .38 .50 .33 -.07 -.33 .35 -.02 .01 .43 .4~ .23
8!
'110
.43 .50 .44 -.61 -.65 -.6.2 .41 .43 .43 -.05 -.20 -.10 .14 .04 .10 .54 .57 .54 -.76 -.77 -.76 -.33 -.44 -.36 -.54 -.54 -.53 -.24 -.36 -.29 .02 .03 .04 .01F -.05 -.00 .09i .00 .05
L
12
13
-.44
.20
.22 .42 .31 .02 -.47 .00 .37 .43
-.44 .33 .27 .35 .41 -.65 -.02 -.47
-.29 .80 .51
.02 .02 .19
-.03
.25
258
P. LEYMARIEand D. FaOSSARD Table 6. Computation of the number Nj of displaced millications for solution 1 and factor 3 Nj = (akj x (~j x i O 0 0 ) i M ,
In order to make comparison easier, signs (arbitrary) have been changed for solution 1. This factor represents an equilibrium between intakes measured by positive factor-loadings and losses measured by negative ones, which have to be compared. To add the respective mean to complete the "'destandardization" procedure could only impede the geochemical interpretation. i
[
FeO
MgO
Ti02
Fe203
MnO
-.50
.08
.05
.75
.58
" -.85 ti
-.51
-.30
.72
.42
.191
.014
i
I
F3
Factor loadings a kj
: I
Solution I
Standard deviation ~j
I
'
.186
.
i04
.039
t
I
Molecular masses-M. j
'J 71.8
40.3
79.9
159.7
IJ
F3
Number nj of displaci'd'millimoies and cations
' i i
-1.29
.20
.02
70.9
.89
[i.79Fe3+)
.11
I
Solution [ -2.20 i
i
a l t h o u g h it may not be a p p a r e n t to the user; if they provide a complete analysis, it is often by using vectors which have no physical meaning and, therefore, e n d a n g e r any a t t e m p t to interpret the factor-
scores.
-1.31
-.14
.86
I)'1.72Fe3+",
.08
Therefore, setting b,t = Z akjao: J(V)=
~
vkvlbkr
k,l~ 1
In terms of the (r x r) matrix B composed of elements bk~, the function J can be expressed as: REFERENCES
J ( V ) = V'BV.
Cea, J., 1971, Optimisation th~orie et algorithmes: Dunod, Pards, 227 p. Godement, R., 1963, Cours d'atgebre: Hermann, Enseignement des Sciences, Pards, 664 p. Joreskog, K. G., Klovan, J. E., and Reymcnt, R. A., 1976, Geological Factor Analysis: Elsevier, Amsterdam, 178 p. Mallet, J. L., 1971, Contribution ~i I'&ude des facteurs non onhogonaux en analyse factorielle: Revue de statistique appliquee, v. 14, no. 1, p. 57 ~i 76. Wilkinson, J. H., 1965, The algebraic eigenvalue problem: Clarendon Press, Oxford, 662 p.
APPENDIX
!
Numerical method to compute the solution vector Let A be a matrix (r × p) and let 1 be a set of distinct indices ranking I to p. We seek a vector U in R' which minimizes the function J defined by:
/
(P) J ( V ) =
vka~l jet \k - I
/
under the constraint
li vii
= l
We develop now the expression J:
j~l\k-I
]
/\1=1
i
kl~t
M i n ( V ' B V ) = 2 = U'BU
li vll = I. where ,i is the smallest eigenvalue of the matrix B, and U a normalized eigenvcctor associated with 2. This results from the existence of an orthonormalized basis of eigenvectors of B, and from the fact that all the eigenvalues of B are positive. We can notice that. if U is a solution of (P), then ( - U) is one too. Conventionally, U and ( - U ) will represent the same solution. We deduce a further theorem: Every normalized eigenvector U associated to the smallest eigenvalue ~. of the matrix B is solution of the problem (P), and J ( U ) = 2. If ~. is a single eigenvalue, then (P) has a unique solution U. Numerically, we compute 2 and U by the Jacobi method. We recall that the Jacobi method allows the computation of all the eigenvalues and eigenvectors of a real symmetric matrix {Wilkinson, 1965). The numerical results show that, generally, ~. is a single eigenvalue. Nonetheless, the program foresee the occurrence of eigenvectors associated with neighbouring eigenvalues of ). (if they exist), that is to say the eigenvalues u such that: #-2
By permuting the Z signs, we get:
k.t- I
We notice that matrix B is positive and symmetric. From a known theorem, if B is a positive, real, symmetric matrix, then:
/
Ej being chosen by the user and entered EPSV in the program.
A method for the transformation of factors in factor analysis
259
We also could consider ~olving (P) by using the gradient with projection (Cea, 1971); however, the theoretical convergence of this method has not been proved for our situation. APPENDIX 2 Each of the DETERMO and FACTO programs uses the following subroutines. VPMIN MSPRO CALFT PRODU SPROD Only the DETERMO program uses the DE"TERM sub-routine. In both programs, the number of factors is limited to 5. and the number of variables to 20. In DETERMO, the number of solutions is limited to 150, and to 20 in FACTO. $1.1BROUTI NF. D E T E R M ( A , N , D E T e E P $ ~ OIMENSInN AFt)
C
DETERM COMPUTES THE DETERMINANT OF A MATRIX OF DIMENSION N
I
E 3
5
&
DET=J. JJ=-N DO 6 J = I , N JY:,I÷1 JJ=JJ*N÷1 EMAX=O. IT=JJ-J DO p I = J , N IJ=TT+! IFCABSCEMAX~-AB$CA(IJ)))I,2r2 EMAX=ACIJ) IN~=I CnNTINIJE IF(AB~(~MAX)-EP$)3,3,~ DET=O. R~TIIRN DFT=DET*EMAW I F ( J . N E . I N D ~ DET=-DET I F ( J . ~ D . N ) RETURN II=J*N*(J-2) IT=TNn-j DO ~ K=J,N IT:II÷N IJ=II*IT R:ACIT) ACIT~:ACIJ) ACIJ):R ACII)=AflT)/E~Ax CONTINUE IO=N*(J-t) On 6 IK=JY,N IKK=In*IK IT=J-TK nn 6 JK=JY,N IKJ=N*(JK-])+TK JKK=IKJ÷IT k(IKJ)=A(IKJ)-A(IKK)*A(,IKK) CONTINUF RETURN EN~
FACTO program
OIMENSION USOL(20,5),PROO(%qO) DIMENSION t f S , 2 0 ) , S I J ( 2 0 ) , I V R ( E O )
I. 2. 3.
C
5. b. 7. 8.
C C C C
g. 10.
C C
IR : NLtMRER OF FACTORS JP : NUMRER OF V A R I A B L E S t | FACTnR°LOADINGS MATRIX NV : NIJMRER nE 8OLIJTTON VECTORS TO CONPUTE EPSV : RELATIVE V A R I A T I O N OF THE S~ALLEST EIGENVALUE EPSJ : CHOSEN ACCURACY IN THE JACOBI METHOD NVR : NUMBER OF VARIABLES TO GATHER
260 11. 12. 13. 14o ~5. lb. 17. 18. 19. PO. ~1. P2.
P. L ~ M A i ~ and D. F R o ¢ ~ C C C
IVR : INDEXES OF VARTABLE~ TO GATHER FOR EACH CHOSEN GATHERING, THE SOLUTION VECTOR IS C0UPUTED 8Y VPMIN
REAO(IOS,SoI)IR,JP IRI=IR-I 00 5 I:I,TR REAh(IOS,5OE)(AfI,J),J=I,JP) 5 CONTINUE ~RITE(IOS,Tq9) On 6 J = t , J P ~RITEflO8,8OO}CA(I,J),I=I,IR) CONTINtJF REA~(IOS,~O3)NV,EPSV,EPSJ N~OL=O NI=~ N2=90 N~=N2*(N2-I)/2 N,=t5 DO 10 IN=I,NV NSOL:NSOL÷I REA~(10S,~01)NVR REAh(IOS,SOI)(IVR(J],J=t,NVR) NRITE(10~,801}NSOL,(IVR(J),J=I,NVR) CALL VPMIN(A,NVR,/vR,TR,JP,$1J,FPSJ,EPSV,N~OL,USOL,~ROO,NI,N2,N~,N
~_~1. 25. P7. ?8. ~0. ~1. X3.
10 CONTINUE CILL ~PROD(NSOL,PRO0,N3) 501FnQM~TC|SI31 502 ~ R u a T C l O F 8 . 5 ) 503 FnRMAT(I~,~FI0.7) 7~9 FOR~AT(~IW,'FaCTOR-LOAOING$ 800 F~RMAT(~(IOW,F8.5))
~7. xS. t40, (11. t42. t~3. tJ(I. 1'5. tab.
MATRIX',///)
• "Tr4nEXES OF vARIARL~$ TO V I ~ I V I T E ' , / , 7 x , I ~ , I , X , I 5 1 6 ) $TO~ ENr)
DETERMO program 0IMENSION A ( 5 , 2 0 } , S I j ( E O ) , O ( 2 ~ ) , I V ( 2 0 ) DIMENSION U$OL(150,5),PROO(11175)
le
2. 3. 5. b. 7. 8, c). O. 1. 2. 3. Q, 5. 6. 7. 8. 9. PU. ~1. ?2. 23. c7~,. ~5. ?7. ~B.
C C C C C C C C C C C
ZR : NUMRER OF FACTORS JP : NUMBER OF VARIABLES A : FACTOR°LOADING$ MATRIX EPSO : AN INPUT PARAMETER ~HICH IS T~E THRESHOLD IN THE SUBROUTINE OETFR~ EPSV : RELATIVE VARIATZON OF THE $~aLLEST EIGENVALUE EPSJ : CHOSEN ACCURACY IN THE JACOBI METHOD EP$ : AN INPUT PARAMETER USED AS FOLLOWS : IF THE DETERMINANT COMPUTED RY OETERM IS SMALLER THAN EP$, THEN WE COMPUTE THE CORRESPONDING VECTOR OF TRANSFORMATION BY VPMIN
5
b
10 35
~0. ~1. 32. 1;3. 1;LI. ~5. 1;b. ~7. X8. 1;9.
15
REAO(IOS,501)IH,JP IRI=IR-1 00 5 I = I , I R REAO{IO5,502)(A(I,J),J=I,JP) CONTINUE WRITE(IO8,7qq) O0 6 J = I , J P NRITE(IOS,BOO)C*(I,J),I:I,IR] CONTINUE REAO(IOS,503)EPSD,EPSV,EPSJ,EP$ NSOL=O IV(t)=1 I=2 IVCI):IV(I-t)÷t IF(I.NE.IR)I=I÷t;GO TO 10 DO 15 I = t , I R 00 15 IK=I,IR D(IK+(I-I)*IR)=A(IK,IV(1)) CALL DETERM(D,IR,DET,EP$O) I F ( A B $ ( D E T ) . G T . E P ~ ) G q TO 20 N$OL=NSOL÷I ~RITE(10B,80i)N$OI , ( I V ( 1 ) , I : I , I R ) ~RITE(10B,802)OET N1:5 N2=tSA N3=N2*(NE-t)/2
A method for the transformation of factors in factor analysis aO. al. ~2. a3. aS. ab. a7, a8, ~J9,
'~0. 41. '~2. 4Q. 46,
CALL VPMIN(~,IR,IV,IR,jP,$1J,EPSJ,EPSV,NSOL,USOL,PRQI),NI,N2,N)~NI) 20 IF(IV61).EQ.JR-IR+I)GO TO 25 I=2 30 IF(IV(1).EQ.JP-IR+I)IV(I-I)=IV(I-I)÷I+GD TO I0 IF(I.NE.IR)I=I+IrG0 T0 30
IV(IR)=IV(IR)+! GO TO 35 25 CALL SPROO(N$0L,PROD,N3) 501FORMAT(213) 502 FORMATCIOF8.5) 503 FORMAT(~FIO.7) ?9g FORMAT(]]X,'FACTOR-LO~DING5 M~TRIX',///) 800 FOR~AT{SCIOW,F8.5)) 801 F O R M A T ( / / / / / , ] X , ' N B SOLUTIOK',IOX, *'INDEXES OF VIRIARLES TP PlNIPI~E',/,TX,13,1qX,15Tb) 802 FORMAT(IX,'DETER~INANT = ',EIO.3) STOP END
VPMIN program Io
2. 3. 5. 6. 7. 8. q, 10, II.
i5. 17. )B. lq. 20. ~2.
P(~.
XO. 31. X3. 36. XS. aO. ~I.
4~7~ "8. ~I. q3. ~. ~5. ~7.
SUBROUTINE VPPIN(A,NVR,IVR,IR,JP,SI,I,FPSJ,EPSV,~SnL,USOL,PROD,NI,N *2,N3wNQ) DIMENSION B(15),CfS,5),SIJ(20),A(%,PO),D(25),IISOL(N2,NI%,PROUtN~) DIMENSION IVR(N~) DO 5 J = l , J P 5 SIJ(J)=O. DO 10 J=I,NVR I0 $1J(IVR(J))=1. K=O DO 15 I = I , I R O0 15 I K = I , I K=K*I CtI,ZK)=O. DO 20 J = l , J P 20 C(I,IK)=C(I,IK)+$1j(J)*A(I,J)*AtlK,J) BtK)=C(I,IK) C{IK,I)zB(K) 15 CONVlNUE KOD=O CALL MSPRO(8,D,IR,KOD,EPSJ) I=1
IMIN=I BMINz8(1) O0 75 IK=E,IR I:I+IK B(IK)=B(1) 25 IF(B(IK).LT.B~IN)~MIN=B(IK)iI~IN:IK wRITE(IO8,802)BMIN IK=(IMIN-I)*IR 00 30 I=I,IR 30 U$OL[NSOL,I):D(I~IK) IF(NSOL.EQ.I)GO Tn ~5 CALL PRODU(IR,NSOL,USDL,PROD,kl,NE,N3) 3~ KI:IK+I K2:IK+IR WRITE(tO8,803) ( D ( T ) , I = K I , K 2 ) CALL C A L F T ( J , $ 1 J , n , I R , J P , I K ) DO aO I : I , I R Ir(I.EO.I~IN)GO TO ~o
IF(~(1)-BMIN.GT.EPBV*BMIN)GO TO QO NSOL=NSOL+I W~ITECIOB,80~)NSOL,B(1) IK=(I-II*IR 00 ~S K=I,IR ~5 USOL(NSOL,K)=D(K+IK) CALL PRODU(IR,N$OL,U$OL,PROD,KI,NE,N]) KI=IK÷I K2:IK÷IR wRITE(|OSrSO3)(O(K),K=KlrK2) CALL C A L F T ( A , S I J , h , I R , J P , T K ) aO CONTINU£ 802 FORMAT(/,I~W,'THE SMALLEST EIGENVALHE : " , 3 X , E l I . 5 ) 803 FORMAT(/,I~X,*$OLLITION VECTOR CORRESPONDING',/,
*lax,5(F6.a,SX)) 80~ FORMAT(/,3X,'NB $~LUTION',/,?W,13,1~X,'EIGENVALUE : ',3W,F11.~) RETIIRN END
261
P. L~-Y~u~m and D. Faoss,t.ao
262 Subroutine CALFT 1. ~. 3.
SURROHTTNF CALFT(a,$1J,n,IR,jP,IK) C C
ft. b. 7. ~. q. 10. 11o IE.
DTMENSION A ( 5 , 2 0 ] , S T J ( E O ) , O ( E S ) , A O ( ~ O ) ~ 5 J=I,JP AO(,I)=O. DO I0 I : t , I R 10 AOCJI=AOCJ)+ACI,J)*D(I~IK~ 5 CONTINUE 801 w ~ I T E ( 1 0 8 , 8 0 I I ( ~ O ( J I , J = t , J P )
FORMAT(I,IQY,°TRANSFORNED FACTOR**/,|IX~20(FSoS,IX)~
~3. ~. 1. 2. 3. ~. 5. h. 7. 8.
R~TtlRN END SUBROUTTNE PROOU(IR,N$OLwU~0L,PR00,NI,NE,N3) C C C C
PROOII COMPUTES THE SCALAR PRODUCTS OF THE NSOL TH SOLUTION WITH THF (N~OL-I) FoRMFR COMOUTED SOLUTIONS. DIMENSION U S O L ( N 2 , N I ) , P R 0 0 ( N S ] IK:(N~OL-I)*(NSOL-2)/2 00 5 ~ N : I , N S O L ' t PR00U=0. 00 10 I : t , I R 10 PROOU:PROOU*USOL(NSOL,I)*U$OL(IN,I) PRO~(TN*IK)=RROOU 5 CONTINUF RETURN ENO
9.
10. 11. 12. 13. 14, ~5.
1. 2, 3, ~° 5° b. 7. 8. q. Io. 11. ~8. I~. I~. ~5. lb. 17. I~. lq. PO.
CALFT ~UMPUT~S THE TRANSFORMED FACTOR,
SUBROUTTNE SPROn(NSOL,PROO,NS) C C C
SPRO0 WRTTES RESULTS OF SCALAR PROOUCTS OF ALL THE cnHPuTEN SOLUTIONS. OIHENSI'ON PROO(NS) I=0 IP=I8 J=IP w~ITE(I08,801) 5 IF(J.GT.N$OL-1]J=NSOLot WRITE(IO8,802)(K,K=I÷IoJ) 00 10 K=I+E,N~OL KI:(KeI)*(K-2)/~ 10 w R I T E ( I O S , 8 0 3 ) K , ( P R O O ( K I e I K ) e l K = I e I , N I N O ( j , K - 1 ) ~ I F ( J . N E , N S O L - I ] ~ : J : J = , I + I P e G O TO 5 8 0 1 F O R N A T C / / / / / / / , 4 9 X , * ~ C A L A R PR~OIICT ~F CnMPUTED ~OLIJTIONS*} 802 FORMATCII/,~X,18C4XwI~)) 803 F O R M A T ( I X , I ~ , 1 8 ~ E X , F S . 2 ) ) RETURN END
Subroutine MSPRO c SUSROIITTNE MSPRO(A,SeN,KOnw~P~} nTMrNS[~N-AfI~,~(1)
MSPRO COMPUTES ALL THE EIGENVALUES AND ALL THE EIGENVECTORS OF A SYMMETRIC MATRIX BY THE JACOBI METHOD
I~(KOn.EO.I) II=-h DO 1 J = I , N II=II+N DO I T = I , N
GOTO 2
A method for the transformation of factors in factor analysis IJ=II*I B(IJ)=0. IF(T.NE.J) GOTO B(I,I)=I. CnNTINUE
1
RN=O. DO 3 I = I , N DO 3 J = I , N IF(I,FQ,J) GOTO 3 IJ=I÷(J*J'J)/E RN=RN*A(IJ)**2 CONTINUE I~(RN.LE.EP$) GOT0 lq RN= $ORT(E.*RN) RX=RN*EP$/ FLOAT(N} INT=0 SEUIL=RN SEUIL=REUIL/FLOAT(N) 5 L=I 6 M=L+I ? MI=(M*M-M)/2 LI=(L*L-L)/9 LM=LeMI IF(ARS(A(LV)).LT.SEUIL) GOT0 15 IN1:I LL=LI+L MM=MI÷M P=,~*(A(LL)°A(MM)~ Q = - A ( L M ) / $ORTCACI. M ) * * 2 ~ P * * 2 ) I F ( P . G E , E P S ) GOTO 8
8 $=at SORT(E,*(1.*f 55=$*$ C= ~ Q R T ( 1 . - $ S )
SgRT(1.-O*tE})))
$C=$=C
q
10 II 111 12
ILI=N*L-N IMI=N*M-N DO 1~ I = I , N ll=(Itl-I)/P I F ( I . K 0 . L ) ROTO IX IF(I-M) q , I ] , } 0 IM:~I*I GOT~ 11 IM=II*M I F ( I . R E . L ) gOTO I11 IL:LI*I GOTO 12 IL:II+L P=A(IL)*C-AfIN)*$ A(IM)=a(IL)*~÷A(IW)tC A(IL)=P
13 I~(KOn.EQ.I) GOTO lq ILB=ILI÷I IMB=I~I+I P=B6ILB)*C-B(IMB)mB B(IMB)=B(IL~)*S*B(IWB)*C B(ILB)=P I~ CONTINU£ P=2.*A(LM)*~C Q=A(LL)tCC*A(MM)*SS-P P=A(LL)*$$*A(uM)*CC÷P A(LM)=(A~LL~-A(MM))*SC*A(L~)*(CC'S5) A(LL)=Q A(MM}=P 15 Ir(w.EQ.N) GOTO 16 M=M*I GO TO 7 Ib I ~ ( L . F Q . ( N - I ) ) GOTO I? L=L÷I GnTO 6 17 IFfINT.NE.I) GOTO I~
263
264
P. ~
and D. F R O ~ . D
INT=O GOTO 18 ?F(SEHIL.GT.RW) GnTO 4 I c) CONTINUE RETURN ENr) AdPPF.MDIX 3 EXTRACT OF THE RESULTS OF THE FIRST STEP OF THE CALCULATION, AND RESULTS OF THE SECOND STEP OF THE PROGRAM FOR THE 13 SELECTED SETS I'M.
Subroutine D ETERM NR $OI_UTINN I DETERMINANT =
INOEXES OF VARIABLES TO wINIMIZE 1 2 7 .]6~E-OP
THE SMALLEST ETGENVALUE :
.~q518E-O=
SOLUTION vfcTOR CORRFSPONDING TRAN3FNRMEO FACTOR -.003 -.006 -.~h .500
NR ~OLUTION 2 DETERMINANT =
.52q
.EQ3
.On3
.2q3 - . ~ 2 1
.8~]
-.7~0
-.01~
.~77
INDEXES OF VARIABLES TO MINIMIZE 1 2 12 °,664E-02 TME ~MALLE~T EIGENVtLUE :
.l~gq3F-n3
$OLUTInN vECTOR CORRESPONDING -.14qq .q735 -.1726 TRANSFnRMEO FACTnR .51] -.OOq - . n 0 7 -.4E7
.2ql
INOEXES OF VARIABLES
NR SnLUTION O~TERMINANT :
.518
-.005
.]03
-.~22
TO ~INIMIZE
-,23qE-01 THE SMALLEST [IGENVkLU[
:
.104~]F-02
$OLUTINN VECTOR CORRESPONOING .1150 -.3587 .qE63 TRANSFORMED FACTOR .01E - , 2 4 4
NR ~OLUTION
.584
.OR!
-.OOt
-.~6
-.059 ,"~w.~5
.b26
.2q5 - . 0 7 5
.b37
.Eqo -.O~q
INDEWES OF VARIABLE$ TO WINIMIZE
4
X
D~TFRMINANT =
-.OR1
~
6
-.t¢4E-01 THE SMALLEST ETGENVALUE :
.E71~OE-O]
SOLUTION vECTOR CORRFSPONOING .fIR8 -,3~17 .q166 TRANSFORMED FACTOR .Or3 - . 2 a 1 .588 .005
-.037
-.009
-.~a9
-.068
.02a - . 5 2 3
A method ~ r t h e t r a n s ~ r m a t i o n of ~ c t o r s i n ~ctoranalysis
265
FACTO~-I. OADIN~S WATRIX
.77970 -,~0 ,t~?aO -.70000 -.27gaO ,6~2o0
,I02~0 -,I~SQ0 -.32~60 ,~7150 ,5a920 ,~1910
-,0a~a0 -,237E0 .~200 ,2o2~0 .2~a0 .O?a~O
-.~3230 -,5?IP0 -,a8170 -.2g510 -.~q110 -,223~0
.20~I0 -,5~320 ,77010 -.707a0 -,oI~BO ,~8570
.11gnC -,12550 -,I~750 .~3850 ,37~P0 ,I~0
N~ SOLUTION I
INDEXES OF VARIABLES TC ~IKIMIZE I 2 ? 12
THE SMALLEST EIGENVALtlE
:
.16SagE-03
SOLUTInN VECTOR CORRFSPONDING -,1507 .g726 -.1772 TRANSFORMED FACTOR -.010 -.005 -.~2q .512
NB ~OLUTION 2
.536
.2qO - . 0 ~ 2
.303 - . ~ 2 0
INnEXES OF VARIABLES TC ~INIMITE 1 ~ 5 b 8
IME SMALLEST EIGENVALUE :
.855 - . 7 ~ 1
-.OO?
.~82
13
.7010~E-02
SOLUTION VECTOR CORRESPONDING .O~q -.372~ .g~15 TRANSFORMED FACTnB ,001 -,241 ,577 .055
N~ SOLUTION 3
.007
,002 -,~59 - . 0 3 5
.Or}2 - . Q ? 2
.613
.3rig - . 0 ~ 2
INDEXES OF VARIABLES TO vI~IMIZE 2 3 6 ]1 THE SMALLEST EIGENVALUE !
.3MBalEo02
SOI. UTION vECTOR CORRFSPONDING -,~213 .6173 .66~
TRANSFnRMED FACTOR -,2q5 .O~g .O~] .780
SOLUTION
,606
.016 - , l q O
.55b -.178
.55a
-,021
.~6
INDEXES OF VARIABLES TC WlhIM]TE 2 3 ~ 7 11 THF SMALLEST EIGENVAtt.IE :
,2~Sa5F-01
SOLUTION vEcTOR CO~RESPONDING
TRAN~FORME~ FACTnR -,3~6 , I 0 ] -,00~ ,817
,b17 - , 0 ~ 3 - , 1 2 0
,bOg - , 1 3 5
°b06 o.033
,a~q
,"Q5
P. L ~ , ~ a n d
266
D. F~OSSm~D
INDEWE$ OF VAR?ASLE$ TO uINIMI~E 2 6 q I0
NR ~OLUTION 5
TH~ SMALLEST ETGENVALLJE :
,ga2~aF-O2
SOLUTION vECTOR CORRESPONOING -.'2607 ,0887 .~&13 TRANSFORMED FACTOR ,3~6 .506 -,~37 -.061
,337
-.072
-,333
,350 -.020
.Ola
.~36
.~RB
.230
-.034
-.btO
-.Q61
,0)2
.018 - . b 2 7
-.02g
-.5~2
-.Q~Q
INDEXES OF VARIARLE$ TO MINIMIZE 13 3 5 10
NR SOLUTION b
,2q360E-02
THE SMALLEST EIGENVALUE : SOLUTION VECTOR CORRE$P0NOING .~722 .q~5 -.0670 TRANSFORWE~ FACTOR
,7]]
-.~66
-,02~
-.q02
,007
,802
-,5~q
-.b35
-.753
INDEXES OF VARIARLE8 TO MINIMIZE 11 3 7 9
NR SOLUTION 7
,22630E-02
THF SMALLEST EIGENVALLIE : SOLUTION vFcTOR CORRESPONDING
.6211
-,5~9P
TRANSFNRMEO FACTOR .033 -,859 °,2t~
.qSl
-.5~q2 -,80Q
,155
.005 -,6qb
INDEXES OF VARIABLES TO MINIMIIE w 11 12 13
NR SOLUTION 8
THF SMALLEST EIGENVALUE :
.12109E-01
SOLUTION VECTOR CORRESPONOING .5663 ,2271 .79~3
TRANSFORMED FACTOR -.b17 ,~I~ - . 0 5 7
,430
NR SOLUTION q
.lqq
,5a7 -,763.-,331
-.5a6
-,2~b
.020
.015
.OqI
-.Sal
-.3M8
o0~7 - o 0 ~ 8
.007
• INnEXE$ OF VARIABLES TO MINIMIZE 5 11 12 13
THE SMALLEST EIGENVALUE :
,66101F-02
SOLUTION VECTOR CORRESPONDING ,6720 .l)qq ,7307
TRANSFORMEO FACTOR ,504 -.b~9 ,q3q -.200
NR ~OLUTION 10
.042
.571
-.77b
-,~8
INOEXE~ OF VARIARLE$ TO MINIMIIE a 5 11 12 t3
THE SMALLEST EIGENVALtJE
:
.27qqSF°O!
A method for the transformation of factors in factor analysis
267
SOLUTION vECTOR CORRFSPONDING
,~X5
.17~n
.7858
TRANSFORMED FACTOR .a~b -.6Pb .a33 -,10~
NB SOLUTION 11
,106
,5~3
-.76h
-.3h5
-.S3E
-.2qq
.0ab
-.0n0
.0~8
-.051
.S~?
-.613
-,015
.3~2
.n38 - . E 9 0
.80b
.51E - . 0 3 ~
.0~7
.0P2
.lq8
INDEXES OF vARIABLES TC vlhI~IZE b g ]E
THE SMALLEST EIGENV~t_UE :
.b1256F-~E
SOLUTION VFCTO~ CO~RFSPONDING -.~3~2 .6~bO -.5838 TRANSF~RM[D FACTOR -,E~E ,333 -.5~5 .~57
N~ ~OLtJTIf~ 12
INDEXES'OF 5
.367
-.0~7
.~17
.~E
VAR)A~LES TC u I ~ I ~ I ~ E 7 13
THF SMALLEST EIGENVALIIF : ,lq2~bF-n2 SOLUTION VECTOR CORRFSPONOING -.ab~1 -.~7E ,73qi TRANSFORMED FACTOR
-.~5
.E?~
.~?7
.31E
.028 - . ~ 7 1
.001
.]Tb
INDEXES OF VIRIABLF5 TC ~ I ~ I M I Z E 8 10 ]1
N~ ROLUTION 13
THE SMALLEST EIGENVALUE
:
.11563[-0Z
SOLUTION vFCTOP CORRESPONDING ,~539 ,~07~ ,8772 TRANSFORME~ F~CTOR
.EOl
-.~
.3~8
.271
,350
.~12 - . b ~ ,
-.02~
-.~7~
.25q
SCALAR PRODUCT OF COMPUTE~ SOLUTIONS
I
2 3
7 8 0 1o
o.50 .5~. .5~ -,Oil ,35 - .5~ .,Ot~ -,11 -.o6
~2
-,5"~
5
*STi)P*
0
2 °~ .32 °~5 -.~3 -.P8 ,73 ,7] .7~ -.~I .~1 .72
3
1.00 ,gO -,11 -.q7 .~3 .2~ .3~ .2P .3q ,73
~
.77 -.17 -.q9 .3~ ,lg .~9 .?9 .37 .~6
5
-.~5 -.7~ .b3 ,5~ .6P -.3Q .7c .81
~
.31 ,~5 ,60 .~5 -.nl -.~q .3k
?
-,21 -,0~ -.I~ -.3X -.a~ -.~
~
,gq I.o0 -.~S .~1 .Q3
9
.9q -.b~ .17 .~6
In
11
-.~o .~2 .01
-.5~ -.3~
12
.~3