MCNM | R Documentation |
Carries out model-based clustering using a multivariate contaminated normal mixture (MCNM). The function will determine itself if the data set is complete or incomplete and fit the appropriate model accordingly. In the incomplete case, the data set must be at least bivariate, and missing values are assumed to be missing at random (MAR).
MCNM(
X,
G,
criterion = c("BIC", "AIC", "KIC", "KICc", "AIC3", "CAIC", "AICc", "ICL", "AWE", "CLC"),
max_iter = 20,
epsilon = 0.01,
init_method = c("kmedoids", "kmeans", "hierarchical", "mclust", "manual"),
clusters = NULL,
eta_min = 1.001,
progress = TRUE
)
X |
An |
G |
An integer vector specifying the numbers of clusters, which must be at least 1. |
criterion |
A character string indicating the information criterion for model selection. "BIC" is used by default. See the details section for a list of available information criteria. |
max_iter |
(optional) A numeric value giving the maximum number of iterations each EM algorithm is allowed to use; 20 by default. |
epsilon |
(optional) A number specifying the epsilon value for the Aitken-based stopping criterion used in the EM algorithm: 0.01 by default. |
init_method |
(optional) A string specifying the method to initialize
the EM algorithm. "kmedoids" clustering is used by default. Alternative
methods include "kmeans", "hierarchical", "mclust", and "manual". When "manual" is chosen,
a vector |
clusters |
(optional) A numeric vector of length |
eta_min |
(optional) A numeric value close to 1 to the right specifying the minimum value of eta; 1.001 by default. |
progress |
(optional) A logical value indicating whether the fitting progress should be displayed; TRUE by default. |
Available information criteria include
AIC - Akaike information criterion
BIC - Bayesian information criterion
KIC - Kullback information criterion
KICc - Corrected Kullback information criterion
AIC3 - Modified AIC
CAIC - Bozdogan's consistent AIC
AICc - Small-sample version of AIC
ICL - Integrated Completed Likelihood criterion
AWE - Approximate weight of evidence
CLC - Classification likelihood criterion
An object of class MixtureMissing
with:
model |
The model used to fit the data set. |
pi |
Mixing proportions. |
mu |
Component location vectors. |
Sigma |
Component dispersion matrices. |
alpha |
Component proportions of good observations. |
eta |
Component degrees of contamination. |
z_tilde |
An |
v_tilde |
An |
clusters |
A numeric vector of length |
outliers |
A logical vector of length |
data |
The original data set if it is complete; otherwise, this is the data set with missing values imputed by appropriate expectations. |
complete |
An |
npar |
The breakdown of the number of parameters to estimate. |
max_iter |
Maximum number of iterations allowed in the EM algorithm. |
iter_stop |
The actual number of iterations needed when fitting the data set. |
final_loglik |
The final value of log-likelihood. |
loglik |
All the values of log-likelihood. |
AIC |
Akaike information criterion. |
BIC |
Bayesian information criterion. |
KIC |
Kullback information criterion. |
KICc |
Corrected Kullback information criterion. |
AIC3 |
Modified AIC. |
CAIC |
Bozdogan's consistent AIC. |
AICc |
Small-sample version of AIC. |
ent |
Entropy. |
ICL |
Integrated Completed Likelihood criterion. |
AWE |
Approximate weight of evidence. |
CLC |
Classification likelihood criterion. |
init_method |
The initialization method used in model fitting. |
Punzo, A. and McNicholas, P.D., 2016. Parsimonious mixtures of multivariate
contaminated normal distributions. Biometrical Journal, 58(6), pp.1506-1537.
Tong, H. and, Tortora, C., 2022. Model-based clustering and outlier detection
with missing data. Advances in Data Analysis and Classification.
data('auto')
#++++ With no missing values ++++#
X <- auto[, c('engine_size', 'city_mpg', 'highway_mpg')]
mod <- MCNM(X, G = 2, init_method = 'kmedoids', max_iter = 10)
summary(mod)
plot(mod)
#++++ With missing values ++++#
X <- auto[, c('normalized_losses', 'horsepower', 'highway_mpg', 'price')]
mod <- MCNM(X, G = 2, init_method = 'kmedoids', max_iter = 10)
summary(mod)
plot(mod)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.