Evaluating Predictive Markers in a Randomized Trial with Survival Outcomes

By Stuart G. Baker, 2015

Introduction

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. The software splits the data into training and test samples. The model fits a benefit function to the training sample and applies the fitted benefit function to marker data from each test sample participant to obtain a benefit score for each test sample participant. Results are summarized in a subpopulation treatment effect pattern plot that indicates the estimated treatment effect at various cutpoints of the benefit score. This implementation applies to survival times with a censoring indicator.

Requirement: Mathematica Version 10 or later.

Set-Up

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


To run on hypothetical data,
type   TrialFitSurv[datasim]

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

Options

Option Default Explanation
NewFitQ True New fitting or use stored result of previous fit
Time .1 Time at which survival is computed
FractionSplit 0.5 Fraction split into test sample
ModelSet "Basic" Risk difference with 1, 2, 5 markers
MinimumGroupSize 100 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 bootstraps for confidence interval
PlotFormat "quantiles" Format of horizontal axis

dataset ={x0,x1,(t0,c0),(t1,c1),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
c0 a length n list of censoring indicators (0 or 1=cens) for randomization group 0
c1 a length n list of censoring indicators (0 or 1=cens) for randomization group 1
t0 a length n list of binary outcomes (0 or 1) for randomization group 0
t1 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, 46 KB)

File name Description
survfit.m Calls all files
survfitinputcheck Checks input
survfitmodel.m Calls appropriate model
survfitplot.m Plot STEPP
survfitsurv.m Key function for creating novel outcome measure, 0, 1, or fraction
survfitsplit.m Split data into training and test samples
survfitlogit.m Fit logistic regression
survfitbasic.m Calls test sample analysis with bootstrap confidence intervals
survfitbasictest.m Basic computations for test sample analysis
survfitboot.m Bootstrap computations
survfitbootci.m Boostrap confidence interval
survfitrd.m Risk difference
survfitrdtrain.m Risk difference analysis for training sample
survfitrdtest.m Risk difference: test sample
survfitsim.m Generate simulated data

Disclaimer

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: January 05, 2016