maximum likelihood estimation of factors
fac_ml1(Z,r,max_iter,delta,Lr)
* Z = a real (n x p) vector
* r = a scalar, the number of common factors (r<k)
* max_iter = a scalar, the maximum number of iterations
* delta = a scalar, the tolerence to control for Heywood cases
* Lr = a (k x r) exclusion matrix (OPTIONAL; Default: Lr=ones(k,r))
- res('meth') = 'Maximum Likelihood Factor Analysis',
- res('x') = (nobs x nvar) matrix of variables
- res('nobs') = # of observations
- res('nvar') = # of variables
- res('nfactors') = # of estimated factors
- res('maxiter') = maximum # of iterations for the maximimisation of the log-likelihood
- res('tolerance') = tolerance (for Heywood cases)
- res('convcrit') = convergence criterion
- res('x means') = (nvar x 1) vector, collecting the means of the variables
- res('x stdev') = a (nvar x 1) vector, collecting the standard deviations of the variables
- res('loadings') = a (nvar x nfactors) matrix of loadings
- res('eigenvalues') = a(nvar x 1) vector of eigen values
- res('communalities') = a (nvar x 1) vecor, cllecting the part of each variable explained by the estiamted factors
- res('sigma') = a (nvar x nvar) matrix, the variance- covraiance matrix of residuals
- res('llike') = a vector, the estimated likelihood at each iteration until convergence
- res('scores') = a (nvar x nfactors) matrix of scores
- res('bayesian scores') = a (nvar x nfactors) matrix of bayesian scores
- res('factors') = a (nvar x nfactors) matrix of estimated factors
- res('bayesian factors') = a (nvar x nfactors) matrix of bayesian estimated factors
- res('resid') = a (nobs x nvar) matrix of residuals
- res('bayesian resid') = a (nobs x nvar) matrix of residualss
- res('Lr') = a (nvar x nfactors) matrix, with 0 on the cells that exclude a factor from the explanation of a variable
- res('aic') = a scalar, the AIC Information criterion
- res('bic') = a scalar, the BIC Information criterion
- res('f1'),... , res('fn') = the selected factor from 1 to n = nfactors
global GROCERDIR; // load the Spanish yields data used by Enrique M. Quilis for his Faclib matlab toolbox. load(GROCERDIR+'\data\esp_yields.dat') // performs the factor estimation on these data with 3 factors, a maximum number of iterations equal to 100 and a convergence criterion equal to 1e-4 res = fac_ml1(Z,'snum=3','maxiter=100','convcrit=1e-4'); | ![]() | ![]() |