FCOEF


   more...

Computes a matrix of factor score coefficients for input to the routine FSCOR.

Required Arguments

ANVAR by NF matrix of unrotated factor loadings. (Input)

COV — The variance‑covariance or correlation matrix of order NVAR from which the factor loadings were obtained. (Input)
COV is not used and may be dimensioned of length 1 if IMTH = 2 or 5.

TNF by NF factor rotation matrix or transformation matrix. (Input)
If the image method is being used, then routine FIMAG needs to be called after the rotation routine to obtain the image transformation matrix. TI is then input for T in FCOEF. If factor score coefficients for the unrotated loadings are desired, T should be set to the identity matrix prior to calling FCOEF.

SCOEFNVAR by NF factor score coefficient matrix. (Output)

Optional Arguments

NVAR — Number of variables. (Input)
Default: NVAR = size (A,1).

NF — Number of factors. (Input)
Default: NF = size (A,2).

LDA — Leading dimension of A exactly as specified in the dimension statement in the calling program. (Input)
Default: LDA = size (A,1).

IMTH — Method to be used to obtain the factor scores. (Input)
Default: IMTH = 1.

 

IMTH

Method

1

Regression method

2

Least squares method

3

Bartlett method

4

Anderson and Rubin method

5

Image score for image analysis

See the Comments for a table of the methods that are appropriate for a given type of factor extraction and rotation.

LDCOV — Leading dimension of COV exactly as specified in the dimension statement in the calling program. (Input)
Default: LDCOV = size (COV,1).

LDT — Leading dimension of T exactly as specified in the dimension statement in the calling program. (Input)
Default: LDT = size (T,1).

LDSCOE — Leading dimension of SCOEF exactly as specified in the dimension statement in the calling program. (Input)
Default: LDSCOE = size (SCOEF,1).

FORTRAN 90 Interface

Generic: CALL FCOEF (A, COV, T, SCOEF [])

Specific: The specific interface names are S_FCOEF and D_FCOEF.

FORTRAN 77 Interface

Single: CALL FCOEF (NVAR, NF, A, LDA, IMTH, COV, LDCOV, T, LDT,
SCOEF, LDSCOE)

Double: The double precision name is DFCOEF.

Description

Routine FCOEF computes factor score coefficients that may subsequently be used in computing the factor scores in routine FIMAG. Five options for computing the coefficients are available according to the input parameter IMTH. The method that should be used depends upon the method used in extracting the factor loadings. See the Comments section for values to use for IMTH when various methods of factor extraction are used.

Let S denote the covariance (or correlation) matrix from which the factors were obtained, let β denote the factor score coefficients, let U2 = diag(S  AAT) denote the unique error variances, and let B = AT denote the rotated factor loadings (if coefficients for the unrotated loadings are desired, then B = A). The various methods for computing the factor score coefficients are discussed in detail in Harman (1976, Chapter 16) and are given as follows:

1. The regression method may be used with any method of factor extraction and rotation (but not with image analysis). The coefficients are computed as follows:

 

2. The least‑squares method may also be used with any method of factor extraction and rotation (but not in image analysis). The factor score coefficients are computed as

 

Note that estimated coefficients in the least‑squares method yield different factor scores depending upon the scale of the observed variables. In particular, factor scores computed from standardized data (i.e., for the correlation matrix) will be different from factor scores computed from the raw data (i.e., from a covariance matrix). Generally, the differences will not be great. These differences are not observed in any of the other methods.

3. The Bartlett (1937) method may be used with common factor models only. The coefficients are computed as

 

4. The Anderson and Rubin (1956) method may also be used with common factor models only. It is a modification of the Bartlett method where the modification is used to insure that the factors obtained are orthogonal. The factor score coefficients are computed as

 

5. The image method is appropriate for image analysis. In this method, the coefficients are computed as

 

where BI is the image score coefficient matrix, and TI is the image transformation matrix (the matrix TI in routine FIMAG).

Harman (1976, pages 385‑387) discusses choosing a method for computing factor score coefficients. According to Harman, the most desirable properties of any of the methods can be summarized as follows:

  • Validity—The estimated factor scores should have high correlation with the population factor scores.

  • Orthogonality—The estimated factor scores should not correlate highly with one another.

  • Univocal—The estimated factor scores should correlate only with the corresponding true factor scores.

With these criteria in mind, Harman states that:

1. The regression method yields factor scores which usually have the highest correlation with the true factor scores.

2. The Bartlett and least-squares methods are univocal but not orthogonal.

3. The Anderson and Rubin method is orthogonal but not univocal.

4. Univocality is of more significance than orthogonality.

Comments

1. Workspace may be explicitly provided, if desired, by use of F2OEF/DF2OEF. The reference is:

CALL F2OEF (NVAR, NF, A, LDA, IMTH, COV, LDCOV, T, LDT, SCOEF, LDSCOE, B, RWK1, S, UNIQ, RWK2)

The additional arguments are as follows:

B — Real work vector of length 2 * NVAR * NF if IMTH = 4, and of length NVAR * NF otherwise.

RWK1 — Real work vector of length NVAR2 if IMTH = 1 or 4, and of length NF2 if IMTH = 2 or 3. Otherwise, RWK1 is of length 1.

S — Real work vector of length NF2 if IMTH = 4. Otherwise, S is dimensioned of length 1.

UNIQ — Real work vector of length NVAR if IMTH = 2, 3, or 4. Otherwise, UNIQ is dimensioned of length 1.

RWK2 — Real work vector of length NF if IMTH is not 5. If IMTH = 5, then RWK2 is of length 1.

2. The method used for computing the factor score coefficients depends both upon the method used to extract the factor loadings in routine FACTR and whether the factor loadings were orthogonally or obliquely rotated. In the following table, the numbers in parentheses refer to IMTH in routine FACTR and the numbers in the cells refer to IMTH in FCOEF.

FACTR
Method (IMTH)

No
Rotation

Orthogonal Rotation

Oblique Rotation

Component (0)

1, 2

1, 2

1, 2

Image (4)

5

5

5

Common Factor

 

 

 

ULS (1)

1, 2, 3, 4

1, 2, 3, 4

1, 2, 3, 4

GLS (2)

1, 2, 3, 4

1, 2, 3, 4

1, 2, 3, 4

ML (3)

1, 2, 3, 4

1, 2, 3, 4

1, 2, 3, 4

Alpha (5)

1, 2, 3, 4

1, 2, 3, 4

1, 2, 3, 4

Example

In the following example, the regression method is used to obtain estimated factor score coefficients for a 9‑variable problem with 3 factors. An oblique rotation method was used with the maximum likelihood common factor model to obtain the factor loadings. Routine FDOBL was used to obtain the oblique factor loadings.

 

USE FCOEF_INT

USE WRRRN_INT

 

IMPLICIT NONE

INTEGER IMTH, LDA, LDCOV, LDSCOE, LDT, NF, NVAR

PARAMETER (IMTH=1, LDA=9, LDCOV=9, LDSCOE=9, LDT=3, NF=3, NVAR=9)

!

REAL A(LDA,NF), COV(LDCOV,NVAR), SCOEF(LDSCOE,NF), T(LDT,NF)

!

DATA A/.6642, .6888, .4926, .8372, .7050, .8187, .6615, .4579, &

.7657, -.3209, -.2471, -.3022, .2924, .3148, .3767, -.3960, &

-.2955, -.4274, .0735, -.1933, -.2224, -.0354, -.1528, &

.1045, -.0778, .4914, -.0117/

!

DATA T/0.611, 0.923, 0.042, -0.462, 0.813, 0.728, 0.203, &

-0.249, 1.050/

!

DATA COV/1.000, 0.523, 0.395, 0.471, 0.346, 0.426, 0.576, 0.434,&

0.639, 0.523, 1.000, 0.479, 0.506, 0.418, 0.462, 0.547, 0.283, &

0.645, 0.395, 0.479, 1.000, 0.355, 0.270, 0.254, 0.452, 0.219, &

0.504, 0.471, 0.506, 0.355, 1.000, 0.691, 0.791, 0.443, 0.285, &

0.505, 0.346, 0.418, 0.270, 0.691, 1.000, 0.679, 0.383, 0.149, &

0.409, 0.426, 0.462, 0.254, 0.791, 0.679, 1.000, 0.372, 0.314, &

0.472, 0.576, 0.547, 0.452, 0.443, 0.383, 0.372, 1.000, 0.385, &

0.680, 0.434, 0.283, 0.219, 0.285, 0.149, 0.314, 0.385, 1.000, &

0.470, 0.639, 0.645, 0.504, 0.505, 0.409, 0.472, 0.680, 0.470, &

1.000/

!

CALL FCOEF (A, COV, T, SCOEF)

!

CALL WRRRN ('SCOEF', SCOEF)

END

Output

 

SCOEF

1 2 3

1 -0.0102 -0.1350 0.1781

2 0.0269 -0.2191 -0.0825

3 -0.0080 -0.1536 -0.0791

4 0.3788 -0.0597 -0.0596

5 0.2067 -0.0554 -0.1768

6 0.4885 0.1103 0.2084

7 -0.0258 -0.2317 0.0612

8 -0.0474 0.0345 0.5269

9 -0.0431 -0.3967 0.2507