Find number of factors for factor analyses
4 ビュー (過去 30 日間)
古いコメントを表示
Hi all,
I have a dataset compiled in a 532*8 Matrix (532 participants; 8 variables) and I am trying to perform a factor analysis.Hoewever, I want to do an explanatory factor analysis and not determine the number of factors a priori. However, the function factoran(x) requires the input of the number of factors. I've read that performing a Horn Parallel Analysis on the data can help to determine the optimal number of factors and I found a function through FileExchange able to conduct this analysis on my data (HornParallelAnalysis(data, K) - File Exchange - MATLAB Central (mathworks.com)).
Would it make sense to implement both functions as I did in the code snippet shared below?
data_matrix = 532*8 matrix as explained above
data_matrix_standardized = normalize(data_matrix) % normalized input data (as required for HornParallelAnalysis.m)
[sMEV, ciEV, cumE, resL2, nBasis] = HornParallelAnalysis(data_matrix_standardized,1000) % perform Horn Parallel Analysis to obtain number of factors
[Loadings, specVar, T, stats, F] = factoran(data_matrix,nBasis) % perform factor analysis
Thanks, any help would be appreciated!
Johanna
0 件のコメント
採用された回答
Jeff Miller
2023 年 1 月 31 日
My $0.02 worth:
I would suggest running facan with nBasis=8 and checking the resulting scree plot (plot of eigenvalue as a function of component number) to see how many components you need. If the first component or two explain substantial percentages of the variance and the third only explains another few percent, you might learn more by focusing your attention on the 2D solution even if the parallel analysis tells you the third dimension explains more than a chance amount.
After you look at the scree plot and decide how many components to keep, rerun facan with nBasis set to that number of components.
0 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!