Overview

First, I summarize the manuscript Thall, Peter F., and Richard Simon. “Practical Bayesian guidelines for phase IIB clinical trials.” Biometrics (1994): 337-349. Second, I sought to replicate the results in the manuscript.

Methods Review

The paper proposed a design for a Bayesian single arm, phase II study with sequential stopping boundaries for a promising treatment and for futility.

Notation

  • Prior Distributions Parameters

    • \(\Theta_S\) and \(\Theta_E\) prior distributions for the probability of success under each treatment.
    • \(\Theta_i \sim \pi_i = Beta(a_i, b_i)\)
    • \(\mu_i\) is the mean of \(\Theta_i\).
    • \(W_\alpha\) is the width of the \(\alpha\) probability interval and is used to construct the PDF of \(\Theta_S\), \(\Theta_S \sim \pi_S = B(a_S, b_S)\).
    • Hypothesized improvement of experimental treatment: \(\delta_0\)
    • \(c_E\) Concentration parameter for experimental prior distribution, \(C_E = a_E + b_E\). Typical values are \(2 \le c_E \le 10\).
  • Other Design Parameters

    • \(p_L\) and \(p_U\) the stopping probability boundaries for futility and success.
      • The trial will stop if \(\lambda(.) \le p_L\) or \(\lambda(.) \ge p_U\).
    • \(n_{min}\) and \(n_{max}\) minimum and maximum number of patients to enroll
  • Other Notation

    • \(X_n\) is the number of successes in the first \(n\) patients under the experimental treatment. \(X_n | \Theta_E \sim Bin(n, \Theta_E)\)
    • Posterior probability \(\lambda(x, n; \pi_S, \pi_E, \delta_0) = Pr(\Theta_S + \delta_0 < \Theta_E | X_n)\).

Throughout, I will use these values in examples: \(\mu_S = 0.20\), \(W_{90} = 0.2\) \(\delta_0 = 0.15\), \(c_E = 2\), \(n_{min} = 10\), and \(n_{max} = 65\)

Prior Distributions

I was able to derive and code the prior distribution for \(\Theta_S\) using \(\mu_S\) and \(W_\alpha\). Rather than solving for an analytic solution to solve for \(a_S\) and \(b_S\), I used a the golden-section search algorithm.

I was also able to derive and code the prior distribution for \(\Theta_E\) using the \(c_E\) and \(\delta_0\) as outlined in the paper.

treatment Beta Distribution Parameters Prior Distribution Mean/Variance
a b mean variance
Standard 8.37 33.5 0.200 0.004
Experimental 0.550 1.45 0.275 0.066

Posterior Distribution

I coded the posterior distribution \(\lambda(.) = Pr(\Theta_S + \delta_0 < \Theta_E | X_n)\).

Example Posterior

The figure below shows all the combinations of \(n\), \(X_n\), and the probability \(\lambda(.)\) for success and futility. The true effect of the experimental treatment here is \(p_E = \mu_S + \delta_0 = 0.35\). We see that around an an event rate of \(35\%\), the \(\lambda(.)\) probability is approximately \(50\%\) for stopping early for futility which makes sense.

Simulation

I’ve written a function to perform the simulations and added to a package for easier use. The documentation of the package is here http://www.danieldsjoberg.com/sjofun/reference/ph2_single_bayes_seq_sim.html, and the code is here https://github.com/ddsjoberg/sjofun/blob/master/R/ph2_single_bayes_seq_sim.R .

I have replicated the figure in the top left corner.

drawing

The figure matches the published results well.