Estimate factor scores from new data

13 次查看(过去 30 天)
Hi all,
I performed a factor analysis on a matrix with 100 observations and 14 variables (100-by-14 matrix), retaining 5 factors with an orthomax rotation ("5" was selected through parallel analysis):
[ lambda , psi , T , stats, F ] = factoran ( data, 5 , 'rotate','orthomax' ) ;
Now, I want to apply the same rotation on new data. In other words, I have a new dataset with 20 new observations (20-by-14 matrix), and I need to calculate the factor scores using the exact same rotation.
How do I correctly obtain the 20-by-5 matrix of "new" factor scores?
Thanks in advance,
Sim

回答(1 个)

Sachin Lodhi
Sachin Lodhi 2023-9-4
此 个回答 已被 Simone Di Plinio 标记
Hi Simone,
Based on my understanding, it appears that you are seeking to apply orthogonal rotation to new data and obtain the corresponding factor scores using the "factoran()" method.
To achieve this, you can utilize the "Rotate" parameter and set its value to "orthomax" to specify the orthogonal rotation method. Additionally, you can utilize the "Scores" parameter to compute the factor scores. There are two possible values you can specify for the "Scores" parameter, namely "wls" (weighted least-squares) and "regression".
For more detailed information and guidance on this topic, I recommend referring to the following page: Estimate Factor Scores from New Data.
I hope this information assists you in successfully obtaining the factor scores for your matrix.
Thanks,
Sachin.

类别

Help CenterFile Exchange 中查找有关 Dimensionality Reduction and Feature Extraction 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by