Integrates information from several fit indices, and selects the best model.

  relative_importance = c(AIC = 0.2323, AWE = 0.1129, BIC = 0.2525, CLC = 0.0922, KIC =



A matrix or data.frame of fit indices, with colnames corresponding to the indices named in relative_importance.


A named numeric vector. Names should correspond to columns in fitindices, and values represent the relative weight assigned to the corresponding fit index. The default value corresponds to the fit indices and weights assigned by Akogul and Erisoglu. To assign uniform weights (i.e., each index is weighted equally), assign an equal value to all.




Many fit indices are available for model selection. Following the procedure developed by Akogul and Erisoglu (2017), this function integrates information from several fit indices, and selects the best model, using Saaty's (1990) Analytic Hierarchy Process (AHP). Conceptually, the process consists of the following steps:

  1. For each fit index, calculate the amount of support provided for each model, relative to the other models.

  2. From these comparisons, obtain a "priority vector" of the amount of support for each model.

  3. Compute a weighted average of the priority vectors for all fit indeces, with weights based on a simulation study examining each fit index' ability to recover the correct number of clusters (Akogul & Erisoglu, 2016).

  4. Select the model with the highest weighted average priority.


Caspar J. van Lissa


iris[,1:4] %>% estimate_profiles(1:4) %>% get_fit() %>% AHP()
#> [1] 3