Ken Peh
★    

Malaysia,
2013-07-29 21:03
(4290 d 08:55 ago)

Posting: # 11117
Views: 6,185
 

 calculation of power with power.TOST [🇷 for BE/BA]

Dear All,

We would like to estimate the power of a BE study that has been completed. The no of subjects enrolled was 28 but 3 dropped out. Hence, left only 25 subjects.

In R-Software, we key the data using two different approaches :-
No 1
power.TOST(CV=0.29, n=25, theta0=0.95)
[1] 0.618512


No 2
power.TOST(CV=0.29, n=25, theta0=0.95, theta1=0.83, theta2=1.09)
[1] 0.07853425


Which is the right way to key in data ? The first one or the second one ? :confused:
Do we have to key in the value of lower and upper BE limit obtained from the study ? Why after putting in the lower and upper BE limit, the power is only about 8% versus 62%.

Your input is highly appreciated.

Thank you.

Regards,
Ken


Edit: Category changed. [Helmut]
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2013-07-29 23:30
(4290 d 06:28 ago)

@ Ken Peh
Posting: # 11118
Views: 5,758
 

 power.TOST (CV & n; everything else optional—with defaults)

Hi Ken!

❝ We would like to estimate the power of a BE study that has been completed.


Oh, is your authority still requiring this? :no:

❝ Which is the right way to key in data ? The first one or the second one ?


No. 1

Since you didn’t type in the lower (theta1) and upper (theta2) acceptance limits for bioequivalence, the defaults of 0.80 and 1/0.80=1.25 are used. But if you want you can state them. Try:
power.TOST(CV=0.29, n=25, theta0=0.95, theta1=0.80, theta2=1.25)
[1] 0.618512


You can play the game the other way ’round: How many subjects would we need for 61.85% power if CV is 29%?
sampleN.TOST(CV=0.29, targetpower=0.6185)

+++++++++++ Equivalence test - TOST +++++++++++
            Sample size estimation
-----------------------------------------------
Study design:  2x2 crossover
log-transformed data (multiplicative model)

alpha = 0.05, target power = 0.6185
BE margins        = 0.8 ... 1.25
Null (true) ratio = 0.95,  CV = 0.29

Sample size (total)
 n     power
26   0.640848


26 – not 25 – because in study planning you get always even numbers in a 2×2 design. Note that I did not use theta0, theta1, and theta2 because 0.95, 0.80, and 1.25 are the defaults.

❝ Do we have to key in the value of lower and upper BE limit obtained from the study ? Why after putting in the lower and upper BE limit, the power is only about 8% versus 62%.


No. That would mean asking for the chance to be bioequivalent (with CV 29%, ratio 95%) within limits of 83–109%. This range is much narrower than 80–125% – therefore, you get a much lower power. I guess your values are the confidence limits obtained in the study, right?

BTW, BE-limits are based on the maximum acceptable difference, say 20%. In log-scale they are symmetrical around zero [ln(1–0.20), ln(1/(1+0.20)] = [-0.2231, +0.2231]. After back-transformation they are asymetrical around 100% [ℯ-0.2231, ℯ+0.2231] = 80–125%. Hey, that’s upper = 1/lower. ;-) Therefore, in Power.TOST you could only give theta1 or theta2; the reciprocal would be calculated automatically. Try:
power.TOST(CV=0.29, n=25, theta0=0.95, theta1=0.80)
power.TOST(CV=0.29, n=25, theta0=0.95, theta2=1.25)


For details:
require(PowerTOST)
help(power.TOST)



@Detlew: Maybe PowerTOST should throw a warning if the input’s theta2 1/theta1 (to the precision of the input)? Or is this over the top?

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,
2013-07-29 23:54
(4290 d 06:04 ago)

@ Helmut
Posting: # 11119
Views: 5,218
 

 power.TOST (CV & n; everything else optional—with defaults)

Hi Helmut,

❝ @Detlew: Maybe PowerTOST should throw a warning if the input’s theta2 1/theta1 (to the precision of the input)? Or is this over the top?


Nice idea, actually. I am anticipating a borderline grumpy reply like "Take my code and do it better." from him :-D:-D

Pass or fail!
ElMaestro
d_labes
★★★

Berlin, Germany,
2013-07-30 13:57
(4289 d 16:01 ago)

@ ElMaestro
Posting: # 11123
Views: 5,265
 

 power.TOST acceptance range unbalanced

Hi Old sailor, hi Helmut,

❝ ❝ @Detlew: Maybe PowerTOST should throw a warning if the input’s theta2 1/theta1 (to the precision of the input)? Or is this over the top?


I'm not quite sure if this is worth a warning.
It is quite unusual to use other BE acceptance limits than theta2=1/theta1 or vice versa. But ... maybe some guy wishes to do so, for instance if a regulator deemed him to do so, see Canada "Critical dose drugs": The 90% confidence interval of the relative mean AUC* of the test to reference formulation should be within 90.0% to 112.0% inclusive.

The implemented algorithm is valid also if theta2 1/theta1, I think.

❝ Nice idea, actually. I am anticipating a borderline grumpy reply like "Take my code and do it better." from him :-D:-D


Only for those who criticise peanuts while on the other hand stating "not often using PowerTOST". Thank you for not using PowerTOST. Me too since I got stuck with SAS :cool:.

@Ken: Since you have dropouts I'm sure that your data are unbalanced. Therefore I recommend you the function power2.TOST().

Key in the number of subjects in the sequence groups, the GMR (0.95?) from your study and the CV:
power2.TOST(CV=0.29, n=c(14,11), theta0=0.95)
[1] 0.6106208

I have assumed worse case that all dropouts are from the same sequence group. Note the drop of power compared to your calculation via power.TOST() which assumes balanced studies.

Regards,

Detlew
Ken Peh
★    

Malaysia,
2013-07-30 20:53
(4289 d 09:05 ago)

@ d_labes
Posting: # 11132
Views: 5,108
 

 power.TOST acceptance range unbalanced

Dear Detlew,

Thank you very much for your guidance. Will use power2.TOST to recalculate.

Regards,
Ken
Ken Peh
★    

Malaysia,
2013-07-30 21:03
(4289 d 08:55 ago)

@ Helmut
Posting: # 11133
Views: 5,112
 

 power.TOST (CV & n; everything else optional—with defaults)

Dear Helmut,

Thank you very much for your prompt reply.

❝ Oh, is your authority still requiring this? :no:

Yes, it is still in the guideline. I have brought this up to the authority but it has not been discussed yet.

The generic is BE to comparator but the power is less than 80%. Will leave it out and answer when asked by the authority.

Regards,
Ken
UA Flag
Activity
 Admin contact
23,424 posts in 4,927 threads, 1,670 registered users;
91 visitors (0 registered, 91 guests [including 7 identified bots]).
Forum time: 05:58 CEST (Europe/Vienna)

There are two possible outcomes: if the result confirms the
hypothesis, then you’ve made a measurement. If the result is
contrary to the hypothesis, then you’ve made a discovery.    Enrico Fermi

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