Signature
PP = sum_(i=0)^m [w_i * (B_i > theta_T)]
| Inputs | Definition | Unit |
|---|---|---|
w_i | Predictive probability that i of the m future patients respond, given x responses in n | probability |
B_i | Posterior probability that the response rate exceeds the standard treatment's rate p_0 if i further responses occur | probability |
theta_T | Posterior probability above which the treatment is declared efficacious at the end, such as 0.90 | probability |
PP | Probability that the trial will conclude the treatment is efficacious at N_max, given the current data | probability |
|---|
mN_max minus n, the number of patients still to come (count)
Function
Bayesian interim decision function for an adaptive trial
Maps a prior distribution for the treatment effect, the data observed so far and pre-specified thresholds to the quantities that interim rules consult: the posterior probability that the effect exceeds a minimum value, which summarises the evidence now, and the predictive probability that the final analysis will succeed, which averages over the results still to come. Response-adaptive rules use the same posterior to set the chance of allocation to each arm. The notation follows the Bayesian Adaptive Design article.
Computational function
Computational function: Lee and Liu predictive probability from responses so far
Takes the responses and patients so far, the maximum sample size, the standard treatment's response rate, the final threshold and the beta prior, and returns the beta-binomial weights, the final posterior probabilities and the predictive probability (HE-FM-BAD-004). The inputs are the trial counts, from which the function builds both columns with the beta-binomial and beta distribution functions, which have no closed form in the calculator.
Inputs and outputs:
x,n: Responses and patients so far; required.;N_max: Maximum number of patients; required, above n.;p_0: Response rate of the standard treatment; required. Unit: probability.;theta_T: Final efficacy threshold; required. Unit: probability.;a_0,b_0: Beta prior parameters; default 1 and 1.;w: Predictive weights for i = 0 to m.;B: Final posterior probabilities for i = 0 to m.;PP: Predictive probability of a positive trial. Unit: probability.Assumption: Binary responses, one response rate, a beta prior and a fixed maximum sample size, with every enrolled patient's response known.
Worked example (Lee and Liu's example): With 16 responses in 23 patients, N_max of 40, p_0 of 0.6, theta_T of 0.90 and a beta(0.6, 0.4) prior, the predictive probability is 0.5656, as Lee and Liu report; with a futility bound of 0.10 the trial continues.
x = 16; n = 23; N_max = 40; p_0 = 0.6; theta_T = 0.9; a_0 = 0.6; b_0 = 0.4; PP = 0.5656Worked example (Twelve responses in 23 patients): With 12 responses the predictive probability falls to about 0.0032, below a futility bound of 0.10 (computed here for illustration).
x = 12; n = 23; N_max = 40; p_0 = 0.6; theta_T = 0.9; a_0 = 0.6; b_0 = 0.4; PP = 0.0032Excel: With i = 0 to m in column A from A2 and X, N, NMax, P0, A0 and B0 named,
=COMBIN(NMax-N,A2)*EXP(GAMMALN(A0+X+A2)+GAMMALN(B0+NMax-X-A2)-GAMMALN(A0+B0+NMax)-GAMMALN(A0+X)-GAMMALN(B0+N-X)+GAMMALN(A0+B0+N))in B2 gives the weight,=1-BETA.DIST(P0,A0+X+A2,B0+NMax-X-A2,TRUE)in C2 the final posterior probability, and=SUMPRODUCT(B2:B19*(C2:C19>ThetaT))the predictive probability for m = 17.R:
pp_leeliu <- function(x, n, N_max, p_0, theta_T, a_0 = 1, b_0 = 1) { m <- N_max-n; i <- 0:m; w <- choose(m, i)*exp(lbeta(a_0+x+i, b_0+n-x+m-i)-lbeta(a_0+x, b_0+n-x)); B <- 1-pbeta(p_0, a_0+x+i, b_0+N_max-x-i); list(w = w, B = B, PP = sum(w*(B > theta_T))) }Returns a PP of 0.565559 for Lee and Liu's example.Python:
def pp_leeliu(x, n, N_max, p_0, theta_T, a_0=1, b_0=1): from scipy.stats import betabinom, beta; m = N_max-n; w = [betabinom.pmf(i, m, a_0+x, b_0+n-x) for i in range(m+1)]; B = [beta.sf(p_0, a_0+x+i, b_0+N_max-x-i) for i in range(m+1)]; return {"w": w, "B": B, "PP": sum(wi*(Bi > theta_T) for wi, Bi in zip(w, B))}Returns the same values as the R function (uses SciPy).Test (Posterior probabilities reproduce Lee and Liu's range): B_i runs from about 0.0059 to 0.8415 for 0 to 11 further responses and from about 0.9089 to 0.9990 for 12 to 17. Expected result: TRUE. Excel check:
=AND(ROUND(C2,4)=0.0059,ROUND(C13,4)=0.8415,ROUND(C14,4)=0.9089,ROUND(C19,4)=0.999)Test (Weights sum to 1): Expected result: TRUE. Excel check:
=ABS(SUM(B2:B19)-1)<1E-9Common error (Responses and non-responses swapped in the beta parameters): Building B_i from beta(b_0 + n minus x + ..., a_0 + x + ...) reverses the column, so the predictive probability is computed for the failure rate and the futility rule fires on a promising treatment.
Source: Lee JJ, Liu DD. A predictive probability design for phase II cancer clinical trials. Clinical Trials. 2008;5(2):93-106. Methods and Table 1.
m = N_max - n; w_i = choose(m, i) * B(a_0 + x + i, b_0 + n - x + m - i) / B(a_0 + x, b_0 + n - x); B_i = 1 - F_beta(p_0 | a_0 + x + i, b_0 + N_max - x - i); PP = sum_(i=0)^m [w_i * (B_i > theta_T)]
Try this function
Implementations
Excel
Lee and Liu predictive probability from weight and posterior columns
With the predictive weights for i = 0 to m in a range named PredWeights, the matching final posterior probabilities in PostProbs and the threshold in ThetaT, the formula returns the predictive probability, held in PredProbLL. HE-CF-BAD-002 shows how to fill the two columns.
=SUMPRODUCT(PredWeights*(PostProbs>ThetaT))
Assumptions
Binary response observed before each interim look
Each patient's response is binary and known before the next look, patients are exchangeable with one response rate, and the prior is beta.
Design parameters fixed in advance
N_max, p_0, theta_T, theta_L and theta_U are chosen before the trial, Lee and Liu by searching for the values that meet type I and type II error constraints.
Worked examples
Lee and Liu example with 16 responses in 23 patients
With N_max of 40, 16 responses in 23 patients, a beta(0.6, 0.4) prior, p_0 of 0.6 and theta_T of 0.90, Y is beta-binomial(17, 16.6, 7.4). B_i is below 0.90 for 11 or fewer further responses and above it for 12 or more, so PP is the predictive weight of 12 to 17 responses, 0.5656, as Lee and Liu report.
m = 17; w_i = [0.0000, 0.0000, 0.0001, 0.0006, 0.0021, 0.0058, 0.0135, 0.0276, 0.0497, 0.0794, 0.1129, 0.1426, 0.1587, 0.1532, 0.1246, 0.0811, 0.0381, 0.0099]; B_i = [0.0059, 0.0138, 0.0296, 0.0581, 0.1049, 0.1743, 0.2679, 0.3821, 0.5085, 0.6349, 0.7489, 0.8415, 0.9089, 0.9528, 0.9781, 0.9910, 0.9968, 0.9990]; theta_T = 0.9; PP = 0.5656
Four patients to come with a uniform prior
With N_max of 10, 4 responses in 6 patients, a uniform beta(1, 1) prior, p_0 of 0.5 and theta_T of 0.90, only 4 responses among the last 4 patients lifts B_i above 0.90 (0.9673; 3 responses give 0.8867), so PP is the weight of that result, about 0.2121 (computed here for illustration).
m = 4; w_i = [0.0455, 0.1515, 0.2727, 0.3182, 0.2121]; B_i = [0.2744, 0.5000, 0.7256, 0.8867, 0.9673]; theta_T = 0.9; PP = 0.2121
Common errors
Using the current posterior probability as the predictive probability
In the Lee and Liu example the current posterior probability that the response rate exceeds 0.6 is about 0.836, but the probability that the trial will end with a posterior probability above 0.90 is 0.5656 (computed here for illustration).
Plugging in the observed response rate for future patients
Treating future responses as binomial with the observed rate of 16/23 ignores uncertainty in the rate and gives about 0.581 instead of 0.5656 in the Lee and Liu example (computed here for illustration).
Sources
Predictive probability design with beta-binomial future responses
Lee JJ, Liu DD. A predictive probability design for phase II cancer clinical trials. Clinical Trials. 2008;5(2):93-106. Methods and Table 1: PP is the sum over i of Prob(Y = i | x) times the indicator that B_i exceeds theta_T, with Y beta-binomial(m, a0 + x, b0 + n minus x); stopping rules with theta_L and theta_U; the example with N_max 40, 16 responses in 23 patients, beta(0.6, 0.4) prior and theta_T 0.90 gives PP = 0.5656.
Canonical Identity
Stable URI · Machine-readable · Resolvable · CC BY 4.0