Better 0.95 or 0.90 [Power / Sample Size]

posted by Helmut Homepage – Vienna, Austria, 2017-12-29 17:18 (2449 d 12:07 ago) – Posting: # 18127
Views: 34,254

Hi kms,

❝ ❝ In this case, why they assume GMR=1.10 instead of the "normal" 0.95/1.05.


❝ This was […] a very rare case, but in General GMR would be taken as 0.95/1.05 as you said, but the power remains same as 95% to 99%


Similar same. ;-)

CV 0.20, GMR 1.10, target 80%, n 32 (power 81.01%), no dropouts expected

1e+05 simulated studies with “post hoc” power of
  ≥ target    : 54.04%
  ≥ achieved  : 51.57%
  ≥ 0.90      : 26.98%
  [0.95, 0.99]: 10.41%
  ≥ 0.95      : 12.50%


CV 0.20, GMR 1.05, target 80%, n 18 (power 80.02%), no dropouts expected

1e+05 simulated studies with “post hoc” power of
  ≥ target    : 48.45%
  ≥ achieved  : 48.41%
  ≥ 0.90      : 25.26%
  [0.95, 0.99]:  9.72%
  ≥ 0.95      : 12.92%


I still don’t understand what you wrote above:

❝ […] always it is coming in the interval 95 to 99 and some times 100


BTW, power curves are not symmetric in raw scale but in log-scale (see this post). If you are not – very – confident about the sign of ∆, I recommend to use GMR=1–∆ in order to be on the safe side. By this, power is preserved for GMR=1/(1–∆) as well. If you use GMR=1+∆, power for GMR=1–∆ will be insufficient:

cat(paste0("\u2206 with unknown sign: ", 100*delta, "%",
    "\n  based on GMR = 1 \u2013 \u2206 = ",
    sprintf("%5.4f", 1-delta), "      : n ",
    plan.1[["Sample size"]],
    "\n  based on GMR = 1 + \u2206 = ",
    sprintf("%5.4f", 1+delta), "      : n ",
    plan.2[["Sample size"]],
    "\n  based on GMR = 1 / (1 + \u2206) = ",
    sprintf("%5.4f", 1/(1+delta)), ": n ",
    plan.3[["Sample size"]],
    "\n  based on GMR = 1 / (1 \u2013 \u2206) = ",
    sprintf("%5.4f", 1/(1-delta)), ": n ",
    plan.4[["Sample size"]],
    "\n\nTrue GMR = ", sprintf("%5.4f", 1-delta),
    "\n  n ", plan.2[["Sample size"]], ", power ",
    sprintf("%4.2f%%", 100*power.TOST(CV=CV, theta0=1-delta,
    n=plan.2[["Sample size"]])),
    "\n  n ", plan.1[["Sample size"]], ", power ",
    sprintf("%4.2f%%", 100*plan.1[["Achieved power"]]),
    "\nTrue GMR = ", sprintf("%5.4f", 1/(1+delta)),
    "\n  n ", plan.3[["Sample size"]], ", power ",
    sprintf("%4.2f%%", 100*plan.3[["Achieved power"]]),
    "\n  n ", plan.1[["Sample size"]], ", power ",
    sprintf("%4.2f%%", 100*power.TOST(CV=CV, theta0=1/(1+delta),
    n=plan.1[["Sample size"]])),
    "\nTrue GMR = ", sprintf("%5.4f", 1+delta),
    "\n  n ", plan.2[["Sample size"]], ", power ",
    sprintf("%4.2f%%", 100*plan.2[["Achieved power"]]),
    "\n  n ", plan.1[["Sample size"]], ", power ",
    sprintf("%4.2f%%", 100*power.TOST(CV=CV, theta0=1+delta,
    n=plan.1[["Sample size"]])),
    "\nTrue GMR = ", sprintf("%5.4f", 1/(1-delta)),
    "\n  n ", plan.4[["Sample size"]], ", power ",
    sprintf("%4.2f%%", 100*plan.4[["Achieved power"]]),
    "\n  n ", plan.2[["Sample size"]], ", power ",
    sprintf("%4.2f%%", 100*power.TOST(CV=CV, theta0=1/(1-delta),
    n=plan.2[["Sample size"]])), "\n"))

∆ with unknown sign: 10%
  based on GMR = 1 – ∆ = 0.9000      : n 38
  based on GMR = 1 + ∆ = 1.1000      : n 32
  based on GMR = 1 / (1 + ∆) = 0.9091: n 32
  based on GMR = 1 / (1 – ∆) = 1.1111: n 38

True GMR = 0.9000

  n 32, power 75.17%
  n 38, power 81.55%
True GMR = 0.9091
  n 32, power 81.01%
  n 38, power 86.76%
True GMR = 1.1000
  n 32, power 81.01%
  n 38, power 86.76%
True GMR = 1.1111
  n 38, power 81.55%

  n 32, power 75.17%


In simple words, for ∆ 10% assume a GMR of 0.90 (which will preserve power for GMR up to 1.1111) and for ∆ 5% a GMR of 0.95 (covers up to 1.0526·).
If you assume a GMR of 1.10 power will be preserved only down to 0.9090 and with 1.05 down to 0.9524 – not to 0.90 or 0.95 as many probably expect.

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
23,223 posts in 4,877 threads, 1,655 registered users;
33 visitors (0 registered, 33 guests [including 7 identified bots]).
Forum time: 06:25 CEST (Europe/Vienna)

One of the symptoms of an approaching nervous breakdown
is the belief that one’s work is terribly important.    Bertrand Russell

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