Computes bootstrap confidence intervals for the estimated population size using the fractional weighted bootstrap (FWB) of Xu et al. (2020). Supports cluster bootstrap to account for within-country correlation across years and sex.
Arguments
- object
An
"uncounted"object (fitted model).- R
Number of bootstrap replications (default 199).
- cluster
One-sided formula for cluster variable (e.g.,
~ country_code). When provided, FWB weights are generated at the cluster level (all observations in a cluster get the same weight). WhenNULL, observation-level FWB is used.- level
Confidence level (default 0.95).
- ci_type
Type of bootstrap CI:
"perc"(percentile) or"bc"(bias-corrected percentile). Default"perc".- point_estimate
Which point estimate to report:
"median"(default, recommended) – bootstrap median, robust to skewness;"plugin"– plug-in \(\hat{\xi} = \sum N^{\hat{\alpha}}\);"mean"– bootstrap mean.- seed
Random seed for reproducibility.
- verbose
Print progress bar? Default TRUE.
- by
Optional formula for stratified population size estimation (e.g.,
~ year,~ country). When provided, bootstrap population sizes are computed perby-group instead of percov_alphagroup. Seepopsizefor details.- total
Logical; if
TRUEand multiple groups exist, include a total row computed by summing per-replicate group estimates before taking quantiles. DefaultFALSE.
Value
An object of class "uncounted_boot" with components:
- t
Matrix (
Rxn_groups): bootstrap population size estimates per group. Each row is one replicate.- t0
Numeric vector: plug-in point estimates from original fit.
- t0_bc
Numeric vector: bias-corrected point estimates (Taylor expansion).
- popsize
Data frame with columns:
group,estimate,lower,upper, whereestimateuses the chosenpoint_estimatetype.- popsize_full
Data frame with all point estimate types:
plugin,plugin_bc,boot_median,boot_mean,lower,upper.- total
List with total across groups (
plugin,plugin_bc,median,mean,lower,upper), orNULLif only one group.- R
Number of replications requested.
- ci_type
CI type used (
"perc"or"bc").- point_estimate
Point estimate type used.
- level
Confidence level.
- n_converged
Number of bootstrap replications where the model converged.
- cluster
Logical; whether cluster bootstrap was used.
Details
Fractional weighted bootstrap (FWB). Instead of resampling rows, FWB generates random non-negative weights from a Dirichlet distribution and refits the model with weighted likelihood (Xu et al., 2020). This avoids duplicate-row issues with discrete data and is better suited to GLMs. The fwb package provides the implementation.
Cluster bootstrap. When cluster is specified, all observations
within the same cluster (e.g., country) receive the same FWB weight.
This preserves within-cluster correlation structure (e.g., the same
country observed across multiple years and sex categories). Cluster
bootstrap is recommended whenever observations are not independent.
Why bootstrap median as point estimate. The transformation \(\xi = \sum N_i^{\alpha}\) is convex in \(\alpha\) for \(N > 1\), so by Jensen's inequality \(E[\hat{\xi}] \geq \xi\). The bootstrap distribution of \(\hat{\xi}\) is therefore typically right-skewed, and the bootstrap mean overestimates \(\xi\). The bootstrap median is a more robust central-tendency summary that is less sensitive to this skewness, and is the default point estimate.
Percentile CI (ci_type = "perc"). The interval is
\([\hat{\xi}^{*}_{\alpha/2}, \; \hat{\xi}^{*}_{1-\alpha/2}]\),
i.e., the \(\alpha/2\) and \(1-\alpha/2\) quantiles of the
bootstrap distribution.
Bias-corrected percentile CI (ci_type = "bc"). Adjusts the
quantile probabilities for median bias. Let
\(z_0 = \Phi^{-1}(\mathrm{Pr}(\hat{\xi}^* < \hat{\xi}_0))\).
The adjusted quantile probabilities are
\(p_L = \Phi(2z_0 + z_{\alpha/2})\) and
\(p_U = \Phi(2z_0 - z_{\alpha/2})\), yielding
\([\hat{\xi}^{*}_{p_L}, \; \hat{\xi}^{*}_{p_U}]\).
Total across groups. When multiple groups exist, the total is computed by summing per-replicate group estimates before taking quantiles. This correctly accounts for between-group correlation within each bootstrap replicate, unlike summing marginal quantiles.
References
Xu, L., Gotwalt, C., Hong, Y., King, C. B., & Meeker, W. Q. (2020). Applications of the fractional-random-weight bootstrap. The American Statistician, 74(4), 345–358.
Examples
# Simulate synthetic data
set.seed(42)
n_obs <- 15
sim_data <- data.frame(
country = rep(paste0("C", 1:5), each = 3),
year = rep(2018:2020, 5),
N = rpois(n_obs, lambda = 500000),
n = rpois(n_obs, lambda = 1000),
m = rpois(n_obs, lambda = 50)
)
fit <- estimate_hidden_pop(
data = sim_data, observed = ~m, auxiliary = ~n,
reference_pop = ~N, method = "poisson",
countries = ~country
)
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
# \donttest{
# Cluster bootstrap (recommended when data has repeated country obs)
boot <- bootstrap_popsize(fit, R = 99, cluster = ~country, seed = 123)
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
| | 0 % ~calculating
#> Warning: Some alpha values < 0 (min = -0.081). Consider using constrained = TRUE.
#>
|+ | 1 % ~01s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|++ | 2 % ~00s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|++ | 3 % ~00s
#> Warning: Some alpha values < 0 (min = -0.517). Consider using constrained = TRUE.
#>
|+++ | 4 % ~04s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++ | 5 % ~03s
#> Warning: Some alpha values < 0 (min = -0.077). Consider using constrained = TRUE.
#>
|++++ | 6 % ~03s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++ | 7 % ~02s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++ | 8 % ~02s
#> Warning: Some alpha values < 0 (min = -0.471). Consider using constrained = TRUE.
#>
|+++++ | 9 % ~02s
#> Warning: Some alpha values < 0 (min = -2.087). Consider using constrained = TRUE.
#>
|++++++ | 10% ~02s
#> Warning: Some alpha values < 0 (min = -0.076). Consider using constrained = TRUE.
#>
|++++++ | 11% ~02s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++ | 12% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++ | 13% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|++++++++ | 14% ~01s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|++++++++ | 15% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++++++ | 16% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++ | 17% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++ | 18% ~01s
#> Warning: Some alpha values < 0 (min = -0.551). Consider using constrained = TRUE.
#>
|++++++++++ | 19% ~01s
#> Warning: Some alpha values < 0 (min = -0.465). Consider using constrained = TRUE.
#>
|+++++++++++ | 20% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++++++++ | 21% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|++++++++++++ | 22% ~01s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|++++++++++++ | 23% ~01s
#> Warning: Some alpha values < 0 (min = -0.078). Consider using constrained = TRUE.
#>
|+++++++++++++ | 24% ~01s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|+++++++++++++ | 25% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++ | 26% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++ | 27% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++++++++++++ | 28% ~01s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|+++++++++++++++ | 29% ~01s
#> Warning: Some alpha values < 0 (min = -0.465). Consider using constrained = TRUE.
#>
|++++++++++++++++ | 30% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++ | 31% ~01s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|+++++++++++++++++ | 32% ~01s
#> Warning: Some alpha values < 0 (min = -0.081). Consider using constrained = TRUE.
#>
|+++++++++++++++++ | 33% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++ | 34% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++ | 35% ~01s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|+++++++++++++++++++ | 36% ~01s
#> Warning: Some alpha values < 0 (min = -0.471). Consider using constrained = TRUE.
#>
|+++++++++++++++++++ | 37% ~01s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|++++++++++++++++++++ | 38% ~01s
#> Warning: Some alpha values < 0 (min = -2.481). Consider using constrained = TRUE.
#>
|++++++++++++++++++++ | 39% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++ | 40% ~01s
#> Warning: Some alpha values < 0 (min = -0.077). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++ | 41% ~01s
#> Warning: Some alpha values < 0 (min = -2.301). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++ | 42% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++ | 43% ~01s
#> Warning: Some alpha values < 0 (min = -0.075). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++ | 44% ~01s
#> Warning: Some alpha values < 0 (min = -2.54). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++ | 45% ~01s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++ | 46% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++ | 47% ~01s
#> Warning: Some alpha values < 0 (min = -0.465). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++ | 48% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++ | 49% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++ | 51% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++ | 52% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++ | 53% ~00s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++ | 54% ~00s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++ | 55% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++ | 56% ~00s
#> Warning: Some alpha values < 0 (min = -0.529). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++ | 57% ~00s
#> Warning: Some alpha values < 0 (min = -0.122). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++ | 58% ~00s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++ | 59% ~00s
#> Warning: Some alpha values < 0 (min = -0.078). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++ | 60% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++ | 61% ~00s
#> Warning: Some alpha values < 0 (min = -0.465). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++ | 62% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++ | 63% ~00s
#> Warning: Some alpha values < 0 (min = -0.464). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++ | 64% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++ | 65% ~00s
#> Warning: Some alpha values < 0 (min = -0.08). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++ | 66% ~00s
#> Warning: Some alpha values < 0 (min = -1.502). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++ | 67% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++ | 68% ~00s
#> Warning: Some alpha values < 0 (min = -2.54). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++ | 69% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++ | 70% ~00s
#> Warning: Some alpha values < 0 (min = -0.462). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++ | 71% ~00s
#> Warning: Some alpha values < 0 (min = -0.465). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++ | 72% ~00s
#> Warning: Some alpha values < 0 (min = -0.465). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++ | 73% ~00s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++ | 74% ~00s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++ | 75% ~00s
#> Warning: Some alpha values < 0 (min = -2.008). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++ | 76% ~00s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++ | 77% ~00s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++ | 78% ~00s
#> Warning: Some alpha values < 0 (min = -0.498). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++ | 79% ~00s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++ | 80% ~00s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~00s
#> Warning: Some alpha values < 0 (min = -0.465). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~00s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~00s
#> Warning: Some alpha values < 0 (min = -1.934). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~00s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
#> Warning: Some alpha values < 0 (min = -2.205). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
#> Warning: Some alpha values < 0 (min = -0.077). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
#> Warning: Some alpha values < 0 (min = -2.033). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=01s
boot # prints table with median as point estimate
#> Bootstrap population size estimation
#> R = 99 | CI type: perc | Point estimate: median | Converged: 99 / 99
#> Cluster bootstrap
#> 95% CI
#>
#> Point estimate: bootstrap median (recommended) | CI: bootstrap percentile
#> Plugin Plugin (BC) Boot median Boot mean CI lower CI upper
#> (all) 0 0 0 1 0 5
boot$popsize # data.frame for further use
#> group estimate lower upper
#> 1 (all) 0.03264771 5.773568e-13 5.450315
boot$popsize_full # all estimate types side by side
#> group plugin plugin_bc boot_median boot_mean lower upper
#> 1 (all) 0.03262174 0 0.03264771 0.6003125 5.773568e-13 5.450315
# Bias-corrected percentile CI
boot_bc <- bootstrap_popsize(fit, R = 99, ci_type = "bc", seed = 123)
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
| | 0 % ~calculating
#> Warning: Some alpha values < 0 (min = -0.11). Consider using constrained = TRUE.
#>
|+ | 1 % ~10s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++ | 2 % ~05s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|++ | 3 % ~03s
#> Warning: Some alpha values < 0 (min = -0.193). Consider using constrained = TRUE.
#>
|+++ | 4 % ~04s
#> Warning: Some alpha values < 0 (min = -0.583). Consider using constrained = TRUE.
#>
|+++ | 5 % ~04s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|++++ | 6 % ~04s
#> Warning: Some alpha values < 0 (min = -0.078). Consider using constrained = TRUE.
#>
|++++ | 7 % ~03s
#> Warning: Some alpha values < 0 (min = -0.463). Consider using constrained = TRUE.
#>
|+++++ | 8 % ~03s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|+++++ | 9 % ~03s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++ | 10% ~02s
#> Warning: Some alpha values < 0 (min = -1.007). Consider using constrained = TRUE.
#>
|++++++ | 11% ~02s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++ | 12% ~02s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|+++++++ | 13% ~02s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++ | 14% ~02s
#> Warning: Some alpha values < 0 (min = -2.028). Consider using constrained = TRUE.
#>
|++++++++ | 15% ~02s
#> Warning: Some alpha values < 0 (min = -0.009). Consider using constrained = TRUE.
#>
|+++++++++ | 16% ~02s
#> Warning: Some alpha values < 0 (min = -2.355). Consider using constrained = TRUE.
#>
|+++++++++ | 17% ~02s
#> Warning: Some alpha values < 0 (min = -2.141). Consider using constrained = TRUE.
#>
|++++++++++ | 18% ~02s
#> Warning: Some alpha values < 0 (min = -1.789). Consider using constrained = TRUE.
#>
|++++++++++ | 19% ~02s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|+++++++++++ | 20% ~02s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++ | 21% ~02s
#> Warning: Some alpha values < 0 (min = -0.081). Consider using constrained = TRUE.
#>
|++++++++++++ | 22% ~02s
#> Warning: Some alpha values < 0 (min = -0.404). Consider using constrained = TRUE.
#>
|++++++++++++ | 23% ~02s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++ | 24% ~02s
#> Warning: Some alpha values < 0 (min = -0.465). Consider using constrained = TRUE.
#>
|+++++++++++++ | 25% ~02s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++ | 26% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|++++++++++++++ | 27% ~01s
#> Warning: Some alpha values < 0 (min = -1.08). Consider using constrained = TRUE.
#>
|+++++++++++++++ | 28% ~01s
#> Warning: Some alpha values < 0 (min = -0.463). Consider using constrained = TRUE.
#>
|+++++++++++++++ | 29% ~01s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|++++++++++++++++ | 30% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|++++++++++++++++ | 31% ~01s
#> Warning: Some alpha values < 0 (min = -0.24). Consider using constrained = TRUE.
#>
|+++++++++++++++++ | 32% ~01s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|+++++++++++++++++ | 33% ~01s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|++++++++++++++++++ | 34% ~01s
#> Warning: Some alpha values < 0 (min = -0.382). Consider using constrained = TRUE.
#>
|++++++++++++++++++ | 35% ~01s
#> Warning: Some alpha values < 0 (min = -0.464). Consider using constrained = TRUE.
#>
|+++++++++++++++++++ | 36% ~01s
#> Warning: Some alpha values < 0 (min = -0.079). Consider using constrained = TRUE.
#>
|+++++++++++++++++++ | 37% ~01s
#> Warning: Some alpha values < 0 (min = -2.344). Consider using constrained = TRUE.
#>
|++++++++++++++++++++ | 38% ~01s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|++++++++++++++++++++ | 39% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++ | 40% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++ | 41% ~01s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++ | 42% ~01s
#> Warning: Some alpha values < 0 (min = -0.14). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++ | 43% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++ | 44% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++ | 45% ~01s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++ | 46% ~01s
#> Warning: Some alpha values < 0 (min = -0.078). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++ | 47% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++ | 48% ~01s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++ | 49% ~01s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++ | 51% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++ | 52% ~01s
#> Warning: Some alpha values < 0 (min = -0.863). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++ | 53% ~01s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++ | 54% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++ | 55% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++ | 56% ~01s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++ | 57% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++ | 58% ~01s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++ | 59% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++ | 60% ~01s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++ | 61% ~01s
#> Warning: Some alpha values < 0 (min = -2.044). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++ | 62% ~01s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++ | 63% ~01s
#> Warning: Some alpha values < 0 (min = -0.231). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++ | 64% ~01s
#> Warning: Some alpha values < 0 (min = -0.004). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++ | 65% ~01s
#> Warning: Some alpha values < 0 (min = -0.463). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++ | 66% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++ | 67% ~01s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++ | 68% ~01s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++ | 69% ~01s
#> Warning: Some alpha values < 0 (min = -0.01). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++ | 70% ~01s
#> Warning: Some alpha values < 0 (min = -0.462). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++ | 72% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++ | 73% ~00s
#> Warning: Some alpha values < 0 (min = -0.124). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++ | 74% ~00s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++ | 75% ~00s
#> Warning: Some alpha values < 0 (min = -0.465). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++ | 76% ~00s
#> Warning: Some alpha values < 0 (min = -0.465). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++ | 77% ~00s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++ | 78% ~00s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++ | 79% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++ | 80% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~00s
#> Warning: Some alpha values < 0 (min = -0.463). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~00s
#> Warning: Some alpha values < 0 (min = -1.124). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~00s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~00s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~00s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~00s
#> Warning: Some alpha values < 0 (min = -0.338). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
#> Warning: Some alpha values < 0 (min = -0.3). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
#> Warning: Some alpha values < 0 (min = -0.468). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
#> Warning: Some alpha values < 0 (min = -0.078). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
#> Warning: Some alpha values < 0 (min = -0.469). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
#> Warning: Some alpha values < 0 (min = -0.467). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
#> Warning: Some alpha values < 0 (min = -0.466). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
#> Warning: Some alpha values < 0 (min = -0.465). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
#> Warning: Some alpha values < 0 (min = -0.261). Consider using constrained = TRUE.
#>
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
#> Warning: Some alpha values < 0 (min = -0.47). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
#> Warning: Some alpha values < 0 (min = -0.31). Consider using constrained = TRUE.
#>
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=02s
# }
