Lee and Liu predictive probability for a single-arm trial with a binary response

With x responses in n patients so far, a beta(a_0, b_0) prior and a maximum of N_max patients, the number of responses Y among the m = N_max minus n patients still to come is beta-binomial(m, a_0 + x, b_0 + n minus x), with weight w_i for Y = i. For each i, B_i is the final posterior probability that the response rate exceeds p_0, from a beta(a_0 + x + i, b_0 + N_max minus x minus i) distribution. The predictive probability sums the weights of the future results for which B_i exceeds theta_T; the trial stops for futility if it falls below theta_L and for efficacy if it exceeds theta_U.

Signature

PP = sum_(i=0)^m [w_i * (B_i > theta_T)]
Inputs
InputsDefinitionUnit
w_iPredictive probability that i of the m future patients respond, given x responses in nprobability
B_iPosterior probability that the response rate exceeds the standard treatment's rate p_0 if i further responses occurprobability
theta_TPosterior probability above which the treatment is declared efficacious at the end, such as 0.90probability
Output
PPProbability that the trial will conclude the treatment is efficacious at N_max, given the current dataprobability
  • m N_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.5656

    Worked 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.0032

    Excel: 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-9

    Common 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.

    View source →

Canonical Identity