Evaluating Predictive Markers in a Randomized Trial with Binary Outcomes

By Stuart G. Baker, 2015


A predictive marker is a baseline variable in a randomized trial that is used to determine subgroups in which the effect of treatment is greater than average.  This software uses a modified adaptive signature design to evaluate a randomized trial with a binary outcome and multiple baseline variables (possibly high dimensional).  The software splits the data into training and test samples.  A key option is a single split or multiple random splits.  For the training sample the software fits various benefit functions.  For the test sample the software computes benefit scores based on the benefit function and treatment effect in subgroups with benefit scores greater than cutpoints. The software plots estimated treatment effect versus cutpoint, which is similar to a tail-oriented subpopulation treatment effect pattern plot. 

This software corresponds to
Baker SG and Bonetti M. Evaluating Markers for Guiding Treatment J. Natl. Cancer Inst. 2016 108: djw101

Requirement: Mathematica Version 8 or later.


copy all files into some folder called "FOLDER"
start a new Mathematica session
type SetDirectory["FOLDER"]
type << markerfit.m

To run on hypothetical data,
type   TrialFit[datasim, NewFitQ->True]

To try on your own data,
type   TrialFit[ dataset, options]


Option Default Explanation
NewFitQ True New fitting or use stored result of previous fit
FractionSplit 0.5 Fraction split into test sample
ModelSet "Basic" Basic is 1, 2, 5 markers
MinimumGroupSize 20 Minimum sample size of training-test sample
Num Cut 8 Number of cutpoints in test sample
ShowProgQ False Show progress of fitting algorithm
ShowTabQ False Show data and results tables
MaxBoot 20 Number of bootstrap iterations
PlotFormat "quantiles" Format of horizontal axis on plot

dataset ={x0,x1,y0,y1,xname,datasetname}

x0 n x g matrix of baseline variables for randomization group 0
x1 n x g matrix of baseline variables for randomization group 1
y0 a length n list of binary outcomes (0 or 1) for randomization group 0
y1 a length n list of binary outcomes (0 or 1) for randomization group 1
xname a length g list of names of baseline variables
datasetname name of dataset

File Contents

Download All (ZIP, 43 KB)

File name Description
markerfit.m calls all files
markerfitcadit.m Cadit
markerfitcadittest.m Cadit: test sample
markerfitcadittrain.m Cadit: training sample
markerfitinputcheck Checks input
markerfitmodel.m fit models
markerfitsplit.m Split data into training and test samples
markerfitlogit.m Fit logistic regression
markerfitplot.m Plot results
markerfitboot.m Bootstrap test sample
markerfitbootci.m Boostrap confidence interval
markerfitrd.m Risk difference
markerfitrdtrain.m Risk difference: training sample
markerfitresp.m Responder only
markerfitresptrain.m Responder only: training sample
markerfitresptest.m Responder only: test sample
markerfitsim.m Generate simulated data


This code is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and non-infringement. In no event shall the NCI or the individual developers be liable for any claim, damages or other liability of any kind. Use of this code by recipient is at recipient's own risk. NCI makes no representations that the use of the code will not infringe any patent or proprietary rights of third parties.

Last updated: February 03, 2016