junhao
☆    

China,
2016-07-08 06:34
(2820 d 10:53 ago)

Posting: # 16480
Views: 6,930
 

 Determination of sample size including the factor of σD [Power / Sample Size]

Hello everybody,

In Table 1, Appendix C of FDA 2001 guidance Statistical Approaches to Establishing Bioequivalence, the sample size is calculated for different σDs. I was wondering how this is done? Nothing can I find in the two references listed with the talbe.

One further question, when power.RSABE() of R package TOST is used in simulation that gives sample size for RSABE design, does it account for σD, or the σD is assumed to be zero?

In a previous post, A reference is mentioned:

Scott D Patterson and Byron Jones
REPLICATE DESIGNS AND AVERAGE, INDIVIDUAL, AND POPULATION BIOEQUIVALENCE
GSK BDS Technical Report 2002 – 01

A link was given below but I failed opening it :lookaround:. Can somebody help to try if this link is still correct?
http://biometrics.com/wp-content/uploads/2009/06/tr2002-01.pdf

Thank you,

Junhao//
d_labes
★★★

Berlin, Germany,
2016-07-13 15:49
(2815 d 01:39 ago)

@ junhao
Posting: # 16486
Views: 5,741
 

 Sample size taking into account SbF

Dear Junhao,

❝ In Table 1, Appendix C of FDA 2001 guidance Statistical Approaches to Establishing Bioequivalence, the sample size is calculated for different σDs. ...


Don't invest too much in understanding or verifying this table.
It shows sample sizes for the so-called "individual bioequivalence" in which the SbF (subject by formulation) interaction, your σD, plays a prominent role. "Individual bioequivalence" is nowadays history only.

❝ One further question, when power.RSABE() of R package TOST is used in simulation that gives sample size for RSABE design, does it account for σD, or the σD is assumed to be zero?


The code of PowerTOST is open source, means you can inspect it, either in the source code tar-ball or even without that, just typing
library(PowerTOST)
power.RSABE

At the very beginning of the code there is an expression s2D <- 0. Guess what it means :-D.

❝ In a previous post, A reference is mentioned:

❝ ...

❝ A link was given below but I failed opening it :lookaround:. Can somebody help to try if this link is still correct?


Unfortunately this link doesn't function since some time ago. Further I couldn't find the reference at other places of the Inder-nett. Drop me a mail and I can send you a backup copy of this technical report. BTW: It has two parts.

Hope this helps.

Regards,

Detlew
junhao
☆    

China,
2016-07-14 07:54
(2814 d 09:34 ago)

@ d_labes
Posting: # 16489
Views: 5,688
 

 Sample size taking into account SbF

Dear Detlew,

Thank you for your reply!

❝ Don't invest too much in understanding or verifying this table.

❝ It shows sample sizes for the so-called "individual bioequivalence" in which the SbF (subject by formulation) interaction, your σD, plays a prominent role. "Individual bioequivalence" is nowadays history only.


But when we assume different between-subject variation for T and R, σD is never gonna be 0, and I right? I am not interested in the old-fashion "Individual Bioequivalence" either, but in the RSABE context, we are assuming same between-subject variation for T and R so that σD could be 0?

❝ The code of PowerTOST is open source, means you can inspect it, either in the source code tar-ball or even without that, just typing

library(PowerTOST)

power.RSABE

❝ At the very beginning of the code there is an expression s2D <- 0. Guess what it means :-D.


I will try it out. Thank you for the information.

❝ Unfortunately this link doesn't function since some time ago. Further I couldn't find the reference at other places of the Inder-nett. Drop me a mail and I can send you a backup copy of this technical report. BTW: It has two parts.


Thank you and I would appreciate your help!

Junhao//
d_labes
★★★

Berlin, Germany,
2016-07-19 11:18
(2809 d 06:09 ago)

@ junhao
Posting: # 16492
Views: 5,739
 

 Sample size taking into account SbF

Dear Junhao,

❝ ❝ Don't invest too much in understanding or verifying this table.

❝ ❝ It shows sample sizes for the so-called "individual bioequivalence" in which the SbF (subject by formulation) interaction, your σD, plays a prominent role ...


Here I have to correct myself. Table 1 in the Appendix of the mentioned FDA guidance actually shows sample sizes for ABE.

Here some code to reproduce this table:
library(PowerTOST)
# function to calculate the 'pooled' CV if the individual component of the variability are given
# Wang/Chow 2002
# "ON Statistical Power for Average Bioequivalence Testing Under Replicated Crossover Designs"
# J. BIOPHARM. STAT. Vol. 12, No. 3, pp. 295–309, 2002

CVm <- function(sD, swT, swR=swT, design){
  if (design=="2x2"){
    s2diff <- (sD^2 + swT^2 + swR^2)/2
  }
  else if (design=="2x2x4"){
    s2diff <- sD^2 + (swT^2 + swR^2)/2
  } else stop("Design not implemented.")
  mse2CV(s2diff)
}

# gimme the numbers
delta <- 0.05 # this is measured in the log domain, corresponds to theta0 = 0.9512294
# assuming swT=swR as in Table 1
swT   <- 0.5
sD    <- 0.15
targetpower <- 0.8

design <- "2x2"
CV <- CVm(sD, swT, design=design)
sampleN.TOST(CV=CV, theta0=exp(-delta), targetpower=targetpower, design=design)

design <- "2x2x4"
CV <- CVm(sD, swT, design=design)
sampleN.TOST(CV=CV, theta0=exp(-delta), targetpower=targetpower, design=design)


Note that we need a 'pooled' variability for ABE only. Which we can get from a non-replicated design also.
Only in case of a full replicate design we may have informations about the components. But here it depends on the statistical model if a σD plays a role.
In case of a partial replicate design you can't get reasonable estimates of the variability components in all cases. Here a model with a SbF is overspecified and may lead to estimation problems like non-convergence of the REML procedure.

See f.i.
Endrenyi et al.
"Properties of the estimated variance component for subject-by-formulation interaction in studies of individual bioequivalence"
Statist. Med. 2000; 19:2867–2878
to find out that σD=0 is a reasonable assumption.

❝ But when we assume different between-subject variation for T and R, σD is never gonna be 0, and I right?


Correct. If your statistical model of the between-subject variability incorporates a SbF interaction. Otherwise this component is absorbed in the estimates of the within-subject variabilities σwT and σwR, respectively.

❝ ... but in the RSABE context, we are assuming same between-subject variation for T and R so that σD could be 0?


Also correct. But beside the CI component of T-R of RSABE, where we again have to use a pooled variability, there is no influence of σD.

Regards,

Detlew
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2016-07-19 17:07
(2809 d 00:20 ago)

@ d_labes
Posting: # 16493
Views: 5,584
 

 Appendix C, Table I

Dear Detlew,

hijacking your code:

library(PowerTOST)
CVm <- function(sD, swT, swR=swT, design){
  if (design == "2x2") {
    s2diff <- (sD^2 + swT^2 + swR^2)/2
  }
  else if (design == "2x2x4") {
    s2diff <- sD^2 + (swT^2 + swR^2)/2
  } else stop("Design not implemented.")
  mse2CV(s2diff)
}
delta       <- 0.05
targetpower <- c(0.80, 0.90)
design      <- c("2x2", "2x2x4")
swT         <- c(0.15, 0.23, 0.30, 0.50)
sD          <- c(0.01, 0.10, 0.15)
method      <- "exact"
n           <- matrix(data=NA,
                      ncol=length(targetpower)*2+2,
                      nrow=length(swT)*length(sD))
dimnames(n) <- list(NULL, c("swT", "sD",
                    sort(paste0(sprintf("%i%%:", 100*targetpower),
                    rep(c("2P", "4P"), each=length(targetpower))))))
n[, 1]      <- rep(swT, each=length(sD))
n[, 2]      <- rep(sD, length(swT))
r           <- 0
for (j in seq_along(swT)) {
  for (k in seq_along(sD)) {
    r  <- r + 1
    c  <- 2
    for (l in seq_along(targetpower)) {
      for (m in seq_along(design)) {
        c <- c + 1
        CV <- CVm(sD[k], swT[j], design=design[m])
        n[r, c] <- sampleN.TOST(CV=CV, theta0=exp(-delta),
                                targetpower=targetpower[l],
                                design=design[m], method=method,
                                print=FALSE)[["Sample size"]]
      }
    }
  }
}
print(as.data.frame(n), row.names=FALSE)

Gives:

  swT   sD 80%:2P 80%:4P 90%:2P 90%:4P
 0.15 0.01     12      6     16      8
 0.15 0.10     14      8     18     10
 0.15 0.15     16     12     22     14
 0.23 0.01     24     12     32     16
 0.23 0.10     28     14     36     20
 0.23 0.15     30     18     40     24
 0.30 0.01     40     20     54     28
 0.30 0.10     42     22     56     30
 0.30 0.15     46     26     60     34
 0.50 0.01    108     54    146     74
 0.50 0.10    110     56    148     76
 0.50 0.15    114     60    152     80

Equal to, lower / higher than the reference (Appendix C, Table I):

                Δ = 0.05     
           80% Power 90% Power
           ───────────────────
 σWT   σD    2P  4P    2P  4P
──────────────────────────────
0.15  0.01   12   6    16   8
      0.10   14  10    18  12
      0.15   16  12    22  16
──────────────────────────────
0.23  0.01   24  12    32  16
      0.10   26  16    36  20
      0.15   30  18    38  24
──────────────────────────────
0.30  0.01   40  20    54  28
      0.10   42  24    56  30
      0.15   44  26    60  34
──────────────────────────────
0.50  0.01  108  54   144  72
      0.10  110  58   148  76
      0.15  112  60   150  80


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
d_labes
★★★

Berlin, Germany,
2016-07-20 13:27
(2808 d 04:01 ago)

@ Helmut
Posting: # 16497
Views: 5,465
 

 Appendix C, Table I

Dear Helmut,

power testing and nitpicking, as always :-D.
What's your resumé?

Regards,

Detlew
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2016-07-20 17:45
(2807 d 23:43 ago)

@ d_labes
Posting: # 16500
Views: 5,425
 

 I don’t care

Dear Detlew,

❝ power testing and nitpicking, as always :-D.


:cool:

❝ What's your resumé?


My personal resumé as requested.

Since we have no clue how the FDA arrived at their numbers (as usual), who cares? PowerTOST is the gold standard!
BTW, method="nct" gives the same results as method="exact". Sample sizes with method="shifted" are (with a few exceptions) larger.

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
UA Flag
Activity
 Admin contact
22,957 posts in 4,819 threads, 1,638 registered users;
81 visitors (0 registered, 81 guests [including 10 identified bots]).
Forum time: 16:28 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