Bootstrap confidence intervals for the fitted mixture of Mallows models with Spearman distance
Bootstrap confidence intervals for the fitted mixture of Mallows models with Spearman distance
Return the bootstrap confidence intervals for the parameters of a mixture of Mallows models with Spearman distance fitted on partial rankings.
plot method for class "bootMSmix".
bootstrapMSmix( object, n_boot =50, type =(if(object$em_settings$n_clust ==1)"non-parametric"else"soft"), conf_level =0.95, all =FALSE, n_start =10, parallel =FALSE)## S3 method for class 'bootMSmix'plot(x,...)
Arguments
object: An object of class "emMSmix" returned by fitMSmix.
n_boot: Number of desired bootstrap samples. Defaults to 50.
type: Character indicating which bootstrap method must be used. Available options are: "non-parametric" or "parametric" for the G=1 case, and "soft" or "separated" for the G>1 case. Defaults to "non-parametric" when n_clust = 1 and to "soft" when n_clust > 1. See Details.
conf_level: Numeric: value in the interval (0,1] indicating the desired confidence level of the interval estimates. Defaults to 0.95.
all: Logical: whether the bootstrap samples of the MLEs for all the parameters must be returned. Defaults to FALSE.
n_start: Number of starting points for the MLE on each bootstrap sample. Defaults to 10.
parallel: Logical: whether parallelization over multiple initializations of the EM algorithm must be used. Used when rankings contains some partial rankings. Defaults to FALSE.
x: An object of class "bootMSmix" returned by bootstrapMSmix.
...: Further arguments passed to or from other methods (not used).
Returns
An object of class "bootMSmix", namely a list with the following named components:
itemwise_ci_rho: Character G$$x$$n matrix with the bootstrap itemwise confidence intervals for the component-specific consensus rankings.
ci_boot_theta: Numeric G$$x$$2 matrix with the bootstrap confidence intervals for the component-specific precisions.
ci_boot_weights: Numeric G$$x$$2 matrix with the bootstrap confidence intervals for the mixture weights. Returned when n_clust > 1 and type = "soft", otherwise NULL.
boot: List containing all the n_boot bootstrap MLEs. Returned when all = TRUE, otherwise NULL.
The boot sublist contains the following named components:
rho_boot: List of length n_clust. Each element is an integer n_bootxn_items matrix with rows containing the bootstrap MLEs of a component-specific consensus ranking.
theta_boot: Numeric n_bootxn_clust matrix with the bootstrap MLEs of the component-specific precision parameters in each row.
weights_boot: Numeric n_bootxn_clust matrix with the bootstrap MLEs of the mixture weights in each row. Returned when n_clust > 1 and type = "soft", otherwise NULL.
A list of 3 labelled plots, namely: i) rho_heatmap: a heatmap for the component-specific bootstrap consensus ranking estimates (when n_clust > 1, this is in turn a list of heatmaps for each consensus ranking estimate); ii) theta_density: a kernel density plot for the component-specific bootstrap precision estimates; iii) weights_density: a kernel density plot for the bootstrap mixture weight estimates is returned when n_clust > 1 and the object x was obtained from the bootstrapMSmix routine with the argument type = "soft", otherwise NULL.
Details
When n_clust = 1, two types of bootstrap are available: 1) type = "non-parametric" (default); type = "parametric", where the latter supports full rankings only.
When n_clust > 1, two types of bootstrap are available: 1) type = "soft" (default), which is the soft-separated bootstrap (Crispino et al., 2025+) and returns confidence intervals for all the parameters of the mixture of Mallows models with Spearman distance; 2) type = "separated", which is the separated bootstrap (Taushanov and Berchtold, 2019) and returns bootstrap samples for the component-specific consensus rankings and precisions.
Examples
## Example 1. Compute the bootstrap 95% confidence intervals for the Antifragility dataset.# Let us assume no clusters.r_antifrag <- ranks_antifragility[,1:7]set.seed(12345)fit <- fitMSmix(rankings = r_antifrag, n_clust =1, n_start =1)# Apply non-parametric bootstrap procedure.set.seed(12345)boot_np <- bootstrapMSmix(object = fit, n_boot =200)print(boot_np)# Apply parametric bootstrap procedure and set all = TRUE# to return the bootstrap MLEs of the consensus ranking.set.seed(12345)boot_p <- bootstrapMSmix(object = fit, n_boot =200, type ="parametric", all =TRUE)print(boot_p)# Plot the bootstrap estimates.p_boot_p <- plot(boot_p)p_boot_p$rho_heatmap()p_boot_p$theta_density()## Example 2. Compute the bootstrap 95% confidence intervals for the Antifragility dataset.# Let us assume two clusters.r_antifrag <- ranks_antifragility[,1:7]set.seed(12345)fit <- fitMSmix(rankings = r_antifrag, n_clust =2, n_start =20)# Apply soft bootstrap procedure and set all = TRUE# to return the bootstrap MLEs of the consensus ranking.set.seed(12345)boot_soft <- bootstrapMSmix(object = fit, n_boot =500, n_start =20, all =TRUE)print(boot_soft)# Plot the bootstrap estimates.p_boot_soft <- plot(boot_soft)p_boot_soft$rho_heatmap[[1]]()p_boot_soft$rho_heatmap[[2]]()p_boot_soft$theta_density()p_boot_soft$weights_density()# Apply separated bootstrap and compare results.set.seed(12345)boot_sep <- bootstrapMSmix(object = fit, n_boot =500, n_start =20, type ="separated", all =TRUE)print(boot_sep)p_boot_sep <- plot(boot_sep)p_boot_sep$rho_heatmap[[1]]()p_boot_sep$rho_heatmap[[2]]()p_boot_sep$theta_density()print(boot_soft)print(boot_sep)
References
Crispino M, Mollica C and Modugno L (2025+). MSmix: An R Package for clustering partial rankings via mixtures of Mallows Models with Spearman distance. (submitted)
Taushanov Z and Berchtold A (2019). Bootstrap validation of the estimated parameters in mixture models used for clustering. Journal de la société française de statistique, 160 (1).
Efron B (1982). The Jackknife, the Bootstrap, and Other Resampling Plans. Philadelphia, Pa. :Society for Industrial and Applied Mathematics.