valivetiananth
☆    

India,
2018-05-31 15:49
(2128 d 09:01 ago)

Posting: # 18832
Views: 8,195
 

 Power in the pivotal study (EU) [Power / Sample Size]

Dear All,

Greetings!!!

We have conducted a pivotal study for Europe with 48 subjects considering ~80% power, ISCV: 23%. The study was bioequivalent and 90% CI is within 80-125 for both Cmax & AUCt.

Power of Cmax and AUCt are 92% & 66% respectively. Kindly guide us how to justify the power less than 80% to HA.


Thanks
Valiveti
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2018-05-31 16:45
(2128 d 08:06 ago)

@ valivetiananth
Posting: # 18833
Views: 7,422
 

 Stop estimating post hoc power!

Hi Valiveti,

❝ We have conducted a pivotal study for Europe with 48 subjects considering ~80% power, ISCV: 23%.


So you were assuming a GMR of 90%, right?

❝ The study was bioequivalent and 90% CI is within 80-125 for both Cmax & AUCt.


Congratulations!

❝ Power of Cmax and AUCt are 92% & 66% respectively.


In this order? Can you give us their CVs and GMRs?

❝ Kindly guide us how to justify the power less than 80% to HA.


There is absolutely nothing to justify! Post hoc power is irrelevant. I strongly recommend to revise your SOPs covering the statistical / clinical report (i.e., don’t give this stupid value at all).
If a European assessor demands it (extremely unlikely!), ask where post hoc power is required in any of the current guidelines and suggest in a polite way to browse through my lectures (e.g., this pretty old one) or to attend training in basic biostatistics.

There are no routine statistical questions,
only questionable statistical routines.
    David R. Cox

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

Denmark,
2018-05-31 17:43
(2128 d 07:07 ago)

@ Helmut
Posting: # 18834
Views: 7,379
 

 Stop estimating post hoc power!

Hi Hötzi,

❝ If a European assessor demands it (extremely unlikely!), ask where post hoc power is required in any of the current guidelines and suggest in a polite way to browse through my lectures (e.g., this pretty old one) or to attend training in basic biostatistics.


I don't mean to derail this thread. Only I must make a confession about it: When I assessed my very first BE-dossier I asked for post-hoc power and justification and I felt divine :ponder: :crying:. Today I am not very proud of it. It was not until I had worked on this BE-stuff for years that it started dawning on me how post-hoc power is irrelevant (in spite of excellent presentations about it being freely available on the bebac.at website, of course).

There. Now I confessed. I sense a kind of relief. :-D

Pass or fail!
ElMaestro
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2018-05-31 19:16
(2128 d 05:34 ago)

@ ElMaestro
Posting: # 18835
Views: 7,412
 

 Confession

[image][image]Hi ElMaestro,

❝ […] When I assessed my very first BE-dossier I asked for post-hoc power and justification and I felt divine. Today I am not very proud of it.


Was a good while ago, right?

I’m guilty as well. Mea culpa, mea maxima culpa.
Starting in the early 1980s I assessed studies solely by nonparametric (!) methods. Yep, about 300 of them. No dead people lying in the street. Only in the annex of the report I gave the ANOVA (the CV and yes, bloody post hoc power). When working in a CRO it is difficult to convince the client that sum­fink is crap (“everybody reports it, we are always right and pay you,…”). My last report giving post hoc power dates back to the late 1990s. Fuck, more than twenty years ago. I’m getting old.
Was a long way to go.

❝ Now I confessed.


So did I. :smoke:


Johannes Kepler has spent years and decades arithmetically and geometrically proving the Divine Harmony of the Spheres postulated by Pythagoras. And yet, he has discarded the work of his half life, thousands of pages of records and calculations, at one go, when he finally realized that the planetary orbits are not circles but ellipses. […] This is the way true and scientific knowledge gain works.
Leo Lukas: Der Kepler-Komplex (May 2018)


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

Denmark,
2018-05-31 23:47
(2128 d 01:03 ago)

@ Helmut
Posting: # 18836
Views: 7,390
 

 Confession

Hi Hötzi,

❝ Was a good while ago, right?


Ah yes. Those were the days when the fastest way for a controlled correspondence to reach OGD from Ghent was with a steam ship. Well, sort of.

I love that offtopic-o-meter. Does a silly-o-meter exist, too? :-D

Pass or fail!
ElMaestro
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2018-06-01 02:01
(2127 d 22:49 ago)

@ ElMaestro
Posting: # 18837
Views: 7,391
 

 Confession

[image]Ahoy my ol’ Capt’n!

❝ I love that offtopic-o-meter. Does a silly-o-meter exist, too? :-D


Your wish is my command!
Took me a while. Producing animated GIFs in GIMP is not one of my specialities.

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

Denmark,
2018-06-01 10:31
(2127 d 14:19 ago)

@ Helmut
Posting: # 18838
Views: 7,365
 

 Confession

Hi Hötzi,

❝ Your wish is my command!

❝ Took me a while. Producing animated GIFs in GIMP is not one of my specialities.


What a great start of my day and the weekend :-D:-D:-D
Thanks a lot.

Pass or fail!
ElMaestro
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2018-06-01 15:42
(2127 d 09:08 ago)

@ ElMaestro
Posting: # 18839
Views: 7,215
 

 Silly-O-Meter: Syntax

Hi ElMaestro,

❝ Thanks a lot.


My pleasure.
Use these links and change the round brackets to squared ones:

(img)img/uploaded/image8.gif(/img)       normal text flow (paragraph)
(img|left)img/uploaded/image8.gif(/img)  text will be right of it
(img|right)img/uploaded/image8.gif(/img) text will be left of it (recomm.)


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

Denmark,
2018-06-01 17:17
(2127 d 07:33 ago)

@ Helmut
Posting: # 18840
Views: 7,456
 

 Silly-O-Meter: Syntax

Hi Hötzi,

[image]
This one is your biggest contribution to BE-science ever. The pinnacle of your career. I am awe-struck.
The entire community, including those who authored §1.58 and §5.5.5 in ICH E6, should feel grateful. One giant leap for mankind.

Pass or fail!
ElMaestro
valivetiananth
☆    

India,
2018-06-02 10:52
(2126 d 13:59 ago)

@ Helmut
Posting: # 18841
Views: 7,083
 

 Stop estimating post hoc power!

Thanks for your reply.

❝ ❝ We have conducted a pivotal study for Europe with 48 subjects considering ~80% power, ISCV: 23%.

❝ ❝ The study was bioequivalent and 90% CI is within 80-125 for both Cmax & AUCt.

❝ ❝ Power of Cmax and AUCt are 92% & 66% respectively.


❝ In this order? Can you give us their CVs and GMRs?


CV- Cmax: 27.731; AUCt: 22.678

GMR-Cmax: 97.76; AUCt: 87.99


Edit: Full quote removed. Please delete everything from the text of the original poster which is not necessary in understanding your answer; see also this post #5[Helmut]
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2018-06-02 15:02
(2126 d 09:49 ago)

@ valivetiananth
Posting: # 18842
Views: 7,160
 

 Eligible subjects?

Hi Valiveti,

❝ ❝ ❝ […] 48 subjects considering ~80% power, ISCV: 23%.

❝ ❝ ❝ The study was bioequivalent and 90% CI is within 80-125 for both Cmax & AUCt.

❝ ❝ ❝ Power of Cmax and AUCt are 92% & 66% respectively.

❝ ❝ In this order? Can you give us their CVs and GMRs?

❝ CV- Cmax: 27.731; AUCt: 22.678

❝ GMR-Cmax: 97.76; AUCt: 87.99


Sorry, I forgot to ask for the sample sizes. Hence, I estimated them – which leaves me confused. :confused:

library(PowerTOST)
guess.GMR.0 <- function(GMR) { # function to estimate the assumed GMR
  sampleN.TOST(alpha=alpha, CV=CV.0/100, theta0=GMR, theta1=theta1,
               theta2=theta2, targetpower=pwr.0/100, design=design,
               print=FALSE)[["Sample size"]]-n.0
}
guess.n.fin <- function(n) { # function to estimate the final sample size
  if (PK == "Cmax") {
    CV       <- CV.1/100
    GMR      <- GMR.1/100
    post.hoc <- post.hoc.1/100 }
  if (PK == "AUC") {
    CV       <- CV.2/100
    GMR      <- GMR.2/100
    post.hoc <- post.hoc.2/100 }
  round(power.TOST(alpha=alpha, CV=CV, theta0=GMR, theta1=theta1,
                   theta2=theta2, n=n, design=design)-post.hoc, 2)
}
assess <- function(CI, theta1=0.80, theta2=1.25) { # assess for BE
  if (CI[["lower"]] > 100*theta2 | CI[["upper"]] < 100*theta1) {
    res <- "bioinequivalence proven"
  } else {
    if (CI[["lower"]] >= 100*theta1 & CI[["upper"]] <= 100*theta2) {
      res <- "bioequivalence demonstrated"
    } else {
      res <- "failed to demonstrated BE (inconclusive)"
    }
  }
}
# design: CV and power in percent
design     <- "2x2x2"
theta1     <- 0.80 # lower BE limit
theta2     <- 1.25 # upper BE limit
CV.0       <- 23   # assumed CV
pwr.0      <- 80   # target (desired) power
n.0        <- 48   # initial sample size
alpha      <- 0.05 # for 90% CI
CI.pct     <- 100*(1-2*alpha)
GMR.0      <- round(uniroot(guess.GMR.0, interval=c(theta1+1e-8, 1))$root, 4)
pwr.ach    <- power.TOST(alpha=alpha, CV=CV.0/100, theta0=GMR.0,
                         theta1=theta1, theta2=theta2, n=n.0, design=design)
# study: CV, GMR, and post hoc power in percent
PK         <- "Cmax"
CV.1       <- 27.731
GMR.1      <- 97.76
post.hoc.1 <- 92
n.fin.1    <- round(uniroot(guess.n.fin, interval=c(12, n.0))$root, 0)
ph.est.1   <- power.TOST(alpha=alpha, CV=CV.1/100, theta0=GMR.1/100,
                         theta1=theta1, theta2=theta2, n=n.fin.1,
                         design=design)
CI.1       <- round(100*CI.BE(alpha=alpha, pe=GMR.1/100, CV=CV.1/100,
                              n=n.fin.1, design=design), 2)
concl.1    <- assess(CI=CI.1, theta1=theta1, theta2=theta2)
PK         <- "AUC"
CV.2       <- 22.678
GMR.2      <- 87.99
post.hoc.2 <- 66
n.fin.2    <- round(uniroot(guess.n.fin, interval=c(12, n.0))$root, 0)
ph.est.2   <- power.TOST(alpha=alpha, CV=CV.2/100, theta0=GMR.2/100,
                         theta1=theta1, theta2=theta2, n=n.fin.2,
                         design=design)
CI.2       <- round(100*CI.BE(alpha=alpha, pe=GMR.2/100, CV=CV.2/100,
                              n=n.fin.2, design=design), 2)
concl.2    <- assess(CI=CI.2, theta1=theta1, theta2=theta2)
cat(design, "design", "\nBE limits:",
    sprintf("%5.2f%% \u2013 %6.2f%%", 100*theta1, 100*theta2),
    paste0("\nAssumed: CV = ", CV.0, "%, GMR = ", 100*GMR.0,
    "%, target power = ", pwr.0, "%"), "\nPlanned: n =", n.0,
    sprintf("(achieved power = %.2f%%)", 100*pwr.ach),
    paste0("\n", paste0(rep("\u2500", 48), collapse=""), "\nStudy"),
    "\nCmax   :",
    sprintf("%s %.2f%%, %s %.2f%%", "CV =", CV.1, "GMR =", GMR.1),
    "\n         n =", n.fin.1,
    sprintf("(post hoc power = %.2f%% ~ %.0f%%)", 100*ph.est.1, post.hoc.1),
    sprintf("%s%.2f%% CI:", "\n         ", CI.pct),
    sprintf("%6.2f%%", CI.1[["lower"]]), "\u2013",
    sprintf("%6.2f%%", CI.1[["upper"]]),
    "\n        ", concl.1,
    "\nAUC    :",
    sprintf("%s %.2f%%, %s %.2f%%", "CV =", CV.2, "GMR =", GMR.2),
    "\n         n =", n.fin.2,
    sprintf("(post hoc power = %.2f%% ~ %.0f%%)", 100*ph.est.2, post.hoc.2),
    sprintf("%s%.2f%% CI:", "\n         ", CI.pct),
    sprintf("%6.2f%%", CI.2[["lower"]]), "\u2013",
    sprintf("%6.2f%%", CI.2[["upper"]]),
    "\n        ", concl.2, "\n")


I got (my confidence intervals might not be exactly yours if sequences were unbalanced, i.e., n1  n2):

2x2x2 design
BE limits: 80.00% – 125.00%
Assumed: CV = 23%, GMR = 90%, target power = 80%
Planned: n = 48 (achieved power = 80.48%)
────────────────────────────────────────────────
Study
Cmax   : CV = 27.73%, GMR = 97.76%

         n = 38 (post hoc power = 92.04% ~ 92%)
         90.00% CI:  87.98% – 108.63%
         bioequivalence demonstrated
AUC    : CV = 22.68%, GMR = 87.99%

         n = 48 (post hoc power = 65.80% ~ 66%)
         90.00% CI:  81.49% –  95.01%
         bioequivalence demonstrated


Is this correct? If yes, why did you have much less eligible subjects in the data set of Cmax than in the one of AUC?
Generally it is the other way ’round (nAUC ≤ nCmax): If the AUC can’t be reliably estimated (missing samples in the late phase and/or the extrapolated AUC >20% of AUC0–∞) its value is not reported whereas the one of Cmax still is.

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
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2018-06-09 17:13
(2119 d 07:37 ago)

@ valivetiananth
Posting: # 18877
Views: 6,688
 

 Don’t we deserve an answer?

Hi Valiveti,

you logged in to the forum last Monday – so I assume that you have read my previous post. Would you mind answering my questions above?
By definition a forum isn’t a one-way street.

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,636 registered users;
88 visitors (0 registered, 88 guests [including 8 identified bots]).
Forum time: 23:51 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