Problems with low variability [General Sta­tis­tics]

posted by Helmut Homepage – Vienna, Austria, 2020-10-09 17:04 (1266 d 06:29 ago) – Posting: # 21986
Views: 2,210

Hi Siva Krishna,

❝ I would like to say Thank you sir for your valuable information. This may be helpful to my question.


Welcome. Would you mind answering my previous questions:

❝ ❝ I guess 100% was not contained in the 90% CI, right?

❝ ❝ For which power did you plan the study?


Sometimes statistically significant differences are common, namely if the CV is low (say, <10%) and you plan for 80% power. Then you may end up with a sample size far below the regulatory minimum of twelve. Add more subjects to compensate for potential dropouts and…
In my protocols I state that extremely high power is expected and the CI might well contain not 100%.


[image] script:

library(PowerTOST)
balance <- function(x, seqs) { # gives complete sequences
  x <- ceiling(x) + ceiling(x) %% seqs
  return(x)
}
CV       <- 0.10    # assumed (here 10%)
theta0   <- 0.925   # assumed T/R-ratio
target   <- 0.80    # target (desired) power (here at least 80%)
do.rate  <- 0.10    # anticipated dropout rate (here 10%)
design   <- "2x2x2" # can be any one given by known.designs()
seqs     <- as.integer(substr(design, 3, 3)) # sequences
n        <- sampleN.TOST(CV = CV, theta0 = theta0, targetpower = target,
                         design = design, details = FALSE,
                         print = FALSE)[["Sample size"]]
if (n < 12) n <- 12 # force to minimum acc. to GLs
dosed    <- balance(n / (1 - do.rate), seqs) # adjust for dropout-rate & balance
eligible <- dosed:n; dropouts <- rev(eligible - n)
res      <- data.frame(dosed = dosed, dropouts = dropouts, eligible = eligible,
                       power = NA, CL.lo = NA, CL.hi = NA,
                       p.left = NA, p.right = NA)
for (j in seq_along(eligible)) {
  res$power[j] <- suppressMessages(
                    signif(power.TOST(CV = CV, theta0 = theta0,
                                      design = design, n = eligible[j]), 4))
  res[j, 5:6]  <- round(100*CI.BE(pe = theta0, CV = CV,
                                  design = design, n = eligible[j]), 2)
  res[j, 7:8]  <- suppressMessages(
                    signif(pvalues.TOST(pe = theta0, CV = CV,
                                        design = design, n = eligible[j]), 4))
}
print(res, row.names = FALSE)

Gives (if the assumptions about the CV and T/R-ratio are realized in the study):

 dosed dropouts eligible  power CL.lo CL.hi   p.left   p.right
    14        0       14 0.9760 86.49 98.93 0.001154 1.913e-06
    14        1       13 0.9652 86.22 99.23 0.001752 4.846e-06
    14        2       12 0.9521 85.92 99.59 0.002569 1.166e-05


Dif-tor heh smusma 🖖🏼 Довге життя Україна! [image]
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes

Complete thread:

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

Nothing shows a lack of mathematical education more
than an overly precise calculation.    Carl Friedrich Gauß

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