AMFA {autoMFA} | R Documentation |

## Automated Mixtures of Factor Analyzers

### Description

An implementation of AMFA algorithm from (Wang and Lin 2020). The number of factors, *q*, is estimated during the fitting process of each MFA model.
The best value of *g* is chosen as the model with the minimum BIC of all candidate models in the range `gmin`

<= *g* <= `gmax`

.

### Usage

```
AMFA(
Y,
gmin = 1,
gmax = 10,
eta = 0.005,
itmax = 500,
nkmeans = 5,
nrandom = 5,
tol = 1e-05,
conv_measure = "diff",
varimax = FALSE
)
```

### Arguments

`Y` |
An |

`gmin` |
The smallest number of components for which an MFA model will be fitted. |

`gmax` |
The largest number of components for which an MFA model will be fitted. |

`eta` |
The smallest possible entry in any of the error matrices |

`itmax` |
The maximum number of ECM iterations allowed for the estimation of each MFA model. |

`nkmeans` |
The number of times the |

`nrandom` |
The number of randomly initialised models that will be used for each combination of |

`tol` |
The ECM algorithm terminates if the measure of convergence falls below this value. |

`conv_measure` |
The convergence criterion of the ECM algorithm. The default |

`varimax` |
Boolean indicating whether the output factor loading matrices should be constrained using varimax rotation or not. |

### Value

A list containing the following elements:

`model`

: A list specifying the final MFA model. This contains:`B`

: A*p*by*p*by*q*array containing the factor loading matrices for each component.`D`

: A*p*by*p*by*g*array of error variance matrices.`mu`

: A*p*by*g*array containing the mean of each cluster.`pivec`

: A 1 by*g*vector containing the mixing proportions for each FA in the mixture.`numFactors`

: A 1 by*g*vector containing the number of factors for each FA.

`clustering`

: A list specifying the clustering produced by the final model. This contains:`responsibilities`

: A*n*by*g*matrix containing the probability that each point belongs to each FA in the mixture.`allocations`

: A*n*by 1 matrix containing which FA in the mixture each point is assigned to based on the responsibilities.

`diagnostics`

: A list containing various pieces of information related to the fitting process of the algorithm. This contains:`bic`

: The BIC of the final model.`logL`

: The log-likelihood of the final model.`times`

: A data frame containing the amount of time taken to fit each MFA model.`totalTime`

: The total time taken to fit the final model.

### References

Wang W, Lin T (2020).
“Automated learning of mixtures of factor analysis models with missing information.”
*TEST*.
ISSN 1133-0686.

Zhao J, Yu PLH (2008).
“Fast ML Estimation for the Mixture of Factor Analyzers via an ECM Algorithm.”
*IEEE Transactions on Neural Networks*, **19**(11), 1956-1961.
ISSN 1045-9227.

### Examples

```
RNGversion('4.0.3'); set.seed(3)
MFA.fit <- AMFA(autoMFA::MFA_testdata,3,3, nkmeans = 3, nrandom = 3, itmax = 100)
```

*autoMFA*version 1.0.0 Index]