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.
Statovic (2021). 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.
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!