power.scABEL: (Empirical) Power of BE decision via scaled (widened) BE...

View source: R/power_scABEL.R

power.scABELR Documentation

(Empirical) Power of BE decision via scaled (widened) BE acceptance limits

Description

These function performs the power calculation of the BE decision via scaled (widened) BE acceptance limits by simulations.

Usage

power.scABEL(alpha = 0.05, theta1, theta2, theta0, CV, n, 
             design = c("2x3x3", "2x2x4", "2x2x3"), regulator, 
             nsims, details = FALSE, setseed = TRUE)

Arguments

alpha

Type I error probability, significance level. Conventionally mostly set to 0.05.

theta1

Conventional lower ABE limit to be applied in the mixed procedure if CVsWR <= CVswitch. Also lower limit for the point estimate constraint.
Defaults to 0.8 if not given explicitly.

theta2

Conventional upper ABE limit to be applied in the mixed procedure if CVsWR <= CVswitch. Also upper limit for the point estimate constraint.
Defaults to 1.25 if not given explicitly.

theta0

‘True’ or assumed T/R ratio.
Defaults to 0.90 according to the two Lászlós if not given explicitly.

CV

Intra-subject coefficient(s) of variation as ratio (not percent).

  • If given as a scalar (length(CV)==1) the same CV of Test and Reference is assumed (homoscedasticity, CVwT==CVwR).

  • If given as a vector (length(CV)==2), i.e., assuming heteroscedasticity, the CV of the Test must be given in CV[1] and the one of the Reference in the CV[2].

n

Number of subjects under study.
May be given as vector. In that case it is assumed that n contains the number of subjects in the sequence groups.
If n is given as single number (total sample size) and this number is not divisible by the number of sequences of the design an unbalanced design is assumed. A corresponding message is thrown showing the numbers of subjects in sequence groups.
Attention! In case of the "2x2x3" (TRT|RTR) design the order of sample sizes is important if given as vector. n[1] is for sequence group 'TRT' and n[2] is for sequence group 'RTR'.

design

Design of the study.
"2x3x3" is the partial replicate design.
"2x2x4" is a full replicate design with 2 sequences and 4 periods.
"2x2x3" is a full replicate design with 2 sequences and 3 periods.
Defaults to "2x3x3". Details are given the section about Designs.

regulator

Regulatory settings for the widening of the BE acceptance limits.
May be given as character from the choices "EMA", "HC", "FDA", "GCC" or as an object of class 'regSet' (see reg_const).
Defaults to regulator="EMA" if missing.
This argument may be given also in lower case if given as character.

nsims

Number of simulations to be performed to obtain the empirical power. Defaults to 100,000 = 1e+05.
If not given and theta0 equals one of the expanded limits (i.e., simulating empirical alpha), defaults to 1e+06.

details

If set to TRUE the computational time is shown as well as the components for the BE decision.
p(BE-wABEL) is the probability that the CI is within (widened) limits.
p(BE-PE) is the probability that the point estimate is within theta1 ... theta2.
p(BE-ABE) is the simulated probability for the conventional ABE test.

setseed

Simulations are dependent on the starting point of the (pseudo) random number generator. To avoid differences in power for different runs a set.seed() is issued if setseed=TRUE, the default.

Details

The methods rely on the analysis of log-transformed data, i.e., assume a log-normal distribution on the original scale.

The widened BE acceptance limits will be calculated by the formula
⁠ [L, U] = exp(-/+ r_const * sWR)⁠
with r_const the regulatory constant and sWR the standard deviation of the within subjects variability of the Reference. r_const = 0.76 (~log(1.25)/0.29356) is used in case of regulator="EMA" or regulator="HC" and in case of regulator="FDA" r_const = 0.89257... (log(1.25)/0.25). If the CVwR of the Reference is < CVswitch=0.3 the conventional ABE limits apply (mixed procedure).

In case of regulator="EMA" a cap is placed on the widened limits if CVwR>0.5, i.e., the widened limits are held at value calculated for CVwR=0.5. In case of regulator="HC" the capping is done such that the acceptance limits are 0.6666 ... 1.5 at maximum.

The case of regulator="GCC" is treatd as special case of ABEL with CVswitch = CVcap = 0.3. The r_const = log(1.25)/CV2se(0.3) assures that for CV>0.3 the widened BE limits of 0.7 ... 1.3333 are used.

The simulations are done via the distributional properties of the statistical quantities necessary for deciding BE based on widened ABEL.
For more details see the document ⁠Implementation_scaledABE_simsVx.yy.pdf⁠ in the /doc sub-directory of the package.

Function power.scABEL() implements the simulation via distributional characteristics of the ‘key’ statistics obtained from the EMA recommended evaluation via ANOVA if regulator="EMA" or if the regulator component est_method is set to "ANOVA" if regulator is an object of class 'regSet'.
Otherwise the simulations are based on the distributional characteristis of the ‘key’ statistics obtained from evaluation via intra-subject contrasts (ISC), as recommended by the FDA.

Value

Returns the value of the (empirical) power if argument details=FALSE.

Returns a named vector if argument details=TRUE.
p(BE) is the power, p(BE-ABEL) is the power of the widened ABEL criterion alone and p(BE-pe) is the power of the criterion ‘point estimate within acceptance range’ alone. p(BE-ABE) is the power of the conventional ABE test given for comparative purposes.

Designs

Although some designs are more ‘popular’ than others, power calculations are valid for all of the following designs:

"2x2x4" TRTR | RTRT
TRRT | RTTR
TTRR | RRTT
"2x2x3" TRT | RTR
TRR | RTT
"2x3x3" TRR | RTR | RRT

Warning

Cross-validation of the simulations as implemented here and via the ‘classical’ subject data simulation have shown somewhat unsatisfactory results for the 2x3x3 design if the variabilities for Test and Reference are different and/or sequences exteremly unbalanced.
The function power.scABEL() therefore gives a warning if calculations with different CVwT and CVwR are requested for the 2x3x3 partial replicate design. For "EMA" subject simulations are provided in power.scABEL.sdsims. For more details see the above mentioned document ⁠Implementation_scaledABE_simsVy.xx.pdf⁠.

Note

In case of regulator="FDA" the (empirical) power is only approximate since the BE decision method is not exactly what is expected by the FDA. But the “Two Laszlós” state that the scABEL method should be ‘operational equivalent’ to the FDA method.
To get the power for the FDA favored method via linearized scaled ABE criterion use function power.RSABE.

In case of regulator="HC" (based on ISC), power is also only approximative since Health Canada recommends an evaluation via mixed model approach. This could only implemented via subject data simulations which are very time consuming. But ISC may be a good substitute.

Author(s)

D. Labes

References

Tóthfalusi L, Endrényi L. Sample Sizes for Designing Bioequivalence Studies for Highly Variable Drugs. J Pharm Pharmaceut Sci. 2011;15(1):73–84. open source

See Also

sampleN.scABEL, power.RSABE, reg_const

Examples

# using all the defaults:
# design="2x3x3", EMA regulatory settings
# PE constraint 0.8-1.25, cap on widening if CV>0.5
# true ratio=0.90, 1E+6 simulations
power.scABEL(CV = 0.4, n = 29)
# should give:
# Unbalanced design. n(i)=10/10/9 assumed.
# [1] 0.66113
#
# with details=TRUE to view the computational time and components
power.scABEL(CV = 0.5, n = 54, theta0 = 1.15, details = TRUE)
# should give (times may differ depending on your machine):
# 1e+05sims. Time elapsed (sec): 0.07
# 
#      p(BE) p(BE-wABEL)    p(BE-pe)   p(BE-ABE) 
#    0.81727     0.82078     0.85385     0.27542
#
# exploring 'pure ABEL' with the EMA regulatory constant
# (without mixed method, without capping, without pe constraint)
rs           <- reg_const("EMA")
rs$CVswitch  <- 0
rs$CVcap     <- Inf
rs$pe_constr <- FALSE
power.scABEL(CV = 0.5, n = 54, theta0 = 1.15, regulator = rs)
# should give
# [1] 0.8519

PowerTOST documentation built on May 29, 2024, 4:40 a.m.