Solved – Singular covariance matrix in exploratory Factor Analysis

categorical datafactor analysispython

I'm kind of a noob to EFA and am trying to use the FANode object in Python. This is from the MDP library. I am using it on survey data to see which variables are tied together. Whenever I run it on my data, I get the following error:

mdp.NodeException: The covariance matrix of the data is singular. Redundant dimensions need to be removed.

I was wondering if anyone else has experienced these errors? What do they mean to you? Again, I am quite the noob and would prefer to ask the community before diving into a text book.

Best Answer

Covariance matrix of the data being singular means that some variables in your data set are linear functions of one another. Most typically, this is a full set of dummy variables corresponding to a categorical factor. You put categorical data into your tags, but you did not describe how exactly it shows up in your EFA. Technically speaking, categorical data violates assumptions of EFA (multivariate normal data), so you will probably need to modify your analysis somehow.

The error message, however, speaks of a somewhat poor implementation of EFA. There are EFA methods that can get away with a degenerate matrix, although of course it makes life harder for the methods that rely on inverses and determinants of the covariance matrix of the observed variables. A better implementation should crank through it with a warning.

Related Question