Factor analysis - FACTORAN how to impose restrictions

7 views (last 30 days)
I have a dataset of 17 variables and 480 observations, matrix=(480,17). I use FACTORAN to compute the maximum likelihood estimate of the factor loadings matrix with 3 common factors, lambda=(17x3) ; but i previous need to impose some restrictions on the factors of lambda. I need that: the first row is equal to [1 , 1, 0]; the 9th row equal to [1 , 0.5, 0]; the 17th row equal to [1 , 0, 0]; but i don't know how to impose these restrictions in Factoran.
Thanks for the help
Matteo

Answers (1)

arushi
arushi on 20 Aug 2024
Hi Matteo,
To impose specific constraints on the factor loadings matrix when using factoran in MATLAB, you can use a workaround since factoran does not directly support constraints. You can use optimization techniques to manually adjust the factor loadings matrix to satisfy the constraints. Here's a generalguide on how to implement this using MATLAB's optimization functions:
  1. Initial Factor Analysis: Perform factor analysis without constraints to get an initial estimate of the factor loadings.
  2. Optimization Setup: Use MATLAB's fmincon to adjust the factor loadings matrix to satisfy the desired constraints while minimizing the discrepancy between the observed and implied covariance matrices.
  3. Custom Objective Function: Create an objective function that computes the discrepancy between the implied and observed covariance matrices, subject to the constraints on specific rows of the factor loadings matrix.
Hope this helps.

Categories

Find more on Dimensionality Reduction and Feature Extraction in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!