Skip to contents

ICL (Integrated Complete-data Likelihood) is a model selection criterion that penalizes uncertain cluster assignments more heavily than BIC. This makes it more conservative for selecting the number of clusters K.

Usage

compute_ICL_mfa(loglik, K, r, M, N_obs, resp)

Arguments

loglik

The total log-likelihood from the MFA model.

K

Number of clusters.

r

Factor dimension.

M

Observed dimension (channels).

N_obs

Number of observations (typically sum of all T_i across subjects).

resp

An (N x K) matrix of responsibilities (posterior probabilities).

Value

A numeric ICL value.

Details

ICL is computed as: $$ICL = BIC + 2 \times Entropy$$ where Entropy = -sum(resp * log(resp)).

The entropy penalty discourages models where cluster assignments are uncertain, which typically happens when K is overestimated (extra clusters with low membership). This makes ICL more conservative than BIC for K selection.

References

Biernacki, C., Celeux, G., & Govaert, G. (2000). Assessing a mixture model for clustering with the integrated completed likelihood. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(7), 719-725.

Examples

if (FALSE) { # \dontrun{
icl <- compute_ICL_mfa(fit$logLik, K = 2, r = 3, M = 8,
                       N_obs = 1000, resp = fit$resp)
} # }