The FACTOR Procedure

Example 35.4 Using Confidence Intervals to Locate Salient Factor Loadings

This example illustrates how you can use the standard errors and confidence intervals to understand the pattern of factor loadings under the maximum likelihood estimation. There are nine tests and you want a three-factor solution (N=3) for a correlation matrix based on 200 observations. The following statements define the input data set and specify the desirable analysis by the FACTOR procedure:

data test(type=corr);
   title 'Quartimin-Rotated Factor Solution with Standard Errors'; 
   input _name_ $ test1-test9; 
   _type_ = 'corr';
   datalines;
Test1      1  .561  .602  .290  .404  .328  .367  .179 -.268
Test2   .561     1  .743  .414  .526  .442  .523  .289 -.399
Test3   .602  .743     1  .286  .343  .361  .679  .456 -.532
Test4   .290  .414  .286     1  .677  .446  .412  .400 -.491
Test5   .404  .526  .343  .677     1  .584  .408  .299 -.466
Test6   .328  .442  .361  .446  .584     1  .333  .178 -.306
Test7   .367  .523  .679  .412  .408  .333     1  .711 -.760
Test8   .179  .289  .456  .400  .299  .178  .711     1 -.725
Test9  -.268 -.399 -.532 -.491 -.466 -.306 -.760 -.725     1
;
title2 'A nine-variable-three-factor example';
proc factor data=test method=ml reorder rotate=quartimin
   nobs=200 n=3 se cover=.45 alpha=.1;
run;

In the PROC FACTOR statement, you apply quartimin rotation with (default) Kaiser normalization. You define loadings with magnitudes greater than 0.45 to be salient (COVER=0.45) and use 90% confidence intervals (ALPHA=0.1) to judge the salience. The REORDER option is specified so that variables that have similar loadings with factors are clustered together.

After the quartimin rotation, the correlation matrix for factors is shown in Output 35.4.1.

Output 35.4.1: Quartimin-Rotated Factor Solution with Standard Errors

Inter-Factor Correlations
With 90% confidence limits
Estimate/StdErr/LowerCL/UpperCL
  Factor1 Factor2 Factor3
Factor1
1.00000
0.00000
.
.
0.41283
0.06267
0.30475
0.51041
0.38304
0.06060
0.27919
0.47804
Factor2
0.41283
0.06267
0.30475
0.51041
1.00000
0.00000
.
.
0.47006
0.05116
0.38177
0.54986
Factor3
0.38304
0.06060
0.27919
0.47804
0.47006
0.05116
0.38177
0.54986
1.00000
0.00000
.
.


The factors are medium to highly correlated. The confidence intervals seem to be very wide, suggesting that the estimation of factor correlations might not be very accurate for this sample size. For example, the 90% confidence interval for the correlation between Factor1 and Factor2 is (0.30, 0.51), a range of 0.21. You might need a larger sample to get a narrower interval, or you might need a better estimation.

Next, coverage displays for factor loadings are shown in Output 35.4.2.

Output 35.4.2: Using the Rotated Factor Pattern to Interpret the Factors

Rotated Factor Pattern (Standardized Regression Coefficients)
With 90% confidence limits; Cover |*| = 0.45?
Estimate/StdErr/LowerCL/UpperCL/Coverage Display
  Factor1 Factor2 Factor3
test8
0.86810
0.03282
0.80271
0.91286
0*[]
-0.05045
0.03185
-0.10265
0.00204
*[0]
0.00114
0.03087
-0.04959
0.05187
[0]*
test7
0.73204
0.04434
0.65040
0.79697
0*[]
0.27296
0.05292
0.18390
0.35758
0[]*
0.01098
0.03838
-0.05211
0.07399
[0]*
test9
-0.79654
0.03948
-0.85291
-0.72180
[]*0
-0.01230
0.04225
-0.08163
0.05715
*[0]
-0.17307
0.04420
-0.24472
-0.09955
*[]0
test3
0.27715
0.05489
0.18464
0.36478
0[]*
0.91156
0.04877
0.78650
0.96481
0*[]
-0.19727
0.02981
-0.24577
-0.14778
*[]0
test2
0.01063
0.05060
-0.07248
0.09359
[0]*
0.71540
0.05148
0.61982
0.79007
0*[]
0.20500
0.05496
0.11310
0.29342
0[]*
test1
-0.07356
0.04245
-0.14292
-0.00348
*[]0
0.63815
0.05380
0.54114
0.71839
0*[]
0.13983
0.05597
0.04682
0.23044
0[]*
test5
0.00863
0.04394
-0.06356
0.08073
[0]*
0.03234
0.04387
-0.03986
0.10421
[0]*
0.91282
0.04509
0.80030
0.96323
0*[]
test4
0.22357
0.05956
0.12366
0.31900
0[]*
-0.07576
0.03640
-0.13528
-0.01569
*[]0
0.67925
0.05434
0.57955
0.75891
0*[]
test6
-0.04295
0.05114
-0.12656
0.04127
*[0]
0.21911
0.07481
0.09319
0.33813
0[]*
0.53183
0.06905
0.40893
0.63578
0[*]


The coverage displays in Output 35.4.2 show that Test8, Test7, and Test9 have salient relationships with Factor1. The coverage displays are either ‘0*[ ]’ or ‘[ ]*0’, indicating that the entire 90% confidence intervals for the corresponding loadings are beyond the salience value at 0.45. On the other hand, the coverage display for Test3 on Factor1 is ‘0[ ]*’. This indicates that even though the loading estimate is significantly larger than zero, it is not large enough to be salient. Similarly, Test3, Test2, and Test1 have salient relationships with Factor2, while Test5 and Test4 have salient relationships with Factor3. For Test6, its relationship with Factor3 is a little bit ambiguous; the 90% confidence interval approximately covers values between 0.40 and 0.64. This means that the population value might have been smaller or larger than 0.45. It is marginal evidence for a salient relationship.

For oblique factor solutions, some researchers prefer to examine the factor structure loadings, which represent correlations, for determining salient relationships. In Output 35.4.3, the factor structure loadings and the associated standard error estimates and coverage displays are shown.

Output 35.4.3: Using the Factor Structure to Interpret the Factors

Factor Structure (Correlations)
With 90% confidence limits; Cover |*| = 0.45?
Estimate/StdErr/LowerCL/UpperCL/Coverage Display
  Factor1 Factor2 Factor3
test8
0.84771
0.02871
0.79324
0.88872
0*[]
0.30847
0.06593
0.19641
0.41257
0[]*
0.30994
0.06263
0.20363
0.40904
0[]*
test7
0.84894
0.02688
0.79834
0.88764
0*[]
0.58033
0.05265
0.48721
0.66041
0*[]
0.41970
0.06060
0.31523
0.51412
0[*]
test9
-0.86791
0.02522
-0.90381
-0.81987
[]*0
-0.42248
0.06187
-0.51873
-0.31567
[*]0
-0.48396
0.05504
-0.56921
-0.38841
[*]0
test3
0.57790
0.05069
0.48853
0.65528
0*[]
0.93325
0.02953
0.86340
0.96799
0*[]
0.33738
0.06779
0.22157
0.44380
0[]*
test2
0.38449
0.06143
0.27914
0.48070
0[*]
0.81615
0.03106
0.75829
0.86126
0*[]
0.54535
0.05456
0.44946
0.62883
0[*]
test1
0.24345
0.06864
0.12771
0.35264
0[]*
0.67351
0.04284
0.59680
0.73802
0*[]
0.41162
0.05995
0.30846
0.50522
0[*]
test5
0.37163
0.06092
0.26739
0.46727
0[*]
0.46498
0.04979
0.37923
0.54282
0[*]
0.93132
0.03277
0.85159
0.96894
0*[]
test4
0.45248
0.05876
0.35072
0.54367
0[*]
0.33583
0.06289
0.22867
0.43494
0[]*
0.72927
0.04061
0.65527
0.78941
0*[]
test6
0.25122
0.07140
0.13061
0.36450
0[]*
0.45137
0.05858
0.34997
0.54232
0[*]
0.61837
0.05051
0.52833
0.69465
0*[]


The interpretations based on the factor structure matrix do not change much from that based on the factor loadings except for Test3 and Test9. Test9 now has a salient correlation with Factor3. For Test3, it has salient correlations with both Factor1 and Factor2. Fortunately, there are still tests that have salient correlations only with either Factor1 or Factor2 (but not both). This would make interpretations of factors less problematic.