Reference-scaling: Don’t use FARTSSIE! [Power / Sample Size]

posted by Helmut Homepage – Vienna, Austria, 2017-12-01 12:42 (2016 d 03:23 ago) – Posting: # 18029
Views: 14,030

Hi Astea,

❝ Just few words in defence of FARTSSIE. May be the approximations are rude, far from exact PowerTOST (see #), but the results overally seems to be correlated for CV>30%:

Nope. The EMA’s ABEL not only means extending the limits (based on the observed – not the assumed CVwR) but also assessing the GMR-restriction. It’s a complex framework and therefore, no simple formula exists to calculate power. Try this one:

CV         <- c(30, 40, 50)
n          <- c(40, 27, 23)
n.FARTSSIE <- n + n %% 2 # round to next even
res        <- data.frame(CV=CV, n.FARTSSIE=n.FARTSSIE, pwr.FARTSSIE=NA,
                         n.ABE=NA, pwr.ABE=NA, n.ABEL=NA, pwr.ABEL=NA)
names(res)[1] <- "CV%"
EL         <- scABEL(CV=CV/100)
for (j in seq_along(CV)) {
  # power for ABEL with n of FARTSSIE
  res[j, "pwr.FARTSSIE"] <- power.scABEL(CV=CV[j]/100, design="2x2x4",
  # PowerTOST's function for ABE mimicking FARTSSIE
  tmp <- sampleN.TOST(CV=CV[j]/100, theta0=0.9, theta1=EL[[j, "lower"]],
                      design="2x2x4", print=FALSE, details=FALSE)
  res[j, "n.ABE"]   <- tmp[["Sample size"]]
  res[j, "pwr.ABE"] <- tmp[["Achieved power"]]
  # PowerTOST's function for ABEL (1e5 simulations)
  tmp <- sampleN.scABEL(CV=CV[j]/100, theta0=0.9, design="2x2x4",
                        print=FALSE, details=FALSE)
  res[j, "n.ABEL"]   <- tmp[["Sample size"]]
  res[j, "pwr.ABEL"] <- tmp[["Achieved power"]]
print(signif(res, 5), row.names=FALSE)

  30         40      0.85247    40 0.80999     34  0.80281
  40         28      0.78286    28 0.81790     30  0.80656
  50         24      0.75363    24 0.83042     28  0.81428

For all CVs FARTSSIE’s sample sizes will give the desired power for ABE (column pwr.ABE) but not for ABEL (column pwr.FARTSSIE). For CV 30% it will be too high (since only 34 subjects are required) but for CV >30% too low (more subjects are required). Only sampleN.scABEL() will give sample sizes (n.ABEL) with at least the desired power (pwr.ABEL).

As expected, FARTSSIE screws completely up if one wants to assess the Type I Error. Set “Method C1” and the 4-period replicate. Try Calculate Power with CV 30%, T/R 125%, sample size 34. I got

version power
  2.2   5%   
  1.8   4.99%
  1.7   4.99%

Sorry, Dave!

cat(paste0(100*power.scABEL(CV=0.3, design="2x2x4", theta0=1.25,
                            n=34, nsims=1e6), "%\n"))

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

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

Complete thread:

UA Flag
 Admin contact
22,627 posts in 4,743 threads, 1,613 registered users;
21 visitors (0 registered, 21 guests [including 11 identified bots]).
Forum time: 17:05 CEST (Europe/Vienna)

Facts are meaningless. You could use facts to prove
anything that’s even remotely true!    Homer Simpson

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