# what is the best approach for factor analysis when the data has more attributes than inputs? [closed]

i think i should ask the question like this: i am having a data set of 20 participants with 89 attributes , almost all of the attributes have values between 5 to 0 and there exist more than 20 attributes that they are only (0 or 1 ).

i want to perform a factor analysis on this data and calculate the weights for prediction job.

i am having two big problem here:

first most of the functions that i am using will give me errors while performing ( ex : matrix is not positive definite; something has done , or ex 2: the objective function is not defined ,....). but they still give me the results, but i am not sure if i can trust these results or not ?

second problem is in finding the number of factors:

i am trying some visual methods and some analytical methods to extract the number of necessary factors. For example when i use fa.parallel it first gives me the error that matrix is not positive definite, something has done. then suggest me to use 4 factors or 4 components. but the problem is that when i use only 4 factors it covers only up to 41 % of the total variance. when i use prcomp() function to see how much load is on the components i can see 19 components are covering the whole variance. and when i use some visual methods i can see they are suggesting me between 5 to 18( base on eigen values greater than the mean) or base on parallel analysis.

that is why i am not sure that what should i do for choosing the factors or which method i can use that wont give me error while performing.

i hope some one can help me or advise me with this issue

• For 0,1 columns, you could try multiple correspondence analysis: factominer.free.fr/classical-methods/… Commented Jan 16, 2016 at 1:48
• Your question contains several separate questions: 1) FA and sample size, 2) FA and data type; 3) FA and number of factors. Each of these were asked and answered not once on this site. Please make a search. If you then still have what to ask - please do it, but be maximally specific. Commented Jan 16, 2016 at 2:37

FA or PCA is commonly done on the variable-by-variable ($p \times p$) covariance $\mathbf{C}$ or correlation matrix $\mathbf{R}$. In your case, since the $p$ variables exceeds the $n$ records ($p>>n$), then by definition, there will be $p-n$ zero eigenvalues of $\mathbf{R}$. In this case, the use of singular value decomposition (SVD) of your $\mathbf{R}$ will overcome your problems. As a totally relevant aside, a problem with FA is that there is an infinite number of solutions, whereas for PCA there is not.