I am working with a given factor model of the form $$y=B x +\epsilon$$ where $x$ is a random vector in $R^M$, $B$ is an $N\times M$ matrix of factor loadings, $y$ is a random vector in $R^N$ (with $N \gg M$) and $\epsilon$ is a vector of mean-zero innovations, independent of $x$. For simplicity, the innovations are normally distributed and pairwise independent. My question is relatively simple to state: How can I test whether a factor is significant, in the same sense in which a predictor is significant in linear regression?

Clarification: I should perhaps have emphasized that I am working with a given model, and I have to assess the predictive value of each factor of the model. In other terms, is there a simple way to assess whether dropping a factor from a model would result in a loss of predictive power, without comparing two different models with and without the factor? In the latter case, there is a great deal of literature on model selection, based on ML, GMM etc. (The rotational invariance of factor models doesn't play an essential role, btw).


The short answer is: There is something you can do but I am not sure how meaningful it will be.

The Long answer: I will give the long answer for a simple model where we have only one unknown latent factor. The idea carries over to the more general case albeit with more complications. It follows from your factor model that:

$E(y) = B E(x)$ and

$Var(y) = B^T B Var(x) + \sigma^2$

(Note: Keep in mind that in this simplified model: $x$ is a scalar we are dealing with only one factor).

Since the data is normally distributed the above two equations determine your likelihood function.

However, do note that you have identification issues here as you have to estimate $B$ and $x$ simultaneously. The traditional way to solve the identification issue is to assume that:

$B(1) = 1$

(i.e., set the factor loading of the first element to 1. Otherwise we can scale $B$ by $\alpha$ and scale $E(x)$ by $\frac{1}{\alpha}$ and obtain an identical E(y)).

It follows that:

E(x) = E(y(1))

In other words, the above identification constraint on B has effectively constrained the mean of our factor to be the sample mean of our first dependent variable (i.e., y(1)).

For similar reasons, we assume that:

$Var(x) = 1$

(Otherwise you could just scale $B$ by $\sqrt{\alpha}$ and scale $Var(x)$ by $\frac{1}{\alpha}$ and your likelihood function will not change).

Since we impose an identification constraint on the distribution of x (which is in some sense arbitrary) I am not sure how meaningful it is to perform statistical testing for a factor.

You could compute factor scores and perform standard statistical testing using the mean of $E(x) = E(y(1))$ and $Var(x) = 1$.

So, the answer to your question depends on:

Is the conclusion from the above statistical test invariant to your choice of identification constraints?

I do not know the answer to the above question.


Just speaking on a practical level, in my discipline (psychology) I have never seen this done for pure factor analysis.

That being said, the significance (fit really) of a statistical model is normally tested by the use of Structural Equation Modelling, where you attempt to reproduce the observed matrix of data from the structure you have proposed through the use of factor analysis.

The SEM, lavaan or OpenMx Packages for R will all do this.

Technically, the Chi square test will tell you if a factor model fits perfectly, but this statistic is almost always significant with any appreciable (200+) sample size.

The psych package for R also gives you the Bayesian Information Criterion as a measure of fit after you specify a factor model, but I am unsure as to how useful this is.


If the problem at issue consists of testing for the optimal number of factors, Jushan Bai and Serena Ng in several articles provide a test based on AIC/BIC that minimizes, for different options, the variance of the error. They supply to my knowledge the most updated approach to resolve this issue. See also Alexei Onatski who uses a different method based on eigenvalues of the factor covariance matrix.

  • $\begingroup$ Thanks. I know the papers your mention. Their setting is however different from the one I describe. $\endgroup$
    – gappy
    Apr 10 '11 at 11:29

I am not sure if I got your question right, but if you already have a number of exact factors, I guess you can use chi-squared test to see if the factor loading of your concern is significant as we do in Multiple Regression.

So here I assume you know in advance the exact value of factors and the criterion variable, it's much like multiple regression.

If you have multiple criterion variables, then you might want to test if the factor loadings for a specific factor is significantly different for (0,0,0, ...,0). We can approach this problem with Multiple Comparison or multivariate viewpoint.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.