SNEAK PREVIEW: Complete Path Enumeration (CPE) for CRM #dosefinding designs

Featuring a vignette for #Rstats package #precautionary update v0.2-3, currently under review by CRAN. 1/…
This demonstrates the feasibility of a programme I’ve set forth, for the ‘exact’ simulation of ANY dose-escalation design.

Influenced by @MarkusTriska‘s exacting perspective on ’exactness’, however, I now use the more precise term ‘MCSE-free’. 2/
@MarkusTriska ‘MCSE-free’ in turn alludes to the title of recent work by Thomas M. Braun, from which I adapt my application.

(Braun’s mean-field approach truly can be called ‘simulation-free’, whereas I DO simulate the trials—just without Monte Carlo error.) 3/
@MarkusTriska Braun’s work draws its motivation from the chiropractic of #OneSizeFitsAllogist CRM skeleton manipulation — oh, excuse
me, I mean #calibration — to optimize various dose-centered performance characteristics. 4/
@MarkusTriska His mean-field approximation for several such objective functions yields >1000x speedups of calibration procedures that would normally take hours to days. It remains, however, an approximate heuristic, burdened by the conceptual overhead of a fancy #consistency notion. 5/ Image
@MarkusTriska My own approach to these calibration tasks is by contrast elementary: just generate all possible paths in the trial.

I call this ‘complete path enumeration’ (CPE), to distinguish its intent from the aims of the related DTP idea of @ChristinaBYap et al. 6/
@MarkusTriska @ChristinaBYap The price to pay for this conceptual simplicity has been some serious programming. But in one respect this has been an absolute joy, since I’ve been able to do critical portions of it in @rustlang, which I used to implement the CRM integrands. 7/ Image
@MarkusTriska @ChristinaBYap @rustlang This work has also provided the occasion for me to write my first R6 class (h/t @hadleywickham,
enabling efficient memoization of intermediate results which would be wasteful to recompute during CPE.

But there’s something I ought to tell you … 8/
@MarkusTriska @ChristinaBYap @rustlang @hadleywickham My code’s not single-threaded. 9/ Image
@MarkusTriska @ChristinaBYap @rustlang @hadleywickham All told, the net speedup is remarkable: I can now CPE (𝑣.𝑡.) a typical-sized CRM trial in mere seconds. The VIOLA trial CPE which
took 17 minutes in an earlier vignette now takes just 1.4 sec on 6 cores. 10/
@MarkusTriska @ChristinaBYap @rustlang @hadleywickham On Braun’s example, CPE takes from 2 to 15 seconds depending on anticipated enrollment.

Interestingly, the trial’s stopping
criteria impose an upper bound on actual enrollment, and thus on the number of possible paths—and on CPE cost as well. 11/ Image
@MarkusTriska @ChristinaBYap @rustlang @hadleywickham The vignette concludes with a Nelder-Mead calibration to optimize the so-called ‘probability of correct selection’ (PCS) of ‘the’ MTD. This takes about 25 minutes, admittedly an order of magnitude greater than the 2 mins Braun attains for his benchmark relating to this task. 12/
@MarkusTriska @ChristinaBYap @rustlang @hadleywickham But as you know by now, I don’t regard such dose-centered calibration activities as useful or even meaningful. Your key takeaway should be that the very same CPE machinery I benchmark in this vignette can just as easily support patient-centered modes of safety analysis. 13/
@MarkusTriska @ChristinaBYap @rustlang @hadleywickham For a fixed design, you pay the cost of CPE—mere seconds!—just ONCE; then the matrix gears of WWTT engage, yielding a comprehensive #patientcentered #trialsafety picture via R’s blazing-fast matrix math. 14/
@MarkusTriska @ChristinaBYap @rustlang @hadleywickham Interestingly, this offers the #OneSizeFitsAllogists an easy escape from the pharmacology-free hole they’ve dug themselves into.

Instead of bureaucrats’ trivialities: 15/
@MarkusTriska @ChristinaBYap @rustlang @hadleywickham#oncology #phase1 statisticians could engage with substantive and patient-centered questions of #pharmacology: 16/
@MarkusTriska @ChristinaBYap @rustlang @hadleywickham But the direct-to-trialist app (no biostatistician needed!) envisioned below now has its crucial infrastructure in place.

Remaining tasks are straightforward, chief among them implementing CPE for BOIN—a method developed by Ying Yuan @MDAndersonNews. 17/
@MarkusTriska @ChristinaBYap @rustlang @hadleywickham @MDAndersonNews I also need to get this v0.2-3 accepted onto CRAN. Including @rustlang code has created difficulties for Win-builder, in particular.

My hope that CRAN’s ongoing analysis will smooth out this process for the community gives me some consolation, but waiting is hard! 18/18
I just couldn’t wait any longer! So I put #precautionary on @github … with a #pkgdown site to boot:
@github @threadreaderapp please unroll

• • •

Missing some Tweet in this thread? You can try to force a refresh

Keep Current with David C. Norris, MD moved to Mastodon 🦣

David C. Norris, MD moved to Mastodon 🦣 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!


Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @davidcnorrismd

Dec 16, 2020
NEW #DTAT paper: What Were They Thinking? Pharmacologic priors implicit in a choice of 3+3 dose-escalation design

“The unexamined trial is not worth conducting.”

— Socrates 1/

This latest #DTAT paper @arxiv sets out to reverse-engineer the unstated (∴ unexamined!) pharmacologic intuitions that underlie the #trialsafety claim implicit in the decision to conduct a dose-escalation trial. 2/ Image
Prior elicitation from doctors has never been easy, especially about #pharmacology or the future of the #Daleks: 3/

Read 39 tweets

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!


0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy


3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!