RSABE ≠ ABE: Simulations mandatory [Power / Sample Size]

posted by Helmut Homepage – Vienna, Austria, 2020-06-11 14:26 (1385 d 22:20 ago) – Posting: # 21527
Views: 3,161

Hi arl_stat,

we cannot estimate the sample size of any reference-scaling method directly. These methods are frameworks: The decision whether conventional ABE or reference-scaling is used depends on the observed CVwR, for the EMA there is an upper cap at 50%, and all agencies impose a point estimate restriction of 80.00–125.00%. Contrary to ABE with fixed limits, the Null hypothesis is generated in face of the data. Power (and hence, the sample size) given these conditions cannot be derived analytically. We need simulations (as in the paper). See also here and there.

Your SAS-code is for ABE with fixed limits of 80–125%. Though it is possible to set up simulations for reference-scaling in SAS (105 studies at least), expect run times of many hours.*
Please read now this post as I already suggested previously.

Below a comparison of Table A2 of the two Lászlós for CVwR 30% and results obtained by PowerTOST. Runtime for the 16 scenarios on my machine three seconds. Good luck with SAS.

library(PowerTOST)
GMR   <- seq(0.85, 1.2, 0.05)
power <- c(0.8, 0.9)
A2    <- c(127, 35, 19, 15, 18, 30, 68, ">201",
           180, 49, 25, 19, 24, 42, 95, ">201")
res   <- data.frame(power = power, GMR = rep(GMR, length(power)), A2 = A2)
j     <- 0
for (k in seq_along(power)) {
  for (l in seq_along(GMR)) {
    j               <- j + 1
    tmp             <- sampleN.scABEL(CV = 0.3, theta0 = GMR[l],
                                      design = "2x2x4", targetpower = power[k],
                                      details = FALSE, print = FALSE)
    res$n.ABEL[j]   <- tmp[["Sample size"]]
    res$pwr.ABEL[j] <- round(tmp[["Achieved power"]], 4)
    tmp             <- sampleN.TOST(CV = 0.3, theta0 = GMR[l],
                                    design = "2x2x4", targetpower = power[k],
                                    details = FALSE, print = FALSE)
    res$n.ABE[j]    <- tmp[["Sample size"]]
    res$pwr.ABE[j]  <- round(tmp[["Achieved power"]], 4)
  }
}
print(res, row.names = FALSE)

Gives

power  GMR   A2 n.ABEL pwr.ABEL n.ABE pwr.ABE
  0.8 0.85  127    128   0.8044   146  0.8014
  0.9 0.90   35     34   0.8028    40  0.8100
  0.8 0.95   19     18   0.8276    20  0.8202
  0.9 1.00   15     14   0.8130    16  0.8225
  0.8 1.05   18     18   0.8352    20  0.8290
  0.9 1.10   30     30   0.8132    34  0.8097
  0.8 1.15   68     68   0.8042    78  0.8041
  0.9 1.20 >201    280   0.8019   322  0.8020
  0.8 0.85  180    180   0.9002   202  0.9009
  0.9 0.90   49     48   0.9002    54  0.9016
  0.8 0.95   25     24   0.9124    26  0.9043
  0.9 1.00   19     18   0.9101    20  0.9133
  0.8 1.05   24     24   0.9182    26  0.9112
  0.9 1.10   42     42   0.9067    46  0.9021
  0.8 1.15   95     96   0.9009   108  0.9033
  0.9 1.20 >201    398   0.9004   444  0.9004





Dif-tor heh smusma 🖖🏼 Довге життя Україна! [image]
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes

Complete thread:

UA Flag
Activity
 Admin contact
22,957 posts in 4,819 threads, 1,639 registered users;
82 visitors (0 registered, 82 guests [including 4 identified bots]).
Forum time: 11:47 CET (Europe/Vienna)

Nothing shows a lack of mathematical education more
than an overly precise calculation.    Carl Friedrich Gauß

The Bioequivalence and Bioavailability Forum is hosted by
BEBAC Ing. Helmut Schütz
HTML5