cemMixRHLP {flamingos} | R Documentation |
cemMixRHLP implements the CEM algorithm to fit a MixRHLP model.
Description
cemMixRHLP implements the maximum complete likelihood parameter estimation of mixture of RHLP models by the Classification Expectation-Maximization algorithm (CEM algorithm).
Usage
cemMixRHLP(X, Y, K, R, p = 3, q = 1,
variance_type = c("heteroskedastic", "homoskedastic"),
init_kmeans = TRUE, n_tries = 1, max_iter = 100,
threshold = 1e-05, verbose = FALSE, verbose_IRLS = FALSE)
Arguments
X |
Numeric vector of length m representing the covariates/inputs
|
Y |
Matrix of size |
K |
The number of clusters (Number of RHLP models). |
R |
The number of regimes (RHLP components) for each cluster. |
p |
Optional. The order of the polynomial regression. By default, |
q |
Optional. The dimension of the logistic regression. For the purpose of segmentation, it must be set to 1 (which is the default value). |
variance_type |
Optional character indicating if the model is "homoskedastic" or "heteroskedastic". By default the model is "heteroskedastic". |
init_kmeans |
Optional. A logical indicating whether or not the curve partition should be initialized by the K-means algorithm. Otherwise the curve partition is initialized randomly. |
n_tries |
Optional. Number of runs of the EM algorithm. The solution providing the highest log-likelihood will be returned. If |
max_iter |
Optional. The maximum number of iterations for the EM algorithm. |
threshold |
Optional. A numeric value specifying the threshold for the relative difference of log-likelihood between two steps of the EM as stopping criteria. |
verbose |
Optional. A logical value indicating whether or not values of the log-likelihood should be printed during EM iterations. |
verbose_IRLS |
Optional. A logical value indicating whether or not values of the criterion optimized by IRLS should be printed at each step of the EM algorithm. |
Details
cemMixRHLP function implements the CEM algorithm. This function
starts with an initialization of the parameters done by the method
initParam
of the class ParamMixRHLP, then it alternates
between the E-Step, the C-Step (methods of the class
StatMixRHLP), and the CM-Step (method of the class
ParamMixRHLP) until convergence (until the relative
variation of log-likelihood between two steps of the EM algorithm is less
than the threshold
parameter).
Value
EM returns an object of class ModelMixRHLP.
See Also
ModelMixRHLP, ParamMixRHLP, StatMixRHLP
Examples
data(toydataset)
#' # Let's fit a mixRHLP model on a dataset containing 2 clusters:
data <- toydataset[1:190,1:21]
x <- data$x
Y <- t(data[,2:ncol(data)])
mixrhlp <- cemMixRHLP(X = x, Y = Y, K = 2, R = 2, p = 1, verbose = TRUE)
mixrhlp$summary()
mixrhlp$plot()