Better 0.95 or 0.90 [Power / Sample Size]

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 🖖
Helmut Schütz The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes Ing. Helmut Schütz 