Example 25.30 Longitudinal Factor Analysis
The following example (McDonald; 1980) illustrates both the ability of PROC CALIS to formulate complex covariance structure analysis problems by the generalized COSAN matrix model and the use of programming statements to impose nonlinear constraints on the parameters. The example is a longitudinal factor analysis that uses the Swaminathan (1974) model. For tests, occasions, and factors, the covariance structure model is formulated as follows:
The Swaminathan longitudinal factor model assumes that the factor scores for each () common factor change from occasion to occasion () according to a first-order autoregressive scheme. The matrix contains the factor loading matrices , , and (each is ). The matrices and are diagonal, and the matrices and are subjected to the constraint
Although the covariance structure model looks pretty complicated, it poses no problem for the COSAN model specifications. Since the constructed correlation matrix given by McDonald (1980) is singular, only unweighted least squares (METHOD=LS) estimates can be computed. The following statements specify the COSAN model for the correlation structures.
data Mcdon(TYPE=CORR);
Title "Swaminathan's Longitudinal Factor Model, Data: McDONALD(1980)";
Title2 "Constructed Singular Correlation Matrix, GLS & ML not possible";
_TYPE_ = 'CORR'; INPUT _NAME_ $ obs1-obs9;
datalines;
obs1 1.000 . . . . . . . .
obs2 .100 1.000 . . . . . . .
obs3 .250 .400 1.000 . . . . . .
obs4 .720 .108 .270 1.000 . . . . .
obs5 .135 .740 .380 .180 1.000 . . . .
obs6 .270 .318 .800 .360 .530 1.000 . . .
obs7 .650 .054 .135 .730 .090 .180 1.000 . .
obs8 .108 .690 .196 .144 .700 .269 .200 1.000 .
obs9 .189 .202 .710 .252 .336 .760 .350 .580 1.000
;
proc calis data=Mcdon method=ls nobs=100 corr;
cosan
var = obs1-obs9,
F1(6,GEN) * F2(6,DIA) * F3(6,DIA) * L(6,LOW) * F3(6,DIA,INV)
* F2(6,DIA,INV) * P(6,DIA) + U(9,SYM);
matrix F1
[1 , @1] = x1-x3,
[2 , @2] = x4-x5,
[4 , @3] = x6-x8,
[5 , @4] = x9-x10,
[7 , @5] = x11-x13,
[8 , @6] = x14-x15;
matrix F2
[1,1]= 2 * 1. x16 x17 x16 x17;
matrix F3
[1,1]= 4 * 1. x18 x19;
matrix L
[1,1]= 6 * 1.,
[3,1]= 4 * 1.,
[5,1]= 2 * 1.;
matrix P
[1,1]= 2 * 1. x20-x23;
matrix U
[1,1]= x24-x32,
[4,1]= x33-x38,
[7,1]= x39-x41;
bounds 0. <= x24-x32,
-1. <= x16-x19 <= 1.;
/* SAS programming statements for dependent parameters */
x20 = 1. - x16 * x16;
x21 = 1. - x17 * x17;
x22 = 1. - x18 * x18;
x23 = 1. - x19 * x19;
run;
In the PROC CALIS statement, you use the NOBS= option to specify the number of observations. The CORR option requests the analysis of the correlation matrix.
In the COSAN statement, you list the observed variables for the analysis in the VAR= option. Then you specify the formula for the covariance structures. Notice that in the covariance structure formula, some matrices are specified twice. That is, matrix and appear in two different places. Matrices with the same name means that they are identical—which certainly makes sense. In addition, you can apply different transformations to the same matrix in different locations of the matrix formula. For example, you do not transform matrix in the first location, but the same matrix is inverted (INV) later in the expression. Similarly for matrix .
Next, you define the parameters in the six distinct model matrices by six MATRIX statements. Each matrix has some specific patterns under the covariance structure model. For the matrix, it has the following pattern for the free parameters in the model:
col1 col2 col3 col4 col5 col6
row1 x
row2 x x
row3 x x
row4 x
row5 x x
row6 x x
row7 x
row8 x x
row9 x x
To specify these parameters, you can use some shorthand notation in the MATRIX statement. For example, in the first entry of the MATRIX statement for matrix , you use the notation [1,@1]. This means that the parameter specification starts with the [1,1] element and proceeds to the next element while fixing the column number at 1. Hence, parameters x1–x3 are specified for the , , and elements, respectively. Similarly, you specify other parameters in the matrix in a column by column fashion.
If you do not use the @ sign in the specification, the parameters are assigned differently. For example, in the specification of the matrix, the first entry in the corresponding MATRIX statement also starts with the [1,1] element. But it proceeds down to [2,2], [3,3], and so on because the @ sign is not used to fix any column or row number. As a result, the MATRIX statement for specifies the following pattern:
col1 col2 col3 col4 col5 col6
row1 1
row2 1
row3 1 1
row4 1 1
row5 1 1 1
row6 1 1 1
The unspecified elements are fixed zeros in the model.
Similarly, you specify the diagonal matrices , , and , and the symmetric matrix .
You also set bounds for some parameters in the BOUNDS statement and some dependent parameters in the SAS programming statements.
Output 25.30.1 shows the correlation structures and the model matrices in the analysis. All appear to be intended.
Output 25.30.1
The Correlation Structures and Model Matrices of the Longitudinal Factor Model
Sigma = |
F1*F2*F3*L*inv(F3)*inv(F2)*P*(inv(F2))`*(inv(F3))`*L`*F3`*F2`*F1` + U |
F1 |
9 |
6 |
GEN: Rectangular |
F2 |
6 |
6 |
DIA: Diagonal |
F3 |
6 |
6 |
DIA: Diagonal |
L |
6 |
6 |
LOW: L Triangular |
P |
6 |
6 |
DIA: Diagonal |
U |
9 |
9 |
SYM: Symmetric |
PROC CALIS finds a converged solution for the estimation problem. Output 25.30.2, Output 25.30.3, and Output 25.30.4 show the estimation results of the , , and matrices, respectively.
Output 25.30.2
Estimation of the Matrix of the Longitudinal Factor Model
Output 25.30.3
Estimation of the Matrix of the Longitudinal Factor Model
Output 25.30.4
Estimation of the Matrix of the Longitudinal Factor Model
Output 25.30.5 shows the estimation results of the matrix, which is a fixed matrix that contains only 0 or 1 for its elements.
Output 25.30.5
Estimation of the Matrix of the Longitudinal Factor Model
1.0000 |
0 |
0 |
0 |
0 |
0 |
0 |
1.0000 |
0 |
0 |
0 |
0 |
1.0000 |
0 |
1.0000 |
0 |
0 |
0 |
0 |
1.0000 |
0 |
1.0000 |
0 |
0 |
1.0000 |
0 |
1.0000 |
0 |
1.0000 |
0 |
0 |
1.0000 |
0 |
1.0000 |
0 |
1.0000 |
Output 25.30.6 shows the estimation results of the matrix. Notice that parameter estimate x23 falls on the lower boundary at zero.
Output 25.30.6
Estimation of the Matrix of the Longitudinal Factor Model
In fact, PROC CALIS routinely checks for zero values for the estimates on the diagonal of the central symmetric matrices. In this case, you get the following messages regarding the estimation of matrix :
WARNING: Although all predicted variances for the observed variables are
positive, the corresponding predicted covariance matrix is not
positive definite. It has one negative eigenvalue.
WARNING: The estimated variance of variable 6 is essentially zero in the
central matrix P of term 1 of the COSAN model.
WARNING: The central matrix P of term 1 of the COSAN model is not positive
definite. It has one zero eigenvalue.
Output 25.30.7 shows the estimation results of the matrix. Parameter estimates x28 and x32 fall on the lower boundary at zero. PROC CALIS issues the following messages regarding the estimation of matrix :
WARNING: The estimated variance of obs5 is essentially zero in the central
matrix U of term 2 of the COSAN model.
WARNING: The estimated variance of obs9 is essentially zero in the central
matrix U of term 2 of the COSAN model.
WARNING: The central matrix U of term 2 of the COSAN model is not positive
definite. It has 3 negative eigenvalues.
Output 25.30.7
Estimation of the Matrix of the Longitudinal Factor Model
Because this formulation of Swaminathan’s model in general leads to an unidentified problem, the results given here are different from those reported by McDonald (1980). The displayed output of PROC CALIS also indicates that the fitted central model matrices and are not positive-definite. The BOUNDS statement constrains the diagonals of the matrices and to be nonnegative, but this cannot prevent from having three negative eigenvalues. The fact that many of the published results for more complex models in covariance structure analysis are connected to unidentified problems implies that more theoretical work should be done to study the general features of such models.