The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Selecting the best group using the Indifferent-Zone approach for binomial outcomes

library(ssutil)

Introduction

The indifferent-zone approach for binomial outcomes is a statistical method designed to select the group with the highest event probability while ensuring that this selection is made correctly at a specified confidence level. This approach assumes that the difference in event probability between the best group and the next-best group exceeds a specified threshold, called the “indifferent zone”. This zone defines a margin of indifference, within which differences are considered negligible, allowing the decision process to focus only on differences that clearly exceed this margin.

This package offers several functions to help with this design:

power_best_binomial() calculates the exact probability of correctly selecting the best group given the event probability in the best group (p1), the pre-specified indifferent-zone threshold (dif), the number of groups (ngroups), and the sample size per group (npergroup). This function is based on Sobel and Huyett (1957) under the least favorable configuration (i.e., assuming all other groups have an event probability equal to the best group’s probability minus the indifferent-zone threshold).

ss_best_binomial() estimates the required sample size per group to achieve a specified power for correctly selecting the best group, given the event probability in the best group (p1), the indifferent-zone threshold (dif), and the number of groups (ngroups).

sim_power_best_binomial() estimates the empirical power (i.e., the proportion of simulated trials in which the best group is correctly identified) via Monte Carlo simulation. It supports multiple outcomes and can estimate the empirical power to select the true best group across all outcomes.

sim_power_best_bin_rank() is similar to sim_power_best_binomial(), but it defines the best group based on overall ranking across multiple outcomes rather than requiring top performance on every outcome.

wcs_power_best_binomial() searches for the probability in the best group that leads to the lowest power given a pre-specified indifferent-zone threshold (dif), the number of groups (ngroups), and the sample size per group (npergroup)

Examples with a single outcome

  1. What is the probability of correctly selecting the best group in a trial with three groups of 30 participants each? Assume the best group has an event probability of 90% and the indifferent-zone threshold is 10%.
power_best_binomial(p1 = 0.9, dif = 0.1, ngroups = 3, npergroup = 30)
#> [1] 0.7584432
  1. What is the sample size required per group to achieve 90% power for correctly selecting the best group among three groups, assuming the best group has an event probability of 90% and the indifferent-zone threshold is 10%.
ss_best_binomial(power = 0.9, p1 = 0.9, dif = 0.1, ngroups = 3)
#> [1] 64
  1. Using simulations, what is the probability of correctly selecting the best group in a trial with three groups of 30 participants each? Assume the best group has an event probability of 90% and the indifferent-zone threshold is 10%.
set.seed(12345)
sim_power_best_binomial(
  noutcomes = 1,
  p1 = 0.9,
  dif = 0.1,
  ngroups = 3,
  npergroup = 30,
  nsim = 1000
)
#> Empirical Power Result
#> ----------------------- 
#> Power:       0.7740
#> 95% CI:      [0.7468, 0.7996]
#> Simulations: 1000
  1. What is the lowest power in a study where the indifference-zone is setup to 10%, there are 3 groups and 50 participants per group?
wcs_power_best_binomial(dif = 0.1, ngroups = 3, npergroup = 50)
#> $p1
#> [1] 0.5541703
#> 
#> $minimum_power
#> [1] 0.7410576

Examples using multiple outcomes

The sim_power_best_binomial() and sim_power_best_bin_rank() allow simulating multiple outcomes. These functions differ in how they define the ‘best’ group. sim_power_best_binomial() requires that the best group be the top performer for every outcome, whereas sim_power_best_bin_rank() defines the best group based on overall ranking across outcomes. For example, a group might rank first for the first two outcomes but second for the third, yet still achieve the best overall rank among all groups.

This ranking approach supports weighting of outcomes, allowing greater importance to be assigned to some outcomes over others. For instance, if performance on the first two outcomes is twice as important as the third, weights such as c(0.4, 0.4, 0.2) can be specified. Weights are scaled internally to sum 1.

The functions are flexible and allow specification of, for each outcome, the event probabilities, indifferent-zone thresholds, and group sample sizes.

  1. What is the probability that the best group is correctly identified as having the highest seroconversion rate across five antigens in a trial with three groups of 30 participants each? Assume the best group’s seroconversion rate is 80% and the indifferent-zone threshold is 10% for all outcomes.
set.seed(12345)
sim_power_best_binomial(
  noutcomes = 5,
  p1 = 0.8,
  dif = 0.10,
  ngroups = 3,
  npergroup = 30,
  nsim = 1000
)
#> Empirical Power Result
#> ----------------------- 
#> Power:       0.1670
#> 95% CI:      [0.1444, 0.1916]
#> Simulations: 1000
  1. Same setup, but define the best group based on overall ranking across the five outcomes with equal weights.
set.seed(12345)
sim_power_best_bin_rank(
  noutcomes = 5,
  p1 = 0.8,
  dif = 0.10,
  weights = 1,
  ngroups = 3,
  npergroup = 30,
  nsim = 1000
)
#> Empirical Power Result
#> ----------------------- 
#> Power:       0.9190
#> 95% CI:      [0.9003, 0.9352]
#> Simulations: 1000

References

Sobel, M., & Huyett, M. J. (1957). Selecting the Best One of Several Binomial Populations. Bell System Technical Journal, 36(2), 537-576. https://doi.org/10.1002/j.1538-7305.1957.tb02411.x

Bechhofer, R. E., Santner, T. J., & Goldsman, D. M. (1995). Design and analysis of experiments for statistical selection, screening, and multiple comparisons. Wiley. ISBN 978-0-471-57427-9

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.