Single Factor Analysis by MML

Version 1.0.1 (2.68 KB) by Statovic
An implementation of the MML single factor analysis model.
4 Downloads
Updated 24 Feb 2021

View License

This function computes the MML estimates and codelengths for the Gaussian uncorrelated model (i.e., normal distribution with a diagonal covariance) and the Gaussian single factor model. The single factor model for a data matrix X [N x K] (N samples, each sample of dimension K) is:


x_nk = mu_k + v_n * a_k + sigma_k*r_nk

k = 1,...K, n = 1,...,N
a = (a_1,...,a_K) are the factor loadings;
v = (v_1,...,v_N) are the factor scores;
mu = (mu_1,...,mu_K) is the mean;
sigma = (sigma_1, ..., sigma_K) are the K standard deviations; and
r_nk ~ N(0,1) [N x K] are standard Gaussian variates.

The function returns codelengths which should be used to decide whether the single factor model or the uncorrelated Gaussian model is preferred (models with smaller codelengths are better). Please see Wallace and Freeman (1992) for details.

Cite As

Statovic (2024). Single Factor Analysis by MML (https://www.mathworks.com/matlabcentral/fileexchange/87804-single-factor-analysis-by-mml), MATLAB Central File Exchange. Retrieved .

C. S. Wallace and P. R. Freeman: Single-Factor Analysis by Minimum Message Length Estimation, Journal of the Royal Statistical Society (Series B), Vol. 54, No. 1, pp. 195-209, 1992.

MATLAB Release Compatibility
Created with R2020b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.1

-minor edits to text

1.0.0