- Y
The outcome variable. Must be numeric or survival (ex; Surv(time,cens) )
- A
Treatment variable. (Default supports binary treatment, either numeric or
factor). "ple_train" accomodates >2 along with binary treatments.
- X
Covariate space.
- Xtest
Test set. Default is NULL (no test predictions). Variable types should match X.
- mu_train
Patient-level estimates in training set (see ple_train).
Default=NULL
- family
Outcome type. Options include "gaussion" (default), "binomial", and "survival".
- filter
Filter model to determine variables that are likely associated with the
outcome and/or treatment. Outputs a potential reduce list of varia where X.star
has potentially less variables than X. Default is "glmnet" (elastic net). Other
options include "ranger" (random forest based variable importance with p-values).
See filter_train for more details. "None" uses no filter.
- ple
Base-learner used to estimate patient-level equantities, such as the
conditional average treatment effect (CATE), E(Y|A=1,X)-E(Y|A=0, X) = CATE(X).
Default is random based based through "ranger". "None" uses no ple. See below for
details on estimating the treatment contrasts.
- submod
Subgroup identification model function. Options include tree-methods that
target the treatment by variable interaction directly ("lmtree", "glmtree", "mob_weib"),
regress the CATE ("rpart_cate", "ctree_cate"), and target prognostic variables ("rpart", "ctree").
Default for family="gaussian" is "lmtree" (MOB with OLS loss). For "binomial" the default is
"glmtree" (MOB with binomial loss). Default for "survival" is "lmtree" (log-rank transformation
on survival outcomes and then fit MOB-OLS). "None" uses no submod. Currently only available for
binary treatments or A=NULL.
- param
Parameter estimation and inference function. Based on the discovered
subgroups, estimate parameter estimates and correspond variability metrics. Options
include "lm" (unadjusted linear regression), "dr" (doubly-robust estimator),
"gcomp" (G-computation, average the patient-level estimates), "cox" (cox regression),
and "rmst" (RMST based estimates as in survRMST package). Default for "gaussian",
"binomial" is "dr", while default for "survival" is "cox". Currently only available
for binary treatments or A=NULL.
- meta
Using the ple model as a base learner, meta-learners can be used for
estimating patient-level treatment differences. Options include "T-learner" (treatment
specific models), "S-learner" (single model), and "X-learner". For family="gaussian" &
"binomial", the default is "X-learner", which uses a two-stage regression
approach (See Kunzel et al 2019). For "survival", the default is "T-learner". "X-learner"
is currently not supported for survival outcomes.
- pool
Whether to pool the initial identified subgroups (ex: tree nodes).
Default = "no". Other options include "trteff" or "trteff_boot" (check if
naive or bootstrap treatment estimate is beyond clinical meaningful
threshold delta, ex: trteff_boot > 0), and optimal treatment regime (OTR) pooling,
"otr:logistic", "otr:rf". "otr:logistic" fits weighted logistic regression
with I(mu_1-mu_0>delta) as the outcome, the candidate subgroups as covariates,
and weights=abs((mu_1-mu_0) - delta). "otr:rf" follows the same approach but
with weighted random forest, and also includes X in the regression. Regardless
of the pooling approach, the key output is "trt_assign", a data-frame with the
initial subgroups and the pooled subgroups (ex: dopt=1, patient should receive
A=1, vs dopt=0, patient should receive A=0).
- delta
Threshold for defining benefit vs non-benefitting patients.
Only applicable for submod="otr", and if pooling is used (see "pool").
Default=">0".
- propensity
Propensity score estimation, P(A=a|X). Default=FALSE which
use the marginal estimates, P(A=a) (applicable for RCT data). If TRUE, will
use the "ple" base learner to estimate P(A=a|X).
- combine
Method of combining group-specific point-estimates. Options
include "SS" (sample size weighting), and "maxZ"
(see: Mehrotra and Marceau-West). This is used for pooling (ex: within dopt=1
groups, aggregate group-specific treatment estimates), and for calculating
the overall population treatment effect estimate.
- alpha_ovrl
Two-sided alpha level for overall population. Default=0.05
- alpha_s
Two-sided alpha level at subgroup level. Default=0.05
- filter.hyper
Hyper-parameters for the filter function (must be list).
Default is NULL.
- ple.hyper
Hyper-parameters for the PLE function (must be list).
Default is NULL.
- submod.hyper
Hyper-parameters for the submod function (must be list).
Default is NULL.
- resample
Resampling method for resample-based treatment effect estimates
and variability metrics. Options include "Bootstrap" and
"CV" (cross-validation). Default=NULL (No resampling).
- stratify
Stratified resampling? Default="trt" (stratify by A). Other
options include "sub" (stratify by the identified subgroups), "trt_sub"
(stratify by A and the identified subgroups), and "no" (no stratification).
- R
Number of resamples (default=NULL; R=100 for Permutation/Bootstrap
and R=5 for CV). This resamples the entire PRISM procedure.
- resample_submod
For submod only, resampling method for treatment effect estimates.
Options include "Bootstrap" or NULL (no resampling).
- R_submod
Number of resamples for resample_submod
- resample_pool
For submod only, resampling method for pooling step.
nly applicable if resample_submod="Bootstrap" and/or pool="trteff_boot".
- R_pool
Number of resamples for resample_pool
- calibrate
Bootstrap calibration for nominal alpha (Loh et al 2016).
Default=FALSE. For TRUE, outputs the calibrated alpha level and calibrated
CIs for the overall population and subgroups. Not applicable for permutation
or CV resampling.
- alpha.mat
Grid of alpha values for calibration. Default=NULL, which
uses seq(alpha/1000,alpha,by=0.005) for alpha_ovrl/alpha_s.
- filter.resamp
Filter function during re-sampling. Default=NULL
(uses "filter"). If "None", the "filter" model is not trained in each resample,
and instead use filtered variables from the observed data "filter" step.
(less computationally expensive).
- ple.resamp
Ple function during re-sampling. Default=NULL
(uses "ple"). If "None", the "ple" model is not training in each resample,
and instead the original model estimates are resampled (less computationally
expensive).
- verbose
Detail progress of PRISM? Default=TRUE
- verbose.resamp
Output iterations during resampling? Default=FALSE
- seed
Seed for PRISM run (Default=777)
- efficient
If TRUE (default for PRISM), then models (filter, ple, submod) will
store reduced set of outputs for faster speed.