The CALIS Procedure

Example 27.26 Higher-Order and Hierarchical Factor Models

In this example, confirmatory higher-order and hierarchical factor models are fitted by PROC CALIS.

In higher-order factor models, factors are at different levels. The higher-order factors explain the relationships among factors at the next lower level, in the same way that the first-order factors explain the relationships among manifest variables. For example, in a two-level higher order factor model you have nine manifest variables V1V9 with three first-order factors F1F3. The first-order factor pattern of the model might appear like the following:

         F1   F2   F3
     V1   x
     V2   x
     V3   x
     V4        x
     V5        x
     V6        x
     V7             x
     V8             x
     V9             x

where each x marks a nonzero factor loading and all other unmarked entries are fixed zeros in the model. To explain the correlations among the first-order factors, a second-order factor F4 is hypothesized with the following second-order factor pattern:

         F4
     F1   x
     F2   x
     F3   x

If substantiated by your theory, you might have higher-order factor models with more than two levels.

In hierarchical factor models, all factors are at the same (first-order) level but are different in their clusters of manifest variables related. Using the terminology of Yung, Thissen, and McLeod (1999), factors in hierarchical factor models are classified into layers. The factors in the first layer partition the manifest variables into clusters so that each factor has a distinct cluster of related manifest variables. This part of the factor pattern of the hierarchical factor model is similar to that of the first-order factor model for manifest variables. The next layer of factors in the hierarchical factor model again partitions the manifest variables into clusters. However, this time each cluster contains at least two clusters of manifest variables that are formed in the previous layer. For example, the following is a factor pattern of a confirmatory hierarchical factor model with two layers:

          First Layer  |  Second Layer
         F1   F2   F3  |     F4
     V1   x            |      x
     V2   x            |      x
     V3   x            |      x
     V4        x       |      x
     V5        x       |      x
     V6        x       |      x
     V7             x  |      x
     V8             x  |      x
     V9             x  |      x

F1F3 are first-layer factors and F4 is the only second-layer factor. This special kind of two-layer hierarchical pattern is also known as the bifactor solution. In a bifactor solution, there are two classes of factors—group factors and a general factor. For example, in the preceding hierarchical factor pattern F1F3 are group factors for different abilities and F4 is a general factor such as intelligence (see, for example, Holzinger and Swineford 1937). See Mulaik and Quartetti (1997) for more examples and distinctions among various types of hierarchical factor models. Certainly, if substantiated by your theory, hierarchical factor models with more than two layers are possible.

In this example, you use PROC CALIS to fit these two types of confirmatory factor models. First, you fit a second-order factor model to a real data set. Then you fit a bifactor model to the same data set. In the final section of this example, an informal account of the relationship between the higher-order and hierarchical factor models is attempted. Techniques for constraining parameters using PROC CALIS are also shown. This final section might be too technical in the first reading. Interested readers are referred to articles by Mulaik and Quartetti (1997), Schmid and Leiman (1957), and Yung, Thissen, and McLeod (1999) for more details.

A Second-Order Factor Analysis Model

In this section, a second-order confirmatory factor analysis model is applied to a correlation matrix of Thurstone reported by McDonald (1985). The correlation matrix is read into a SAS data set in the following statements:

data Thurst(type=corr);
title "Example of THURSTONE resp. McDONALD (1985, p.57, p.105)";
   _type_ = 'corr'; input _name_ $ V1-V9;
   label V1='Sentences' V2='Vocabulary' V3='Sentence Completion'
         V4='First Letters' V5='Four-letter Words' V6='Suffices'
         V7='Letter series' V8='Pedigrees' V9='Letter Grouping';
   datalines;
V1  1.       .      .      .      .      .      .      .      .
V2   .828   1.      .      .      .      .      .      .      .
V3   .776   .779   1.      .      .      .      .      .      .
V4   .439   .493    .460  1.      .      .      .      .      .
V5   .432   .464    .425   .674  1.      .      .      .      .
V6   .447   .489    .443   .590   .541  1.      .      .      .
V7   .447   .432    .401   .381   .402   .288  1.      .      .
V8   .541   .537    .534   .350   .367   .320   .555  1.      .
V9   .380   .358    .359   .424   .446   .325   .598   .452  1.
;

Variables in this data set are measures of cognitive abilities. Three factors are assumed for these nine variable V1V9. These three factors are the first-order factors in the analysis. A second-order factor is also assumed to explain the correlations among the three first-order factors.

The following statements define a second-order factor model by using the LINEQS modeling language.

proc calis corr data=Thurst method=max nobs=213 nose nostand;
   lineqs
      V1      = X11 * Factor1                                    + E1,
      V2      = X21 * Factor1                                    + E2,
      V3      = X31 * Factor1                                    + E3,
      V4      =             X42 * Factor2                        + E4,
      V5      =             X52 * Factor2                        + E5,
      V6      =             X62 * Factor2                        + E6,
      V7      =                         X73 * Factor3            + E7,
      V8      =                         X83 * Factor3            + E8,
      V9      =                         X93 * Factor3            + E9,
      Factor1 =                                    L1g * FactorG + E10,
      Factor2 =                                    L2g * FactorG + E11,
      Factor3 =                                    L3g * FactorG + E12;
   variance
      FactorG   = 1. ,
      E1-E12    = U1-U9 W1-W3;
   bounds
      0. <= U1-U9;
   fitindex ON(ONLY)=[chisq df probchi];
   /* SAS Programming Statements: Dependent parameter definitions */
      W1  = 1. - L1g * L1g;
      W2  = 1. - L2g * L2g;
      W3  = 1. - L3g * L3g;
run;

In the first nine equations of the LINEQS statement, variables V1V3 are manifest indicators of latent factor Factor1, variables V4V6 are manifest indicators of latent factor Factor2, and variables V7V9 are manifest indicators of latent factor Factor3. In the last three equations of the LINEQS statement, the three first-order factors Factor1Factor3 are explained by a common source: FactorG. Hence, Factor1Factor3 are correlated due to the common source FactorG in the model.

An error term is added to each equation in the LINEQS statement. These error terms E1E12 are needed because the factors are not assumed to be perfect predictors of the corresponding outcome variables.

In the VARIANCE statement, you specify variance parameters for all independent or exogenous variables in the model: FactorG, and E1E12. The variance of FactorG is fixed at one for identification. Variances for E1E9 are given parameter names U1U9, respectively. Variances for E10E12 are given parameter names W1W3, respectively. Note that for model identification purposes, W1W3 are defined as dependent parameters in the SAS programming statements. That is,

\[  W_ i = 1. - L_{ig}^2 \quad (i=1,2,3)  \]

These dependent parameter definitions ensure that the variances for Factor1Factor3 are fixed at ones for identification.

In the BOUNDS statement, you specify that variance parameters U1U9 must be positive in the solution.

In addition to the statements for model specification, you specify some output control options in the PROC CALIS statement. You use the NOSE and NOSTAND options suppress the display of standard errors and standardized results. In the FITINDEX statement, the ON(ONLY)= option requests only the model fit chi-square and its associated degrees of freedom and p-value be shown in the fit summary table. Using printing options in PROC CALIS to reduce the amount the of printout is a good practice. It makes your output more focused, as you output only what you need in a particular situation.

In Output 27.26.1, parameters and their initial values, gradients, and bounds are shown.

Output 27.26.1: Parameters in the Model

Optimization Start
Parameter Estimates
N Parameter Estimate Gradient Lower Bound Upper Bound
1 X11 1.00000 0.13476 . .
2 X21 1.01408 0.17327 . .
3 X31 0.95518 0.12174 . .
4 X42 1.00000 0.22548 . .
5 X52 0.96603 0.21304 . .
6 X62 0.88305 0.19782 . .
7 X73 1.00000 0.21041 . .
8 X83 1.03403 0.39324 . .
9 X93 0.91752 0.19880 . .
10 L1g 0.75060 -0.57492 . .
11 L2g 0.64268 -0.50975 . .
12 L3g 0.60919 -0.56538 . .
13 U1 0.18879 0.14837 0 .
14 U2 0.16579 0.08989 0 .
15 U3 0.25988 -0.03231 0 .
16 U4 0.33068 0.20120 0 .
17 U5 0.37538 0.09124 0 .
18 U6 0.47808 -0.03595 0 .
19 U7 0.44813 0.20918 0 .
20 U8 0.40994 -0.12469 0 .
21 U9 0.53541 0.05959 0 .
Value of Objective Function = 0.5693888709

The Number of Dependent Parameters is 3
N Parameter Estimate
22 W1 0.43660
23 W2 0.58697
24 W3 0.62889


The first table contains all the independent parameters. There are twenty-one in total. Parameters W1W3, which are defined in the SAS programming statements, are shown in the next table for dependent parameters. Their initial values are computed as functions of the independent parameters.

Output 27.26.2 shows the information about optimization—iteration history and the convergence status.

Output 27.26.2: Optimization

Optimization Start
Active Constraints 0 Objective Function 0.5693888709
Max Abs Gradient Element 0.5749163348 Radius 1.8533033852

Iteration   Restarts Function
Calls
Active
Constraints
  Objective
Function
Objective
Function
Change
Max Abs
Gradient
Element
Lambda Ratio
Between
Actual
and
Predicted
Change
1   0 5 0   0.38684 0.1825 0.5158 3.214 1.174
2   0 9 0   0.18706 0.1998 0.1003 0 1.181
3   0 11 0   0.18039 0.00667 0.0273 0 0.987
4   0 13 0   0.18020 0.000192 0.00581 0 0.881
5   0 15 0   0.18017 0.000023 0.00295 0 0.967
6   0 17 0   0.18017 3.08E-6 0.000686 0 1.083
7   0 19 0   0.18017 4.606E-7 0.000379 0 1.195
8   0 21 0   0.18017 7.365E-8 0.000096 0 1.283
9   0 23 0   0.18017 1.228E-8 0.000054 0 1.342
10   0 25 0   0.18017 2.098E-9 0.000018 0 1.377
11   0 27 0   0.18017 3.63E-10 8.561E-6 0 1.397

Optimization Results
Iterations 11 Function Calls 30
Jacobian Calls 13 Active Constraints 0
Objective Function 0.1801712146 Max Abs Gradient Element 8.5605681E-6
Lambda 0 Actual Over Pred Change 1.3969225014
Radius 0.0000572561    

Convergence criterion (GCONV=1E-8) satisfied.


First, there are 21 independent parameters in the optimization by using 45 Functions (Observations). The so-called functions refer to the moments in the model that are structured with parameters. Nine lower bounds, which are specified for the error variance parameters, are specified in the optimization. The next table for iteration history shows that the optimization stops in 11 iterations. The notes at the bottom of table show that the solution converges without problems.

Output 27.26.3 shows the fit summary table. The chi-square model fit value is 38.196, with df = 24, and p = 0.033. This indicates a satisfactory model fit.

Output 27.26.3: Fit Summary

Fit Summary
Chi-Square 38.1963
Chi-Square DF 24
Pr > Chi-Square 0.0331


Output 27.26.4 shows the fitted equations with final estimates. Interpretations of these loadings are not done here. The last table in this output shows various variance estimates. These estimates are classified by whether they are for the latent variables, error variables, or disturbance variables.

Output 27.26.4: Estimation Results

Linear Equations
V1 =   0.9047 * Factor1 + 1.0000   E1
          X11        
V2 =   0.9138 * Factor1 + 1.0000   E2
          X21        
V3 =   0.8561 * Factor1 + 1.0000   E3
          X31        
V4 =   0.8358 * Factor2 + 1.0000   E4
          X42        
V5 =   0.7972 * Factor2 + 1.0000   E5
          X52        
V6 =   0.7026 * Factor2 + 1.0000   E6
          X62        
V7 =   0.7808 * Factor3 + 1.0000   E7
          X73        
V8 =   0.7202 * Factor3 + 1.0000   E8
          X83        
V9 =   0.7035 * Factor3 + 1.0000   E9
          X93        
Factor1 =   0.8221 * FactorG + 1.0000   E10
          L1g        
Factor2 =   0.7818 * FactorG + 1.0000   E11
          L2g        
Factor3 =   0.8150 * FactorG + 1.0000   E12
          L3g        

Estimates for Variances of Exogenous Variables
Variable
Type
Variable Parameter Estimate
Latent FactorG   1.00000
Error E1 U1 0.18150
  E2 U2 0.16493
  E3 U3 0.26713
  E4 U4 0.30150
  E5 U5 0.36450
  E6 U6 0.50642
  E7 U7 0.39033
  E8 U8 0.48137
  E9 U9 0.50510
Disturbance E10 W1 0.32420
  E11 W2 0.38879
  E12 W3 0.33576


For illustration purposes, you might check whether the model constraints put on the variances of Factor1Factor3 are honored (although this should have been taken care of in the optimization). For example, the variance of Factor1 should be:

\[  1 = (\mbox{Loading on FactorG})^2 + \mbox{Variance of E10}  \]

Extracting the estimates from the output, you indeed verify the required equality, as shown in the following:

\[  1.0000 = (0.8221)^2 + 0.32420  \]

A Bifactor Model

A bifactor model (or a hierarchical factor model with two layers) for the same data set is now considered. In this model, the same set of factors as in the preceding higher-order factor model are used. The most notable difference is that the second-order factor FactorG in the higher-order factor model is no longer a factor of the first-order factors Factor1Factor3. Instead, FactorG, like Factor1Factor3, now also serves as a factor of the observed variable V1V9. Unlike Factor1Factor3, FactorG is considered to be a general factor in the sense that all observed variables have direct functional relationships with it. In contrast, Factor1Factor3 are group factors in the sense that each of them has a direct functional relationship with only one group of observed variables. Because of the coexistence of a general factor and group factors at the same factor level, such a hierarchical model is also called a bifactor model.

The bifactor model is specified in the following statements:

proc calis corr data=Thurst method=max nobs=213 nose nostand;
   lineqs
      V1 = X11 * Factor1                       + X1g * FactorG + E1,
      V2 = X21 * Factor1                       + X2g * FactorG + E2,
      V3 = X31 * Factor1                       + X3g * FactorG + E3,
      V4 =            X42 * Factor2            + X4g * FactorG + E4,
      V5 =            X52 * Factor2            + X5g * FactorG + E5,
      V6 =            X62 * Factor2            + X6g * FactorG + E6,
      V7 =                       X73 * Factor3 + X7g * FactorG + E7,
      V8 =                       X83 * Factor3 + X8g * FactorG + E8,
      V9 =                       X93 * Factor3 + X9g * FactorG + E9;
   variance
      Factor1-Factor3 = 3 * 1.,
      FactorG         = 1. ,
      E1-E9           = U1-U9;
   cov
      Factor1-Factor3 FactorG = 6 * 0.;
   bounds
      0. <= U1-U9;
   fitindex ON(ONLY)=[chisq df probchi];
run;

In the LINEQS statement, there are only nine equations for the manifest variables in the model. Unlike the second-order factor model fitted previously, Factor1Factor3 are no longer functionally related to FactorG and therefore there are no equations with Factor1Factor3 as outcome variables.

The factor variances are all fixed at 1 in the VARIANCE statement. The variance parameters for E1E9 are named U1U9, respectively. The BOUNDS statement, again, is specified so that only positive estimates are accepted for error variance estimates.

All factors in the bifactor model are uncorrelated. In the COV statement, you specify that the six covariances among Factor1Factor3 and FactorG are all zero. This specification is necessary because by default exogenous variables (excluding error terms) in the LINEQS model are correlated.

Like the previous PROC CALIS run, options are specified in the PROC CALIS and the FITINDEX statements to reduce the amount of default output.

There are more parameters in this model than in the preceding higher-order factor model, as shown in Output 27.26.5, which shows the optimization information.

Output 27.26.5: Optimization

Optimization Start
Active Constraints 0 Objective Function 0.8380304146
Max Abs Gradient Element 2.4076251809 Radius 20.596787596

Iteration   Restarts Function
Calls
Active
Constraints
  Objective
Function
Objective
Function
Change
Max Abs
Gradient
Element
Lambda Ratio
Between
Actual
and
Predicted
Change
1   0 5 0   0.70566 0.1324 0.4851 0.00140 0.148
2   0 7 0   0.30090 0.4048 0.3269 0 1.292
3   0 9 0   0.17403 0.1269 0.2947 0 0.985
4   0 11 0   0.11759 0.0564 0.0677 0 1.190
5   0 13 0   0.11455 0.00304 0.0267 0 1.043
6   0 15 0   0.11426 0.000285 0.00242 0 1.153
7   0 17 0   0.11423 0.000027 0.00168 0 1.394
8   0 19 0   0.11423 5.552E-6 0.000478 0 1.413
9   0 21 0   0.11423 1.154E-6 0.000335 0 1.420
10   0 23 0   0.11423 2.405E-7 0.000105 0 1.427
11   0 25 0   0.11423 5.016E-8 0.000068 0 1.432
12   0 27 0   0.11423 1.047E-8 0.000023 0 1.436
13   0 29 0   0.11423 2.184E-9 0.000014 0 1.439
14   0 31 0   0.11423 4.56E-10 4.909E-6 0 1.442

Optimization Results
Iterations 14 Function Calls 34
Jacobian Calls 16 Active Constraints 0
Objective Function 0.1142278162 Max Abs Gradient Element 4.9090342E-6
Lambda 0 Actual Over Pred Change 1.4423534599
Radius 0.0002294218    

Convergence criterion (GCONV=1E-8) satisfied.


There are 27 parameters in the bifactor model: nine for the loadings on the group factors Factor1Factor3, nine for the loadings on the general factor FactorG, and nine for the variances of errors E1E9. The optimization converges in 14 iterations without problems.

A fit summary table is shown in Output 27.26.6

Output 27.26.6: Fit Summary

Fit Summary
Chi-Square 24.2163
Chi-Square DF 18
Pr > Chi-Square 0.1481


The fit of this model is quite good. The chi-square value is 24.216, with df = 18 and p = 0.148. This is expected because the bifactor model has more parameters than the second-order factor model, which already has a good fit with fewer parameters.

Estimation results are shown in Output 27.26.7. Estimates are left uninterpreted because they are not the main interest of this example.

Output 27.26.7: Estimation Results

Linear Equations
V1 =   -0.4879 * Factor1 + 0.7679 * FactorG + 1.0000   E1
          X11       X1g        
V2 =   -0.4523 * Factor1 + 0.7909 * FactorG + 1.0000   E2
          X21       X2g        
V3 =   -0.4045 * Factor1 + 0.7536 * FactorG + 1.0000   E3
          X31       X3g        
V4 =   0.6140 * Factor2 + 0.6084 * FactorG + 1.0000   E4
          X42       X4g        
V5 =   0.5058 * Factor2 + 0.5973 * FactorG + 1.0000   E5
          X52       X5g        
V6 =   0.3943 * Factor2 + 0.5718 * FactorG + 1.0000   E6
          X62       X6g        
V7 =   -0.7273 * Factor3 + 0.5669 * FactorG + 1.0000   E7
          X73       X7g        
V8 =   -0.2468 * Factor3 + 0.6623 * FactorG + 1.0000   E8
          X83       X8g        
V9 =   -0.4091 * Factor3 + 0.5300 * FactorG + 1.0000   E9
          X93       X9g        

Estimates for Variances of Exogenous Variables
Variable
Type
Variable Parameter Estimate
Latent Factor1   1.00000
  Factor2   1.00000
  Factor3   1.00000
  FactorG   1.00000
Error E1 U1 0.17236
  E2 U2 0.16984
  E3 U3 0.26848
  E4 U4 0.25281
  E5 U5 0.38735
  E6 U6 0.51757
  E7 U7 0.14966
  E8 U8 0.50039
  E9 U9 0.55175


One might ask whether this bifactor (hierarchical) model provides a significantly better fit than the previous second-order model. Can one use a chi-square difference test for nested models to answer this question? The answer is yes.

Although it is not obvious that the previous second-order factor model is nested within the current bifactor model, a general nested relationship between the higher-order factor and the hierarchical factor model is formally proved by Yung, Thissen, and McLeod (1999). Therefore, a chi-square difference test can be conducted using the following DATA step:

data _null_;
   df0 = 24; chi0 = 38.1963;
   df1 = 18; chi1 = 24.2163;
   diff = chi0-chi1;
   p = 1.-probchi(chi0-chi1,df0-df1);
   put 'Chi-square difference = ' diff;
   put 'p-value = ' p;
run;

The results are shown in the following:

Output 27.26.8: Chi-square Difference Test

Chi-square difference = 13.98                                                   
p-value = 0.0298603746                                                          


The chi-square difference is 13.98, with df = 6 and p = 0.02986. If $\alpha $-level is set at 0.05, the bifactor model indicates a significantly better fit. But if $\alpha $-level is set at 0.01, statistically the two models fit equally well to the data.

In the next section, it is demonstrated that the second-order factor model is indeed nested within the bifactor model, and hence the chi-square test conducted in the previous section is justified. In addition, through the demonstration of the nested relationship between the two classes of models, you can see how some parameter constraints in structural equation model can be set up in PROC CALIS.

For some practical researchers, the technical details involved in the next section might not be of interest and therefore could be skipped.

A Constrained Bifactor Model and Its Equivalence to the Second-Order Factor Model

To demonstrate that the second-order factor model is indeed nested within the bifactor model, a constrained bifactor model is fitted in this section. This constrained bifactor model is essentially the same as the preceding bifactor model, but with additional constraints on the factor loadings. Hence, the constrained bifactor model is nested within the unconstrained bifactor model.

Furthermore, if it can be shown that the constrained bifactor model is equivalent to the previous second-order factor, then the second-order factor model must also be nested within the unconstrained bifactor model. As a result, it justifies the chi-square difference test conducted in the previous section.

The construction of such a constrained bifactor model is based on Yung, Thissen, and McLeod (1999). In the following statements, a constrained bifactor model is specified.

proc calis corr data=Thurst method=max nobs=213 nose nostand;
   lineqs
      V1 = X11 * Factor1                          + X1g * FactorG + E1,
      V2 = X21 * Factor1                          + X2g * FactorG + E2,
      V3 = X31 * Factor1                          + X3g * FactorG + E3,
      V4 =              X42 * Factor2             + X4g * FactorG + E4,
      V5 =              X52 * Factor2             + X5g * FactorG + E5,
      V6 =              X62 * Factor2             + X6g * FactorG + E6,
      V7 =                          X73 * Factor3 + X7g * FactorG + E7,
      V8 =                          X83 * Factor3 + X8g * FactorG + E8,
      V9 =                          X93 * Factor3 + X9g * FactorG + E9;
   variance
      Factor1-Factor3 = 3 * 1.,
      FactorG         = 1. ,
      E1-E9           = U1-U9;
   cov
      Factor1-Factor3 FactorG = 6 * 0.;
   bounds
      0. <= U1-U9;
   fitindex ON(ONLY)=[chisq df probchi];
   parameters p1 (.5) p2 (.5) p3 (.5);
   /* Proportionality constraints */
   X1g = p1 * X11;
   X2g = p1 * X21;
   X3g = p1 * X31;
   X4g = p2 * X42;
   X5g = p2 * X52;
   X6g = p2 * X62;
   X7g = p3 * X73;
   X8g = p3 * X83;
   X9g = p3 * X93;
run;

In this constrained model, you add a PARAMETERS statement and nine SAS programming statements to the previous bifactor model. In the PARAMETERS statement, three new independent parameters are added: p1, p2, and p3. These parameters represent the proportions that constrain the factor loadings of the observed variables on the group factors Factor1Factor3 and the general factor FactorG. They are all free parameters and have initial values at 0.5. The next nine SAS programming statements represent the proportionality constraints imposed. For example, X1gX3g are now dependent parameters expressed as functions of p1, X11, X21, and X31. Adding three new parameters (in the PARAMETERS statement) and redefining nine original parameters as dependent (in the SAS programming statements) is equivalent to adding six (=9-3) constraints to the original bifactor model. Mathematically, the additional statements in specifying the constrained bifactor model realizes the following six constraints:

\[  \frac{\mbox{X1g}}{\mbox{X11}} = \frac{\mbox{X2g}}{\mbox{X21}} = \frac{\mbox{X3g}}{\mbox{X31}}  \]
\[  \frac{\mbox{X4g}}{\mbox{X42}} = \frac{\mbox{X5g}}{\mbox{X52}} = \frac{\mbox{X6g}}{\mbox{X62}}  \]
\[  \frac{\mbox{X7g}}{\mbox{X73}} = \frac{\mbox{X8g}}{\mbox{X83}} = \frac{\mbox{X9g}}{\mbox{X93}}  \]

Obviously, with these six constraints the current constrained bifactor model is nested within the unconstrained version. What remains to be shown is that this constrained bifactor model is indeed equivalent to the previous second-order factor model. If so, the second-order factor model is also nested within the unconstrained bifactor model. One evidence for the equivalence of the current constrained bifactor model and the second-order factor model is from the fit summary table shown in Output 27.26.10. But first, it is also useful to consider the optimization information of the constrained bifactor model, which is shown in Output 27.26.9.

Output 27.26.9: Optimization

Optimization Start
Active Constraints 0 Objective Function 6.8290849536
Max Abs Gradient Element 8.9903038299 Radius 46.912034073

Iteration   Restarts Function
Calls
Active
Constraints
  Objective
Function
Objective
Function
Change
Max Abs
Gradient
Element
Lambda Ratio
Between
Actual
and
Predicted
Change
1 * 0 4 0   4.42090 2.4082 1.5979 0.195 0.121
2 * 0 6 0   2.42951 1.9914 2.4449 0.195 1.700
3 * 0 8 0   1.52546 0.9040 2.1675 0.781 1.657
4 * 0 10 0   0.86547 0.6600 1.2570 0.781 1.552
5 * 0 12 0   0.50425 0.3612 0.4075 0.781 1.351
6 * 0 14 0   0.41864 0.0856 1.1698 0.195 0.216
7 * 0 16 0   0.28298 0.1357 0.2355 0.0488 0.983
8   0 19 0   0.27010 0.0129 0.9602 0.00098 0.327
9   0 21 0   0.21798 0.0521 0.2433 0 0.751
10 * 0 23 0   0.20781 0.0102 0.0373 0.0488 0.943
11 * 0 26 0   0.20251 0.00530 0.0273 0.0918 1.064
12   0 28 0   0.19176 0.0108 0.0718 0.0515 1.008
13   0 30 0   0.18575 0.00601 0.1407 0.00393 0.562
14   0 32 0   0.18024 0.00551 0.0224 0 0.921
15   0 34 0   0.18017 0.000064 0.00161 0 1.067
16   0 36 0   0.18017 2.357E-6 0.000538 0 1.344
17   0 38 0   0.18017 3.389E-7 0.000216 0 1.380
18   0 40 0   0.18017 5.146E-8 0.000075 0 1.389
19   0 42 0   0.18017 7.886E-9 0.000031 0 1.391
20   0 44 0   0.18017 1.211E-9 0.000012 0 1.392

Optimization Results
Iterations 20 Function Calls 47
Jacobian Calls 22 Active Constraints 0
Objective Function 0.1801712147 Max Abs Gradient Element 0.0000117927
Lambda 0 Actual Over Pred Change 1.3915929449
Radius 0.0002502182    

Convergence criterion (GCONV=1E-8) satisfied.


As shown Output 27.26.9, there are 21 independent parameters in the constrained bifactor model for the 45 Functions (Observations). These numbers match those of the second-order factor model exactly. The optimization shows some problems in initial iterations. The iteration numbers with asterisks indicate that the Hessian matrix is not positive definite in those iterations. But as long as the final converged iteration is not marked with an asterisk, the problems exhibited in early iterations do not raise any concern, as in the current case. Next, the fit summary is shown in Output 27.26.10.

Output 27.26.10: Model Fit

Fit Summary
Chi-Square 38.1963
Chi-Square DF 24
Pr > Chi-Square 0.0331


In Output 27.26.10, the chi-square value in the fit summary table is 38.196, with df = 24, and p = 0.033. Again, these numbers match those of the second-order factor model exactly. These matches (same model fit with the same number of parameters) are necessary (but not sufficient) to show that the constrained bifactor model is equivalent to the second-order model. Stronger evidence is now presented.

In Output 27.26.11, estimation results of the constrained bifactor model are shown.

Output 27.26.11: Estimation Results

Linear Equations
V1 =   -0.5151 * Factor1 + 0.7437 * FactorG + 1.0000   E1
          X11       X1g        
V2 =   -0.5203 * Factor1 + 0.7512 * FactorG + 1.0000   E2
          X21       X2g        
V3 =   -0.4874 * Factor1 + 0.7038 * FactorG + 1.0000   E3
          X31       X3g        
V4 =   0.5211 * Factor2 + 0.6534 * FactorG + 1.0000   E4
          X42       X4g        
V5 =   0.4971 * Factor2 + 0.6232 * FactorG + 1.0000   E5
          X52       X5g        
V6 =   0.4381 * Factor2 + 0.5493 * FactorG + 1.0000   E6
          X62       X6g        
V7 =   0.4524 * Factor3 + 0.6364 * FactorG + 1.0000   E7
          X73       X7g        
V8 =   0.4173 * Factor3 + 0.5869 * FactorG + 1.0000   E8
          X83       X8g        
V9 =   0.4076 * Factor3 + 0.5734 * FactorG + 1.0000   E9
          X93       X9g        

Estimates for Variances of Exogenous Variables
Variable
Type
Variable Parameter Estimate
Latent Factor1   1.00000
  Factor2   1.00000
  Factor3   1.00000
  FactorG   1.00000
Error E1 U1 0.18150
  E2 U2 0.16493
  E3 U3 0.26713
  E4 U4 0.30150
  E5 U5 0.36450
  E6 U6 0.50641
  E7 U7 0.39034
  E8 U8 0.48136
  E9 U9 0.50511


According to Yung, Thissen, and McLeod (1999), two models are equivalent if there is a one-to-one correspondence of the parameters in the models. This fact is illustrated for the constrained bifactor model and the second-order factor model.

First, the error variances for E1E9 in the second-order factor model are transformed directly (using an identity map) to that of the bifactor models. The nine error variances in Output 27.26.4 for the second-order factor model match those of the constrained bifactor model exactly in Output 27.26.11. In addition, the variances of factors are fixed at one in both models. The error variances and the factor loadings at both factor levels in Output 27.26.4 for the second-order factor model are now transformed to yield the loading estimates in the constrained bifactor model.

Denote $\mb {P}_1$ as the first-order factor loading matrix, $\mb {P}_2$ as the second-order factor loading matrix, and $\mb {U}_1^2$ be the matrix of variances for disturbances. That is, for the second-order factor model,

\[  \mb {P}_1 = \left( \begin{array}{ccc} 0.9047 &  0 &  0 \\ 0.9138 &  0 &  0 \\ 0.8561 &  0 &  0 \\ 0 &  0.8358 &  0 \\ 0 &  0.7972 &  0 \\ 0 &  0.7026 &  0 \\ 0 &  0 &  0.7808 \\ 0 &  0 &  0.7202 \\ 0 &  0 &  0.7035 \\ \end{array} \right)  \]
\[  \mb {P}_2 = \left( \begin{array}{c} 0.8221 \\ 0.7818 \\ 0.8150 \\ \end{array} \right)  \]
\[  \mb {U}_1^2 = \left( \begin{array}{ccc} 0.3242 &  0 &  0 \\ 0 &  0.3888 &  0 \\ 0 &  0 &  0.3358 \\ \end{array} \right)  \]

According to Yung, Thissen, and McLeod (1999), the transformation to obtain the estimates in the equivalent constrained bifactor model is:

$\displaystyle  \mb {L}_1  $
$\displaystyle  =  $
$\displaystyle  \mb {P}_1 \mb {U}_1  $
$\displaystyle \mb {L}_2  $
$\displaystyle  =  $
$\displaystyle  \mb {P}_1 \mb {P}_2  $

where $\mb {L}_1$ is the matrix of the first-layer factor loadings (that is, loadings on group factors Factor1Factor3), and $\mb {L}_2$ is the matrix of the second-layer factor loadings (that is, loadings on FactorG) in the constrained bifactor model. Carrying out the matrix calculations for $\mb {L}_1$ and $\mb {L}_2$ shows that:

\[  \mb {L}_1 = \left( \begin{array}{ccc} 0.5151 &  0 &  0 \\ 0.5203 &  0 &  0 \\ 0.4875 &  0 &  0 \\ 0 &  0.5212 &  0 \\ 0 &  0.4971 &  0 \\ 0 &  0.4381 &  0 \\ 0 &  0 &  0.4525 \\ 0 &  0 &  0.4173 \\ 0 &  0 &  0.4077 \\ \end{array} \right)  \]
\[  \mb {L}_2 = \left( \begin{array}{c} 0.7438 \\ 0.7512 \\ 0.7038 \\ 0.6534 \\ 0.6232 \\ 0.5493 \\ 0.6364 \\ 0.5870 \\ 0.5734 \\ \end{array} \right)  \]

With very minor numerical differences and ignorable sign changes, these transformation results match the estimated loadings observed in Output 27.26.11 for the constrained bifactor model. Therefore, the second-order factor model is shown to be equivalent to the constrained bifactor model, and hence is nested within the unconstrained bifactor model.