Why Loading Orientation Is Not Determined by Covariance
In a common-factor model, the columns of the loading matrix describe how the latent factors contribute to the observed variables. It is tempting to interpret each column as a uniquely determined pattern. But covariance information determines the product of the loading matrix with its transpose, not the orientation of its columns separately. Rotating the columns can change their appearance while leaving that product unchanged.
This is called rotational indeterminacy. It is an algebraic property of the covariance model, not a numerical accident or a failure of a particular estimation algorithm. To see exactly what is and is not identified, first state the covariance model and the allowable transformations.
The factor covariance \(I_q\) expresses the model's standardized, uncorrelated-factor convention. The zero cross-covariance between \(F\) and \(\varepsilon\) ensures that the common and specific components contribute additively to \(\Sigma\). In particular, the off-diagonal covariances in \(\Sigma\) come from \(\Lambda\Lambda^T\), because \(\Psi\) is diagonal.
The Covariance-Preservation Result
The central calculation is short, but its implication is substantial: every orthogonal \(Q\) gives another loading matrix with the same model-implied covariance and the same specific covariance matrix.
Proof. First compute the covariance contribution from the rotated loadings. Since \(Q\) is orthogonal, \(QQ^T=I_q\), so
Adding the unchanged \(\Psi\) proves that the model-implied covariance is unchanged. For the factor representation, \(\Lambda_*F_*=\Lambda Q Q^T F=\Lambda F\), so the expression for \(X\) is exactly the same. Also, \(E[F_*]=Q^TE[F]=0\), and
Finally, \(\operatorname{Cov}(F_*,\varepsilon)=Q^T\operatorname{Cov}(F,\varepsilon)=0\). Thus the transformed representation satisfies the same covariance-model conditions. \(\square\)
Worked Example: A Ninety-Degree Rotation
Take three observed variables and two factors, with
The common covariance is obtained by taking row inner products of \(\Lambda\). The diagonal entries are \(1^2+0.5^2=1.25\), \(0.8^2+0.2^2=0.68\), and \(0.4^2+1^2=1.16\). The off-diagonal entries are \(1(0.8)+0.5(0.2)=0.90\), \(1(0.4)+0.5(1)=0.90\), and \(0.8(0.4)+0.2(1)=0.52\). Therefore
Choose the orthogonal matrix \(Q=\begin{pmatrix}0&-1\\1&0\end{pmatrix}\). Multiplication on the right gives
For example, the first rotated row has squared length \(0.5^2+(-1)^2=1.25\), and its inner product with the second row is \(0.5(0.2)+(-1)(-0.8)=0.90\). The remaining row products are \(1.16\), \(0.90\), and \(0.52\), respectively, just as before. Thus the rotated matrix gives the same \(\Sigma\), although its displayed loadings are different.
How Many Orientations Give the Same Covariance?
The transformations form a whole family, rather than just the single rotation in the example. For \(q\geq2\), rotations through continuously varying angles are orthogonal transformations. If the loading matrix has full column rank, these rotations produce genuinely different loading matrices, not merely different expressions for the same matrix.
Proof. Full column rank means that \(\Lambda^T\Lambda\) is invertible, so the matrix \(A=(\Lambda^T\Lambda)^{-1}\Lambda^T\) satisfies \(A\Lambda=I_q\). Multiply \(\Lambda Q=\Lambda\) on the left by \(A\). This gives \(Q=I_q\), as claimed. For \(q\geq2\), there are infinitely many orthogonal matrices, including rotations by different angles. Therefore, with full-column-rank loadings, there are infinitely many distinct loading matrices on the same covariance-preserving orbit. \(\square\)
The rank condition matters for this particular conclusion: if the columns are linearly dependent, some transformations might leave \(\Lambda\) unchanged. It does not alter the covariance-preservation calculation, which holds for every \(\Lambda\) and every orthogonal \(Q\). With one factor, the orthogonal choices reduce to \(Q=1\) and \(Q=-1\), so the basic ambiguity is a sign change rather than a continuous rotation.
Worked Example: A Continuous Family of Loading Matrices
Consider
The loading matrix has two linearly independent columns. Its common covariance and full covariance are
For any angle \(\theta\), let \(Q(\theta)=\begin{pmatrix}\cos\theta&-\sin\theta\\ \sin\theta&\cos\theta\end{pmatrix}\). Its columns have length one and inner product zero, so \(Q(\theta)\) is orthogonal. The rotated loading matrix is
At \(\theta=0\), this is the original \(\Lambda\). At \(\theta=\pi/4\), it becomes
These are not the same loading matrix: for instance, the first row changes from \((1,0)\) to \((1/\sqrt{2},-1/\sqrt{2})\). Yet the inner product of the first and second rows remains zero, and their squared lengths remain one. More generally, the theorem gives \((\Lambda Q(\theta))(\Lambda Q(\theta))^T=\Lambda\Lambda^T\) for every \(\theta\). Thus all of these orientations yield the same displayed \(\Sigma\).
Covariance Equivalence and Distributional Equivalence
Rotational indeterminacy is first and foremost a statement about covariance. The theorem requires only the stated means, covariances, and zero cross-covariance. Those conditions alone do not assert that \(F\) or \(\varepsilon\) is normally distributed, and equal covariances do not in general imply equal full distributions.
There is a stronger conclusion under a Gaussian assumption. If \(F\sim N(0,I_q)\), \(\varepsilon\sim N(0,\Psi)\), and \(F\) and \(\varepsilon\) are independent, then \(Q^TF\sim N(0,I_q)\) and remains independent of \(\varepsilon\). The transformed representation therefore gives the same distribution of \(X\), not just the same covariance. The next example verifies this point in a simple case.
Worked Example: The Gaussian Model Has the Same Distribution After Rotation
Let \(F\sim N(0,I_2)\) and \(\varepsilon\sim N(0,I_2)\) be independent, and set \(X=\Lambda F+\varepsilon\), with \(\Lambda=I_2\). Then \(X\) is a zero-mean Gaussian vector with covariance \(I_2I_2^T+I_2=2I_2\).
Use the rotation \(Q(\pi/4)\) from the previous example. The rotated loadings are \(\Lambda_* = Q(\pi/4)\), and define \(F_*=Q(\pi/4)^TF\). A linear transformation of a Gaussian vector is Gaussian, with covariance
Because \(F_*\) is a function of \(F\), and \(F\) is independent of \(\varepsilon\), \(F_*\) is also independent of \(\varepsilon\). Furthermore, \(\Lambda_*F_*=Q(\pi/4)Q(\pi/4)^TF=F\), so \(\Lambda_*F_*+\varepsilon=X\) exactly. Equivalently, its covariance is \(Q(\pi/4)Q(\pi/4)^T+I_2=2I_2\); both representations are zero-mean Gaussian and hence have the same distribution. The loading orientation changes, but the distribution of the observed vector does not.
Why the Ambiguity Matters
Covariance data can support a covariance decomposition without selecting a unique set of loading columns. In particular, if an analysis criterion uses the observed variables only through \(\Sigma\), then all the rotated parameterizations in this family give the same covariance-based fit. In a Gaussian covariance model, the log-likelihood for independent observations \(x_1,\ldots,x_n\), with \(\Sigma\) positive definite and mean \(\mu\), is
This expression uses \(\Lambda\) and \(\Psi\) only through \(\Sigma=\Lambda\Lambda^T+\Psi\). If \(\Psi\) is unchanged and \(\Lambda\) is replaced by \(\Lambda Q\), then \(\Sigma\), its determinant, and its inverse are unchanged. Thus the likelihood has the same value throughout this rotational family.
The ambiguity affects interpretation as well as estimation. A column of \(\Lambda\) is often read as a pattern of associations between one factor and the observed variables. Rotation can redistribute the entries across columns, so such a reading is not determined by covariance fit alone. This does not mean the common covariance is ambiguous: \(\Lambda\Lambda^T\) is unchanged. It means that the assignment of that common covariance to particular oriented factor axes is not unique.
Common Mistake
Wrong reasoning: “The estimated loading matrix has \(pq\) entries, and the fitted covariance is fixed, so the loadings must be uniquely determined by the data.”
Counting entries does not establish uniqueness. The model-implied covariance depends on \(\Lambda\) through \(\Lambda\Lambda^T\), and \((\Lambda Q)(\Lambda Q)^T=\Lambda\Lambda^T\) for every orthogonal \(Q\). For \(q\geq2\), this generally gives a continuous family of distinct loading matrices with identical covariance. A covariance fit by itself therefore cannot distinguish their orientations. Distinguishing one orientation from another requires information beyond that covariance fit; the rotation-preserving identity alone does not provide it.
Check Your Understanding
Use the model and results above to answer the following questions.
- Which identity for an orthogonal matrix is used to show that \((\Lambda Q)(\Lambda Q)^T=\Lambda\Lambda^T\)?
- Why does the specific covariance matrix \(\Psi\) remain unchanged under the transformation considered here?
- If \(\Lambda\) has full column rank and \(\Lambda Q=\Lambda\), what must \(Q\) be? Briefly justify your answer.
- What form does the orthogonal ambiguity take when there is only one factor?
- Under what additional assumptions does covariance equivalence in this discussion also imply equality of the full distribution of \(X\)?