Weights – Why Set Weights to 1 in Confirmatory Factor Analysis?

confirmatory-factor

I write this question with reference to an example on p138-142 of the following document: ftp://ftp.software.ibm.com/software/analytics/spss/documentation/amos/20.0/en/Manuals/IBM_SPSS_Amos_User_Guide.pdf.

Here are illustrative figures and a table:
CFA example

I understand that the latent variable has no natural metric and that setting a factor loading to 1 is done to fix this problem. However, there are a number of things I don't (fully) understand:

  1. How does fixing a factor loading to 1 fix this indeterminacy of scale problem?

  2. Why fix to 1, rather than some other number?

  3. I understand that by fixing one of the factor->indicator regression weights to 1 we thus make all the other regression weights for that factor relative to it. But what happens if we set a particular factor loading to 1 but then it turns out that the higher scores on the factor predict lower scores on the observed variable in question? After we've initially set the factor loading to 1 can we get to a negative understandardized regression weight, or to a negative standardized regression weight?

  4. In this context I've seen factor loadings referred to both as regression coefficients and as covariances. Are both these definitions fully correct?

  5. Why did we need to fix spatial->visperc and verbal-paragrap both to 1? What would have happened if we just fixed one of those paths to 1?

  6. Looking at the standardized coefficient, how can it be that the unstandardized coefficient for wordmean > sentence > paragrap, but looking at the standardized coefficients paragrap > wordmean > sentence. I thought that by fixing paragrap to 1 initially all other variables loaded on the factor were made to be relative to paragrap.

I'll also add in a question which I would imagine has a related answer: why to we fix the regression coefficient for the unique terms (e.g. err_v->visperc) to 1? What would it mean for err_v to have a coefficient of 1 in predicting visperc?

I'd greatly welcome responses even if they do not address all the questions.

Best Answer

  1. Because it then allows you to use the relationship between the latent variable and the observed variable to determine the variance of the latent variable. For example, consider the regression of Y on X. If I am allowed to change the variance of X, say, by multiplying it by a constant, then I can change the regression coefficient arbitrarily. If instead I fix the value of the regression coefficient, then this determines the variance of X.
  2. By convention, and to make it easier to compare the coefficients to each other.
  3. In that case, the latent variable simply becomes reversed. For example, suppose our latent variable is math ability, our observed variable is the number of errors on a test, and we fix the regression coefficient to 1. Then our latent variable will become "difficulty with math" instead of math ability, and the coefficients for any other observed variables will change accordingly.
  4. If the observed variable and the latent variable are both standardized (i.e., standard deviation equal to 1), then the regression coefficient is equal to the covariance.
  5. It is fixing spatial -> visperc to 1 that permits estimation of the variance of spatial (see answer to (1) above). Likewise, fixing verbal -> paragrap permits estimation of the variance of verbal. A model with only one of these constraints would not be identifiable.
  6. Because the differences between the unstandardized and standardized coefficients depend not only on the variance of verbal, but also on the variances of paragrap, sentence and wordmean. For example, the standardized coefficient for wordmean equals the unstandardized coefficient multiplied by $\frac{SD_{verbal}}{SD_{wordmean}}$, or $2.234 \times \frac{\sqrt{9.682}}{\sqrt{(2.234^2 \times 9.682) + 19.925}} = 0.841$.

Finally, note that err_v is analogous to the error term in a regression model, e.g., $$visperc = \beta_0 + \beta_1 spatial + err\_v$$ We fix the coefficient on err_v (i.e., on the error term) to 1 so that we can estimate the error variance (i.e., the variance of err_v).

Related Question