*! version 0.9 31 Jan 2019

Title

des_ma -- Single-stage multi-arm trial design for normally distributed outcomes

Syntax

des_ma, [options]

Optional
k(#) Number of experimental treatments. Default value is 3.

alpha(#) Chosen significance level. Default value is 0.05.

beta(#) Desired type-II error-rate. Default value is 0.2.

delta(#) 'Interesting' treatment effect. Default value is 0.5.

delta0(#) 'Uninteresting' treatment effect. Default value is 0.

sd(#) Standard deviation of the responses. Default value is 1.

ratio(#) Allocation ratio between the experimental arms and the shared control arm. Default value is 1.

correction(string) Multiple comparison correction. Default value is dunnett.

no_sample_size Do not compute the required sample size.

n_start(#) Starting value for finding the required sample size. Default value is 1.

n_stop(#) Stopping value for finding the required sample size. Default value is -1.

replicates(#) Number of replicate simulations. Default value is 10000.

Description

des_ma determines the rejection rules and required sample size of a multi-arm trial with K experimental (see option k) and a single control treatment.
The outcome variable of interest is assumed to be normally distributed.

It is assumed that K null hypotheses are to be tested, given by H_k: τ_k = μ_k - μ_0 ≤ 0, k = 1,..., K, where μ_k is the mean response on arm k.
Thus, arm 0 is assumed to be the control arm.
A set of (computed) p-values are used in combination with a chosen multiple comparison procedure in order to determine which of the null hypotheses to reject.

Note that it is assumed n patients will be recruited to the control arm, and rn patients to each experimental arm (see option ratio).

Several multiple comparison procedures are supported (see correction), which in general work to control a particular error-rate to a specified significance level, α (see option alpha):

• benjamini: Control the false-discovery rate using the Benjamini-Hochberg procedure (Benjamini and Hochberg, 1995).

• bonferroni: Control the familywise error-rate using Bonferroni's correction (Bonferroni, 1936; Dunn, 1958; Dunn, 1961).

• dunnett: Control the familywise error-rate using Dunnett's correction (Dunnett, 1955; Dunnett, 1964).

• holm: Control the familywise error-rate using the Holm-Bonferroni method (Holm, 1979).

• none: Do not apply a multiple comparison procedure (i.e., test each hypothesis at level alpha).

• sidak: Control the familywise error-rate using Šidák's correction (Šidák, 1967).

• step_down_dunnett: Control the familywise error-rate using the step-down Dunnett correction (Naik, 1975; Marcus et al, 1976).

The option no_sample_size controls whether the required sample size is computed, with the search controlled when conducted by options n_start and n_stop.
When the search is conducted, des_ma will aim to find the minimal required value of n to control the type-II error-rate to the desired level (see option beta) under the least favourable configuration, LFC.
The LFC requires 'interesting' and 'uninteresting' effect sizes δ and δ_0 to be specified (see options delta and delta0).
Precisely:

LFC: τ_1 = δ, τ_2 = ... = τ_K = δ_0.

In this case, des_ma will return information on the familywise error-rate and power under HG and the LFC respectively, as well as the false discovery rate under HG and the LFC.
Here, HG is the global null hypothesis, given by:

HG: τ_1 = ... = τ_K = 0.

For all calculations of error-rates, the standard deviation of the accrued responses is assumed to be known (see option sd).

Note that all error-rates are computed using multivariate normal integration where possible, otherwise simulation is employed (see option replicates).
In particular, this means that the required sample size is determined using simulation when the multiplicity correction is chosen as Benjamini-Hochberg, Holm-Bonferroni, or step-down Dunnett.
Finally, where required, the multivariate normal integration is performed using an internal component of the command pmvnormal described in Grayling et al (2018).
This is included directly in des_ma.

Options

k(#) An integer giving the number of experimental treatments.
It should be greater than or equal to 1.
Thus, des_ma will compute two-arm trial designs.
However, if such a design is required, the user is recommended to use des_fixed (available from the author) instead, which is optimised for the determination of such designs.
The default value is 3.

alpha(#) A real giving the chosen significance level to use in the chosen multiple comparison prcoedure (see option correction).
It should be strictly between 0 and 1.
The default value is 0.05.

beta(#) A real giving the desired type-II error-rate under the LFC.
It should be strictly between 0 and 1.
The default value is 0.2.
Not used when option no_sample_size is specified.

delta(#) A real giving the 'interesting' treatment effect used in the definition of the LFC.
It should be strictly greater than 0.
The default value is 0.5.
Not used when option no_sample_size is specified.

delta0(#) A real giving the 'uninteresting' treatment effect used in the definition of the LFC.
The default value is 0.
Not used when option no_sample_size is specified, or if option correction is bonferroni, dunnett, holm, none, or sidak.

sd(#) A real giving the assumed value of the standard deviation of the responses in the control and experimental arms.
It should be strictly greater than 0.
The default value is 1.

ratio(#) A real giving the allocation ratio between the experimental arms and the shared control arm.
That is, ratio patients are allocated to each experimental arm for every one patient allocated to the control arm.
It should be strictly positive.
The default value is 1.

correction(string) A string giving the multiple comparison procedure to use.
It should be one of benjamini, bonferroni, dunnett, holm, none, sidak, or step_down_dunnett.
The default value is dunnett.
Note used if option k is equal to 1.

no_sample_size Indicates that the required sample size should not be computed.
Speciying no_sample_size will reduce the execution time.

n_start(#) An integer giving the starting value in the search for the required sample size.
It should be an integer greater than or equal to 1.
The default value is 1.
Not used when option no_sample_size is specified, or if option correction is bonferroni, dunnett, holm, none, or sidak.

n_stop(#) An integer giving the stopping value in the search for the required sample size.
It should either be greater than or equal to option n_start, or set to -1, which indicates that n_stop should be internally allocated as three times the sample size required by the corresponding single-stage design using Dunnett's correction
for the specified input parameters.
The default value is -1.
Not used when option no_sample_size is specified, or if option correction is bonferroni, dunnett, holm, none, or sidak.

replicates(#) An integer giving the number of replicate simulations to use to evaluate required error-rates and sample sizes.
It should be an integer greater than or equal to 1.
The default value is 10000.

Examples

Note: Depending on the available processing power, each of the following examples could take several minutes to run.

/// Example 1: A 3-experimental treatment multi-arm design.

des_ma

/// Example 2: Modifying the multiplicity correction.

des_ma, correction(holm)

/// Example 3: A 2-experimental treatment multi-arm design using
/// Bonferroni's correction, with unequal allocation to the
/// experimental and control arms.

des_ma, k(2) ratio(0.5) correction(bonferroni)

Stored results

des_ma stores the following in r():

scalars:

r(n) The required sample-size in the control arm.

r(P_HG) The familywise error-rate under HG.

r(P_LFC) The power under the LFC.

r(FDR_HG) The false discovery rate under HG.

r(FDR_LFC) The false discovery rate under the LFC.

r(N) The total required sample size.

r(u) The rejection (efficacy) boundary for the standardised test statistics.

r(p) The critical rejection (efficacy) boundary for the p-values.

r(u_O) The rejection (efficacy) boundaries for the ordered standardised test statistics.

r(p_O) The critical rejection (efficacy) boundaries for the ordered p-values.

Author

Dr Michael J Grayling
Institute of Health & Society, Newcastle University, UK
Email: michael.grayling@newcastle.ac.uk

See also

References:

Benjamini Y, Hochberg Y (1995) Controlling the false discovery rate: a practical and powerful approach to multiple testing. J Roy Stat Soc B 57(1):289–300.

Bonferroni CE (1936) Teoria statistica delle classi e calcolo delle probabilità. Pubblicazioni del R Istituto Superiore di Scienze Economiche e Commerciali di Firenze 8:3-62.

Dunn OJ (1958) Estimation of the means for dependent variables. Ann Math Stat 29(4):1095–111.

Dunn OJ (1961) Multiple comparisons among means. J Am Stat Assoc 56(293):52–64.

Dunnett CW (1955) A multiple comparison procedure for comparing several treatments with a control. J Am Stat Assoc 50(272):1096–121.

Dunnett CW (1964) New tables for multiple comparisons with a control. Biometrics 20(3):482–91.

Grayling MJ, Mander AP (2018) Calculations involving the multivariate normal and multivariate t distributions with and without truncation. Stata J 18(4):826-43.

Holm S (1979) A simple sequentially rejective multiple test procedure. Scand J Stat 6(2):65–70.

Marcus R, Peritz E, Gabriel KR (1976) On closed testing procedures with special reference to ordered analysis of variance. Biometrika 63(3):655–60.

Naik UD (1975) Some selection rules for comparing p processes with a standard. Commun Stat A 4(6):519–35.

Šidák ZK (1967) Rectangular confidence regions for the means of multivariate normal distributions. J Am Stat Assoc 62(318):626–33.

Related commands:

des_dtl (a command for designing multi-stage drop-the-losers trials)
des_fixed (a command for designing single-stage two-arm trials)
des_mams (a command for designing multi-arm multi-stage trials)
pmvnormal (a command used for integration of the multivariate normal
distribution function)
sim_dtl (a command for simulating multi-stage drop-the-losers trials)
sim_ma (a command for simulating multi-arm trials)
sim_mams (a command for simulating multi-arm multi-stage trials)