CV limbo [Regulatives / Guidelines]
❝ New Q1: May I ask the formula to calculate SE in a 2*2*4 replicated design? I read your lection but I only find the formula to calculate in 2*2*2 design.
It’s the same one.
❝ New Q3: (1) When we talk about CV, do we usually mean CVwr(within-subject variability of the reference treatment)? Because we need to use whether CVwr > 30% (Swr>0.294) or not to determine which bioequivalence method should use.
When we talk about the CV in a crossover (simple 2×2×2, Higher-Order, or replicate) design, generally the intra-subject CV (CVw) is meant. In parallel designs it’s the total CV (pooled from CVw and CVb). Only in reference-scaling we are interested in the intra-subject CVs of treatments (CVwT and CVwR) as well. Of course, both are only accessible in full replicate designs. In the bloody partial replicate design we get only the latter. The former is nice to know (esp. in pilot studies when we want to estimate the sample size for a pivotal study; see there for an example).
❝ (2) If the answer of (1) is yes, then why we need to calculate pooled CV from 90% CI if we only care about CVwr? Or if pooled CV is important, when will we need to use pooled CV to make any decision?
The implemented methods of reference-scaling (RSABE for the FDA and China, ABEL in all other jurisdictions) are frameworks, where the decision whether RSABE/ABEL or ABE has to be applied hinges on the variability of the reference (see here and there).
If RSABE is applicable (\(\small{s_{\text{wR}}^2\ge0.294}\)), we are not interested in the confidence interval; we assess only whether the upper bound of the linearized criterion is ≤0 and the PE lies within 80.00 – 125.00%. Only in ABE (\(\small{s_{\text{wR}}^2<0.294}\)) we assess the 90% CI.
Contrary to that, in ABEL we assess always the 90% CI (if \(\small{CV_{\text{wR}}>30\%}\) within the expanded limits or within 80.00 – 125.00%, otherwise).
❝ (3) What's the relationship among CV(Sw), CVwr(Swr), CVwt(Swt)? For 2*2*2 design, is that S^2w = (S^2wr + S^2wt)/2, and CV=100*sqrt(exp(S^2w)-1)?
If the study is balanced, correct. Otherwise we would have to weigh the variances by the degrees of freedom. See also this post.
❝ Will this formula change in 2*2*4 design? If it will change, could you please write the formula in 2*2*4 design?
First of all, you don’t need CVw in replicate designs indended for reference-scaling. A clumsy attempt for the EMA’s ‘Data set I’ (imbalanced and incomplete):
library(replicateBE)
library(PowerTOST)
# Calculate ABE of the EMA’s reference data set 1
# and assign the relevant results to a data frame
x <- method.A(print = FALSE, details = TRUE,
data = rds01)[, c(1, 3:6, 11:14, 19:20)]
# Calculate an ANOVA (all effects fixed)
y <- anova(lm(log(PK) ~ sequence +
subject %in% sequence +
period +
treatment, data = rds01))["Residuals", 1:3]
# CVw from ANOVA
CVw1 <- mse2CV(y["Residuals", "Mean Sq"])
# Extract the number of subjects / sequence
nseq <- as.integer(strsplit(x[["Sub/seq"]], "|", fixed = TRUE)[[1]])
# Extract the number of subjects with repeated administrations / treatment
ntrt <- setNames(x[3:4], c("T", "R"))
df <- setNames(ntrt - 2, c("T", "R"))
# Calculate variances weighted by degrees of freedom
s2w.df <- setNames(c(x[["swT"]]^2 * df[["T"]], x[["swR"]]^2 * df[["R"]]),
c("s2wT.df", "s2wR.df"))
# Pool variances
s2w <- sum(s2w.df) / sum(df) # That’s wrong - what is correct?
# CVw from pooled variances
CVw2 <- mse2CV(s2w)
# CVw from 90% CI
CVw3 <- CI2CV(lower = x[["CL.lo(%)"]],
upper = x[["CL.hi(%)"]],
design = "2x2x4", n = nseq, alpha = 0.05)
print(x, digits = 5, row.names = FALSE)
cat(paste0("Design: ", x[["Design"]],
", subjects / sequence: ", x[["Sub/seq"]], "\n"),
sprintf("CVwR from Method A = %.2f%%", x[["CVwR(%)"]]), "\n",
sprintf("CVwT from Method A = %.2f%%", x[["CVwT(%)"]]), "\n",
sprintf("CVw from ANOVA MSE = %.2f%%", 100 * CVw1), "\n",
sprintf("CVw from pooled variances = %.2f%%", 100 * CVw2), "\n",
sprintf("CVw from CI = %.2f%%", 100 * CVw3), "\n")
Design n nTT nRR Sub/seq CVwT(%) CVwR(%) swT swR CL.lo(%) CL.hi(%)
TRTR|RTRT 77 71 73 39|38 35.157 46.964 0.34138 0.44645 107.11 124.89
Design: TRTR|RTRT, subjects / sequence: 39|38
CVwR from Method A = 46.96%
CVwT from Method A = 35.16%
CVw from ANOVA MSE = 41.65%
CVw from pooled variances = 41.45%
CVw from CI = 42.58%
With
rds25
of package replicateBE
, which is both balanced and complete: Design n nTT nRR Sub/seq CVwT(%) CVwR(%) swT swR CL.lo(%) CL.hi(%)
TRTR|RTRT 70 70 70 35|35 46.539 82.805 0.44277 0.72261 77.928 98.102
Design: TRTR|RTRT, subjects / sequence: 35|35
CVwR from Method A = 82.81%
CVwT from Method A = 46.54%
CVw from ANOVA MSE = 63.61%
CVw from pooled variances = 65.73%
CVw from CI = 63.61%
CI2CV()
agree. Hence, my code for pooling variances is wrong.To complicate things: CVwT and CVwR could be directly estimated from the FDA’s mixed-effects model (as you did in your OP). With the EMA’s ‘Data set I’ we get CVwR = 47.328% and CVwT = 35.293%. However, this is not what the FDA wants. Instead, it has to be estimated by an ANOVA of the reference treatment’s data with subject and sequence as factors. Then we get CVwR = 47.627%. Different, right? The REML PE of the mixed-effects model is 115.658% (90% CI: 107.104 – 124.894%). However, if we apply the FDA’s method acc. to the guidances for RSABE, we get a PE of 115.461% (90% CI: 106.386 – 125.311%). Different, again…
As Mittyri once wrote: “Welcome to the hell of mixed-effects modeling.”
BTW, you are not the first asking for CVw in replicate designs. It’s on our todo-list for the next release of the package
replicateBE
.Dif-tor heh smusma 🖖🏼 Довге життя Україна!
Helmut Schütz
The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
Complete thread:
- FDA's HVD SAS Code / Standard Error / CV j_kevin 2022-12-08 09:41 [Regulatives / Guidelines]
- FDA's HVD SAS Code / Standard Error / CV Helmut 2022-12-08 12:09