% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/feature_fimix.R
\name{assess_fimix_compare}
\alias{assess_fimix_compare}
\title{Compare FIMIX-PLS Solutions Across Multiple K Values}
\usage{
assess_fimix_compare(
  seminr_model,
  K_range = 2:5,
  nstart = 10,
  max_iter = 5000,
  stop_criterion = 1e-06,
  seed = 123
)
}
\arguments{
\item{seminr_model}{An estimated SEMinR model from \code{estimate_pls()}.}

\item{K_range}{Integer vector of K values to evaluate (default 2:5).}

\item{nstart}{Integer; number of random EM starts (default 10).}

\item{max_iter}{Integer; maximum EM iterations per start (default 5000).}

\item{stop_criterion}{Numeric; convergence threshold on log-likelihood
change (default 1e-6).}

\item{seed}{Random seed for reproducibility (default 123).}
}
\value{
An object of class \code{fimix_comparison} containing:
  \item{solutions}{Named list of \code{fimix_analysis} objects (one per K)}
  \item{fit_table}{Data frame with K as rows and criteria as columns}
  \item{K_range}{The evaluated K values}
  \item{pls_model}{The original model}
}
\description{
\code{assess_fimix_compare} runs \code{\link{assess_fimix}} for each value
of K in \code{K_range} and produces a comparison table of information
criteria to guide segment number selection.
}
\details{
The recommended approach is to inspect AIC3 and CAIC jointly: when both
agree on K, accuracy reaches approximately 84\% (Sarstedt et al., 2011).
AIC4 is the best-performing single criterion. Entropy (EN) indicates
classification quality but should not be used alone to select K.
}
\examples{
library(seminr)
library(seminrExtras)

mobi_mm <- constructs(
  composite("Image",        multi_items("IMAG", 1:5)),
  composite("Expectation",  multi_items("CUEX", 1:3)),
  composite("Value",        multi_items("PERV", 1:2)),
  composite("Satisfaction", multi_items("CUSA", 1:3)),
  composite("Loyalty",      multi_items("CUSL", 1:3))
)

mobi_sm <- relationships(
  paths(from = "Image",       to = c("Expectation", "Satisfaction", "Loyalty")),
  paths(from = "Expectation", to = c("Value", "Satisfaction")),
  paths(from = "Value",       to = "Satisfaction"),
  paths(from = "Satisfaction",to = "Loyalty")
)

mobi_pls <- estimate_pls(data = mobi,
                          measurement_model = mobi_mm,
                          structural_model  = mobi_sm)

\donttest{
fimix_comp <- assess_fimix_compare(mobi_pls, K_range = 2:4,
                                     nstart = 5, seed = 123)
print(fimix_comp)
plot(fimix_comp)
}

}
\references{
Sarstedt, M., Becker, J.-M., Ringle, C. M. & Schwaiger, M. (2011).
Uncovering and Treating Unobserved Heterogeneity with FIMIX-PLS: Which
Model Selection Criterion Provides an Appropriate Number of Segments?
Schmalenbach Business Review, 63(1), 34-62.
}
\seealso{
\code{\link{assess_fimix}} for single-K FIMIX analysis
}
