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

posted by Helmut Homepage – Vienna, Austria, 2017-12-01 12:42 (2330 d 13:40 ago) – Posting: # 18029
Views: 14,565

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:

library(PowerTOST)
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",
                                         n=n.FARTSSIE[j])
  # 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)

 CV% n.FARTSSIE pwr.FARTSSIE n.ABE pwr.ABE n.ABEL pwr.ABEL
  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!

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


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,986 posts in 4,823 threads, 1,667 registered users;
82 visitors (1 registered, 81 guests [including 7 identified bots]).
Forum time: 03:22 CEST (Europe/Vienna)

The only way to comprehend what mathematicians mean by Infinity
is to contemplate the extent of human stupidity.    Voltaire

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