How decidedly odd [Power / Sample Size]
Dear ElMaestro,
what a pity, maybe it was not the perfect protocol. Look at this:
We could go further. Maybe you meant so, as you wrote:
Nevertheless what about another alternative CI (sometimes 1-alpha CI, sometimes 100% CI, and sometimes something between) which is constructed based on TOST and BE decision is not affected as well.
I added the CI.9x to simulations (Aaron Zeng R code for TOST CI simulation):
So when we let the 90% CI go, we can have nice (9x%) CI around 1, with alpha 0.05.
Pretty! ... Or ... Pretty nasty!
ElMaestro: You should try to buy a liter of milk for 1 Euro to verify this.
what a pity, maybe it was not the perfect protocol. Look at this:
We could go further. Maybe you meant so, as you wrote:
❝ Why not just go all the way and adjust all CI's so that they span across 1.0 ...
Nevertheless what about another alternative CI (sometimes 1-alpha CI, sometimes 100% CI, and sometimes something between) which is constructed based on TOST and BE decision is not affected as well.
CI++ = (low, 1/low) if high < 1/low
CI++ = (1/high, high) if low > 1/high
CI++ = (low, high) if low = 1/high
low
and high
are the classical 90% confidence interval limits.I added the CI.9x to simulations (Aaron Zeng R code for TOST CI simulation):
set.seed(20140313)
R100 <- 0.51 # Reference mean
T100 <- 0.95*R100 # simulate data under alternative H, assume equal, one can change this. - Yes, I changed this.
D.true <- T100 - R100
sigma <- 0.1
alpha <- 0.05
n <- 100 # sample size
# simulate 100 coverage probabilities, compute means.
sim.num <- 100
# generate 1000 confidence intervals for computing coverage probability
rep <- 1000
coverge.ci90 <- NULL
coverge.ci95 <- NULL
coverge.ci9x <- NULL
for(k in 1:sim.num) {
ci.90 <- NULL
ci.95 <- NULL
ci.9x <- NULL
for(i in 1:rep) {
# simulate data for Reference group
samp.R100 <- rnorm(n, mean=R100, sd=sigma)
samp.T100 <- rnorm(n, mean=T100, sd=sigma)
D.mean <- mean(samp.T100 - samp.R100)
# Assume equal variance, use pooled variance
s.pool <- sqrt((n-1)*var(samp.R100)/(2*n-2) + (n-1)*var(samp.T100)/(2*n-2))
D.se <- s.pool*sqrt(1/n + 1/n)
ci.90 <- rbind(ci.90, c(D.mean - qt(1-alpha, df = 2*n-2)*D.se,
D.mean + qt(1-alpha, df = 2*n-2)*D.se))
ci.95 <- rbind(ci.95, c(min(0, D.mean - qt(1-alpha, df = 2*n-2)*D.se),
max(0, D.mean + qt(1-alpha, df = 2*n-2)*D.se)))
ci.9x <- rbind(ci.9x, c(min(D.mean - qt(1-alpha, df = 2*n-2)*D.se, -(D.mean + qt(1-alpha, df = 2*n-2)*D.se)),
max(-(D.mean - qt(1-alpha, df = 2*n-2)*D.se), D.mean + qt(1-alpha, df = 2*n-2)*D.se)))
}
coverge.ci90 <- c(coverge.ci90, sum(1*((ci.90[, 1] <= D.true) & (ci.90[, 2] >= D.true)))/rep)
coverge.ci95 <- c(coverge.ci95, sum(1*((ci.95[, 1] <= D.true) & (ci.95[, 2] >= D.true)))/rep)
coverge.ci9x <- c(coverge.ci9x, sum(1*((ci.9x[, 1] <= D.true) & (ci.9x[, 2] >= D.true)))/rep)
}
mean(coverge.ci90)
#[1] 0.90086
mean(coverge.ci95)
#[1] 0.95091 (for T100=R100 the value is 1, otherwise the value is 0.95)
mean(coverge.ci9x)
#[1] 0.97507 (for different input the value seems to be from 0.95 to 1)
So when we let the 90% CI go, we can have nice (9x%) CI around 1, with alpha 0.05.
Pretty! ... Or ... Pretty nasty!
ElMaestro: You should try to buy a liter of milk for 1 Euro to verify this.

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 twist Helmut 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 twist Helmut 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 oddzizou 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