Estimate factor scores from new data

13 views (last 30 days)
Simone Di Plinio
Simone Di Plinio on 10 Oct 2022
Answered: Sachin Lodhi on 4 Sep 2023
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

Answers (1)

Sachin Lodhi
Sachin Lodhi on 4 Sep 2023
This answer was flagged by 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.

Community Treasure Hunt

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

Start Hunting!