ecm_msfa: Estimates the parameters of a MSFA model

Description Usage Arguments Details Value References

View source: R/MSFA_R.R

Description

Maximum likelihood estimation of the MSFA model parameters via the ECM algorithm.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
ecm_msfa(
  X_s,
  start,
  nIt = 50000,
  tol = 10^-7,
  constraint = "block_lower2",
  robust = FALSE,
  corr = TRUE,
  mcd = FALSE,
  trace = TRUE
)

Arguments

X_s

List of lenght S, corresponding to number of different studies considered. Each element of the list contains a data matrix, with the same number of columns P for all the studies.

start

A list containing the slots Phi, Lambda_s and Psi_s, containing the starting values for the matrix Phi of common factor loadings, of size P x K, for the matrices Lambda_s of study-specific factor loadings, a list of size S where each element contains a matrix with P x J_s, and finally for the study-specific matrices of uniquenesses, a list of size S, where each element contains a vector of length P. Note that a suitable list of this kind is produced by start_msfa.

nIt

Maximum number of iterations for the ECM algorithm. Default is 50000.

tol

Tolerance for declaring convergence of the ECM algorithm. Default is 10^-7.

constraint

Constraint for ensuring identifiability. The default is "block_lower2", which corresponds to the main proposal of De Vito et al. (2018). An alternative identification strategy is triggered by "block_lower1"; this is more restrictive but may work also with smaller number of variables. Again, the latter strategy is mentioned in De Vito et al. (2018).

robust

If TRUE, robust covariance matrix is used in place of the sample covariance. Default is FALSE.

corr

If TRUE, the analysis will employ the correlation matrix instead of the covariance matrix.

mcd

If TRUE, the robust estimator used for the covariance is the same proposed in Pison et al. (2003), otherwise the default value of the function CovRob of the robust library is employed. Default is FALSE.

trace

If TRUE then trace information is being printed every 1000 iterations of the ECM algorithm.

Details

There are two different constraints for achieving model identification, as detailed in the reference, though the function can also be run without such constraints (not recommended). No checking is done on the starting value for the various model matrices, since a suitable value for them is produced by the function start_msfa.

Value

A list containing the following components:

Phi,Lambda_s, psi_s

the estimated model matrices.

loglik

the value of the log likelihood function at the final estimates.

AIC, BIC

model selection criteria at the estimate.

npar

number of model parameters.

iter

the number of ECM iterations performed.

constraint

the identification constraint enforced.

References

De Vito, R., Bellio, R., Trippa, L. and Parmigiani, G. (2018). (2019). Multi-study Factor Analysis. Biometrics, 75, 337-346.

Pison, G., Rousseeuw, P.J., Filzmoser, P. and Croux, C. (2003). Robust factor analysis. Journal of Multivariate Analysis, 84, 145-172.


rdevito/MSFA documentation built on March 18, 2020, 2:57 p.m.