CVwR ~ CVwT ~ CVw? [Power / Sample Size]
❝ is it relevant to estimate the within subject CV based on the MSE obtained following a classical CO study […]? I precise that it is just an estimation to have an idea if it is relevant to performed a replicate design study or not.
❝
❝ I heard in a symposium that the CV obtained from the MSE should be a good estimator of the real within subject CV, could you confirm ? (or not )
I agree with ElMaestro. If you design a replicate study based on the CVw of a 2×2×2 crossover you have to assume that CVwT = CVwR. In many cases the variabilities of T and R are “similar”. Essentially there are three possibilities:
- CVwT < CVwR: Since with the EMA’s methods the 90% CI is derived from the pooled CVw (the MSE from the same model as a 2×2×2) you will gain power.
- CVwT = CVwR: Fine, as assumed. Desired power.
- CVwT > CVwR: Here you will loose power, primarily because in the sample size estimation (based on CVw which is biased upwards by CVwT) you expected wider BE-limits.
library(PowerTOST)
x <- as.data.frame(matrix(NA, ncol=12, nrow=3))
names(x) <- c("CVwR", "CVwT", "CVw", "CV.r", "s.r", "n.RSABE", "n.ABE",
"pw.ABE", "pw.ABE.n2", "n.ABEL", "pw.ABEL", "pw.ABEL.n2")
x["s.r"] <- c(2/3, 1, 3/2)
x["CVwR"] <- rep(se2CV(0.21179), 3)
x["CVwT"] <- se2CV(x["s.r"]*CV2se(x["CVwR"]))
x["CV.r"] <- x["CVwT"]/x["CVwR"]
x["CVw"] <- as.numeric(mse2CV((CV2mse(x["CVwT"])+CV2mse(x["CVwR"]))/2))
for (j in 1:3) { # loops for functions which don't vectorize
x[j, "n.RSABE"] <- sampleN.NTIDFDA(CV=c(x[j, "CVwT"], x[j, "CVwR"]),
theta0=0.95, design="2x2x4",
print=FALSE, details=FALSE)[["Sample size"]]
y <- sampleN.TOST(CV=x[j, "CVw"], theta0=0.95, design="2x2x4",
print=FALSE, details=FALSE)
x[j, "n.ABE"] <- y[["Sample size"]]
x[j, "pw.ABE"] <- y[["Achieved power"]]
y <- sampleN.scABEL(CV=c(x[j, "CVwT"], x[j, "CVwR"]), theta0=0.95,
design="2x2x4", print=FALSE, details=FALSE)
x[j, "n.ABEL"] <- y[["Sample size"]]
x[j, "pw.ABEL"] <- y[["Achieved power"]]
}
for (j in 1:3) { # use the sample size for CVwT = CVwR (2nd row)
x[j, "pw.ABE.n2"] <- power.TOST(CV=x[j, "CVw"], theta0=0.95,
design="2x2x4", n=x[2, "n.ABE"])
x[j, "pw.ABEL.n2"] <- power.scABEL(CV=c(x[j, "CVwT"], x[j, "CVwR"]),
theta0=0.95, design="2x2x4",
n=x[2, "n.ABEL"])
}
print(round(x, 4), row.names=FALSE)
CVwR CVwT CVw CV.r s.r n.RSABE n.ABE pw.ABE pw.ABE.n2 n.ABEL pw.ABEL pw.ABEL.n2
0.2142 0.1419 0.1815 0.6625 0.6667 14 8 0.8262 0.9440 8 0.8355 0.9460
0.2142 0.2142 0.2142 1.0000 1.0000 18 12 0.8626 0.8626 12 0.8663 0.8663
0.2142 0.3259 0.2750 1.5214 1.5000 32 18 0.8413 0.6602 18 0.8424 0.6649
Higher sample sizes due to the comparison of variabilities. Equal sample sizes for ABE and the EMA’s ABEL since no scaling is allowed (CVwR <30%).
Now for CVwR 30%:
CVwR CVwT CVw CV.r s.r n.RSABE n.ABE pw.ABE pw.ABE.n2 n.ABEL pw.ABEL pw.ABEL.n2
0.3 0.1976 0.2534 0.6587 0.6667 16 14 0.8040 0.9183 12 0.8035 0.9227
0.3 0.3000 0.3000 1.0000 1.0000 22 20 0.8202 0.8202 18 0.8276 0.8276
0.3 0.4626 0.3877 1.5419 1.5000 40 32 0.8181 0.5941 28 0.8052 0.6040
Same behavior of sample sizes RSABE vs. ABE. Now – due to scaling – ABEL performs better than ABE. Note also the influence of the additional knowledge of CVwT. If you assume that CVwT = CVwR (only information from a 2×2×2 crossover) you would plan with a sample size 18 for ABEL.
We could also vary both CVwR and CVwT by looking at extreme swT/swR-ratios which give still the same pooled CVw of 30%:
CVwR CVwT CVw CV.r s.r n.RSABE n.ABE pw.ABE pw.ABE.n2 n.ABEL pw.ABEL pw.ABEL.n2
0.3560 0.2333 0.3 0.6553 0.6667 22 20 0.8202 0.8202 14 0.8172 0.8951
0.3000 0.3000 0.3 1.0000 1.0000 22 20 0.8202 0.8202 18 0.8276 0.8276
0.2334 0.3560 0.3 1.5253 1.5000 32 20 0.8202 0.8202 20 0.8228 0.7815
Same pattern. This is a bad case scenario when fishing in the dark (i.e., knowing only CVw). The last column is related to the list at the beginning of the post.
In my experience only PPIs (the *prazole-family) in many cases show a higher variability of the reference due to bad gastroresistant coating. Then you will see subjects with low concentrations (which can be removed under certain conditions stated in the MR-GL, Section 6.2.3). We also have to demonstrate that the high CVwR is not caused by outliers. See the infamous (likely fabricated) reference data set I of the Q&A-document. swT∕swR 0.7647 (still within 0.667–1.500). After removal of two outliers (subjects 45, 52) we get swT∕swR 1.0881. Interesting.
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:
- Estimation within-subject CV Mikkabel 2017-07-07 10:13 [Power / Sample Size]
- Estimation within-subject CV ElMaestro 2017-07-07 10:17
- CVwR ~ CVwT ~ CVw?Helmut 2017-07-07 16:09
- CVwR ~ CVwT ~ CVw? zizou 2017-07-08 15:29
- CVwR = CVwT < CVw‽ Helmut 2017-07-08 16:45
- 'whatif' plotting from 4X2 to 2X2 mittyri 2017-07-08 23:47
- CVwR ~ CVwT ~ CVw? ElMaestro 2017-07-09 00:16
- CVwR ~ CVwT ~ CVw? zizou 2017-07-09 02:13
- CVwR = CVwT < CVw‽ Helmut 2017-07-08 16:45
- CVwR ~ CVwT ~ CVw? zizou 2017-07-08 15:29