Still SF [Two-Stage / GS Designs]

posted by VStus – Poland, 2016-10-11 12:23 (2725 d 22:43 ago) – Posting: # 16719
Views: 12,528

Hello, Maestro!

❝ Nitpicking: you perform a 2-stage trial or a pilot trial because you do not know the variability, right? Which means the "let's say 50% power" in actuality means guessworking. Optimizing the formulation on basis of a pilot trial with inherently low power (=high uncertainty on the PE) is in scientific terms as solid as tarot cards or crystal healing.


Well, I've done some small research into the BE data of one HVD product. An iterative assessment of BE for dataset from our trial with iterative increase of number of subjects from 4 to 42 performed (with slightly modified code of Analyse222BE)
Study design assumptions:
T/R = 0.95;
Intra-subject CV = 0.36.
    data  <- read.csv(tk_choose.files(filters = matrix(c("Comma-separed values", ".csv"), 1, 2, byrow = TRUE)), header = TRUE, row.names=NULL, sep = ",", dec = ".") # change parameters if your .csv uses different separators/decimals
    data2 <- data.frame (subjN=data$SUB, subj=as.factor(data$SUB), drug=as.factor(data$TRT), seq=as.factor(data$SEQ), prd=as.factor(data$PER), Cmax=data$CMAX, AUCt=data$AUCT, AUCinf=data$AUCI)
  # end of data import and conversion
    maxN  <- max(data2$subjN) #define max for cycle
    minN  <- min(data2$subjN)
    alpha <- 0.05
    N     <- NULL
    ISCV  <- NULL
    P_E   <- NULL
    L_CI  <- NULL
    U_CI  <- NULL
    x     <- 0
    for (i in minN:maxN) {
      if (!i %% 4){
        x <- x + 1
        anovadata <- lm(log(Cmax) ~ seq + subj:seq + prd + drug, data=subset(data2, subjN<i+1), na.action=na.exclude)
        MSE       <- anova(anovadata)["Residuals","Mean Sq"]
        PE        <- coef(anovadata)[4]
        CI        <- confint(anovadata, c(4), level=1-2*alpha)
        N[x]      <- nrow(subset(data2, subjN<i+1))/2
        ISCV[x]   <- 100*sqrt(exp(MSE)-1)
        P_E[x]    <- 100*exp(PE)
        L_CI[x]   <- 100*exp(CI[1])
        U_CI[x]   <- 100*exp(CI[2])
      }
    }
  BE_table <- data.frame(N, ISCV, P_E, L_CI, U_CI, stringsAsFactors = FALSE)

I've added some power calculations to this dataframe: T/R assumed by design (0.95), observed Intra-subject CV and number of actual number of subjects for each iteration...
So, the graphical output looks like this:
[image]
Legend:
Point Estimates (%) - Round markers with blue line;
Upper and lower 90% CI (%) - Black lines below and above PE;
Observed Intra-subject CV (%) - Triangles;
Power (ala Potvin C power for 1st stage) - Red curve (lower red :)).

For this particular study, if it was an exploratory pilot, we would receive more-o-less reliable prediction of Intra-subject CV starting from 12 subjects and T/R starting from 15 (let's assume 16) subjects. For pilot study powered at 50% (using design assumptions it's 32 subjects) we would have good chances not only to get reliable Intra-subject CV and T/R data, but to demonstrate BE.

Therefore, it's a guesswork. But having some kind of pilot or previous pivotal study gives better estimates than literature data.

Regards, VStus

Complete thread:

UA Flag
Activity
 Admin contact
22,957 posts in 4,819 threads, 1,636 registered users;
112 visitors (0 registered, 112 guests [including 12 identified bots]).
Forum time: 10:07 CET (Europe/Vienna)

With four parameters I can fit an elephant,
and with five I can make him wiggle his trunk.    John von Neumann

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