Power with a Danish twist [Power / Sample Size]
❝ […] DKMA are currently to the best of my knowledge only enforcing the requirement in relation to substitution.
Seems so. Acceptance limits for AUC and Cmax of antiepileptics apart from levetiracetam and benzodiazepines are 90.00-111.11%. Now we could ask what is the maximum deviation of the PE from 100% for a given sample size (based on CV and target power). Example valproic acid, CV for Cmax 10% (AUC 5–7%), target power 80%, θ0 0.975 (as suggested by the FDA; tighter release spec’s for NTIDs):
library(PowerTOST)
dk <- function(CV, n, lower, upper, theta0) { # Danish power
p0 <- power.TOST(CV=CV, n=n, theta0=theta0,
theta1=lower, theta2=upper)
p1 <- power.TOST(CV=CV, n=n, theta0=theta0,
theta1=lower, theta2=1)
p2 <- power.TOST(CV=CV, n=n, theta0=theta0,
theta1=1, theta2=upper)
p0-p1-p2
}
of <- function(x) { # objective function
(dk(CV=CV, n=n, lower=lower, upper=upper, theta0=x)-target)^2
}
lower <- 0.9 # NTID-range
upper <- 1/lower
CV <- 0.1
target <- 0.8
theta0 <- 0.975
n <- sampleN.TOST(CV=0.1, theta0=theta0, theta1=lower, theta2=upper,
targetpower=target, print=FALSE)[["Sample size"]]
theta0.dk <- optimize(of, interval=c(lower, 1), tol=1e-12)$minimum
power <- dk(CV=CV, n=n, lower=lower, upper=upper, theta0=theta0.dk)
GMR <- seq(lower, upper, length.out=101)
pwr <- vector()
for (j in seq_along(GMR)) {
pwr[j] <- dk(CV=CV, n=n, lower=lower, upper=upper, theta0=GMR[j])
}
plot(GMR, pwr, log="x", ylim=c(0, 1), type="l", lwd=2, col="blue",
las=1, ylab="power with a Danish twist", cex.main=1,
main=paste0("theta0 = ", theta0, " (n = ", n, ")"))
grid()
abline(h=target)
abline(v=c(theta0, 1/theta0), lty=3, col="red")
abline(v=c(theta0.dk, 1/theta0.dk), lty=2, col="blue")
arrows(theta0, 0, theta0.dk, 0, length=0.1, angle=25,
code=2, lwd=2, col="red")
arrows(1/theta0, 0, 1/theta0.dk, 0, length=0.1, angle=25,
code=2, lwd=2, col="red")
BE <- sprintf("%s %.4f%s%.4f", "BE-limits:", lower, "\u2026", upper)
op <- par(no.readonly=TRUE)
par(family="mono")
if (round(power, 6) >= target) {
legend("topright", bg="white", cex=0.9, x.intersp=0,
legend=c(BE, sprintf("%s %.4f%s%.4f",
"GMR-range:", theta0.dk, "\u2026", 1/theta0.dk)))
} else {
legend("topright", bg="white", cex=0.9, x.intersp=0,
legend=c(BE, sprintf("%s %.4f", "Achievable power:", power)))
}
par(op)
That’s tough. The “conventional” sample size would be 22. To fulfill the Danish requirement the GMR must not be outside 0.9817…1.0186 without compromising power. Wow. if we want higher power we soon discover that the GMR must be exactly 1.
Side effect: If we originally assumed a GMR of 0.95 (n 44), the GMR range has to be even tighter with 0.9834…1.0169 since Danish power decreases with the sample size (see the second plot in this post).
Dif-tor heh smusma 🖖🏼 Довге життя Україна!
![[image]](https://static.bebac.at/pics/Blue_and_yellow_ribbon_UA.png)
Helmut Schütz
![[image]](https://static.bebac.at/img/CC by.png)
The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
Complete thread:
- Denmark Curiosa (1 in 90% CI in 0.8-1.25) zizou 2017-02-05 02:03 [Power / Sample Size]
- Kudos! Helmut 2017-02-05 19:16
- Kudos! ElMaestro 2017-02-05 21:15
- Joking! Helmut 2017-02-06 13:27
- Thanks, and DKMA ElMaestro 2017-02-06 13:46
- Power with a Danish twistHelmut 2017-02-07 15:23
- Danish ultra-conservatism d_labes 2017-02-08 10:57
- Danish ultra-conservatism Helmut 2017-02-08 11:47
- Danish ultra-conservatism d_labes 2017-02-08 10:57
- Power with a Danish twistHelmut 2017-02-07 15:23
- Thanks, and DKMA ElMaestro 2017-02-06 13:46
- Kudos to ElMaestro! d_labes 2017-02-06 15:06
- Plausible Helmut 2017-02-06 17:16
- Plausible to me too d_labes 2017-02-06 20:25
- Plausible to me too ElMaestro 2017-02-06 22:30
- Plausible to me too zizou 2017-02-06 22:42
- THX d_labes 2017-02-07 10:01
- Plausible to me too d_labes 2017-02-06 20:25
- Plausible Helmut 2017-02-06 17:16
- Joking! Helmut 2017-02-06 13:27
- Kudos! ElMaestro 2017-02-05 21:15
- 3D Helmut 2017-02-06 13:47
- Denmark Curiosa (1 in 90% CI in 0.8-1.25) d_labes 2017-02-06 14:54
- Denmark Curiosa (1 in 90% CI in 0.8-1.25) zizou 2017-02-08 21:03
- Alternative CI for BE decision d_labes 2017-02-09 11:18
- Alternative CI for BE decision ElMaestro 2017-02-09 11:36
- Alternative CI for BE decision d_labes 2017-02-09 11:48
- How decidedly odd ElMaestro 2017-02-09 13:28
- How decidedly odd zizou 2017-02-09 14:42
- How decidedly odd ElMaestro 2017-02-09 13:28
- Alternative CI for BE decision Helmut 2017-02-09 13:41
- No alternative d_labes 2017-02-09 20:37
- No alternative ElMaestro 2017-02-10 13:51
- No alternative? mittyri 2017-02-10 15:28
- Dinamarka? d_labes 2017-02-10 20:10
- OT: Czech beer d_labes 2017-02-10 19:57
- No alternative? mittyri 2017-02-10 15:28
- No alternative ElMaestro 2017-02-10 13:51
- No alternative d_labes 2017-02-09 20:37
- Alternative CI for BE decision d_labes 2017-02-09 11:48
- Alternative CI for BE decision ElMaestro 2017-02-09 11:36
- Alternative CI for BE decision d_labes 2017-02-09 11:18
- Denmark Curiosa (1 in 90% CI in 0.8-1.25) zizou 2017-02-08 21:03
- Denmark Curiosa (1 in 90% CI in 0.8-1.25): Gone Helmut 2019-11-08 12:47
- Kudos! Helmut 2017-02-05 19:16