getExpectedSecondStageInformation: Calculate Expected Second-stage Information

View source: R/getExpectedSecondStageInformation.R

getExpectedSecondStageInformationR Documentation

Calculate Expected Second-stage Information

Description

Calculate the expected second-stage information using the optimal conditional error function with specific assumptions.

Usage

getExpectedSecondStageInformation(
  design,
  likelihoodRatioDistribution = NULL,
  ...
)

Arguments

design

An object of class TrialDesignOptimalConditionalError created by getDesignOptimalConditionalErrorFunction(). Contains all necessary arguments to calculate the optimal conditional error function for the specified case.

likelihoodRatioDistribution

The distribution to be used for the effect size of the likelihood ratio in the calculation of the expected second-stage information. Options are "fixed", "normal", "exp", "unif", "maxlr" for fixed effect size, normally distributed, exponentially distributed, uniformly distributed prior of the effect size and maximum likelihood ratio, respectively. Each case requires different additional specifications:

  • likelihoodRatioDistribution="fixed" uses one (or more) fixed effect sizes for the likelihood ratio and requires the parameter deltaLR which provides the mean difference under which to calculate the likelihood ratio. If deltaLR contains multiple values, they may be weighted using an additional argument weightsDeltaLR. Omitting weightsDeltaLR automatically leads to equal weighting.

  • likelihoodRatioDistribution="normal" uses a normal prior for the effect size and requires parameters deltaLR and tauLR for the mean and standard deviation of the normal distribution (both on mean difference scale).

  • likelihoodRatioDistribution="exp" uses an exponential prior for the effect size and requires the parameter kappaLR which is the mean of the exponential distribution (on the mean difference scale).

  • likelihoodRatioDistribution="unif" uses a uniform prior for the effect size and requires the specification of deltaMaxLR, which is the maximum of the support for the uniform likelihood ratio distribution (on the mean difference scale).

  • likelihoodRatioDistribution="maxlr" estimates the non-centrality parameter to be used for the likelihood ratio from the data. No additional parameters must be specified.

The default is likelihoodRatioDistribution=NULL. In this case, the likelihood ratio distribution under which the expected second-stage information is calculated is taken directly from the design object.

...

Additional parameters required for the specification of likelihoodRatioDistribution.

Details

The expected second-stage information is calculated as:

\mathbb{E}(I_{2})=\int_{\alpha_1}^{\alpha_0}\frac{\nu(\alpha_2(p_1)) \cdot l(p_1)}{\Delta_1^2} dp_1,

where

  • \alpha_1, \alpha_0 are the first-stage efficacy and futility boundaries

  • \alpha_2(p_1) is the optimal conditional error calculated for p_1

  • l(p_1) is the "true" likelihood ratio under which to calculate the expected sample size. This can be different from the likelihood ratio used to calibrate the optimal conditional error function.

  • \Delta_1 is the assumed treatment effect to power for, expressed as a mean difference. It may depend on the interim data (i.e., p_1) in case useInterimEstimate = TRUE was specified for the design object.

  • \nu(\alpha_2(p_1)) = (\Phi^{-1}(1-\alpha_2(p_1))+\Phi^{-1}(CP))^2 is a factor calculated for the specific assumptions about the optimal conditional error function and the target conditional power CP.

Value

Expected second-stage information.

References

Brannath, W. & Bauer, P. (2004). Optimal conditional error functions for the control of conditional power. Biometrics. https://www.jstor.org/stable/3695393

See Also

getDesignOptimalConditionalErrorFunction(), getSecondStageInformation()

Examples

# Get a design
design <- getDesignOptimalConditionalErrorFunction(
alpha = 0.025, alpha1 = 0.001, alpha0 = 0.5, conditionalPower = 0.9,
delta1 = 0.25, likelihoodRatioDistribution = "fixed", deltaLR = 0.25,
firstStageInformation = 80, useInterimEstimate = FALSE,
)
# Calculate expected information under correct specification
getExpectedSecondStageInformation(design)

# Calculate expected information under the null hypothesis
getExpectedSecondStageInformation(
 design = design, likelihoodRatioDistribution = "fixed", deltaLR = 0
)


optconerrf documentation built on Sept. 9, 2025, 5:29 p.m.