-
Notifications
You must be signed in to change notification settings - Fork 0
TMLE UI Design
A user-friendly interface to TMLE that reduces the amount of knowledge of the internal workings of TMLE required by end users hoping to analyze their data. This will be a separate development effort from the main TMLE package. This package will have a relatively stable interface, with sensible defaults that ran a TMLE analysis representing our current understanding of best practices at any given time. As this is likely to change over time, it is important that the user be given a clear explanation of the analysis that was run on their data, sufficient to put in a statistical methods section of a subject matter paper. The hope is that although our analysis strategy and underlying implementation details may change over time, the user's interface to it should change minimally.
Currently each TMLE package has its own user interface. varImpact goes a long way to automating the process of estimating TMLE parameters on data with minimal intervention on the user's part, and so serves as a good template of the kind of user-friendliness we want here.
- Preprocessing code to handle things like missing variables. Some of this can be borrowed from
varImpact - Ability to specify
npsemobject specifying the relationship between the variables and the role of each variable (covariate/treatment/censoring/outcome). - Specify DAG and parameters
- Data cleanup
- Diagnostics (Propsensity score distribution, selected SL combination, predictive performance, TMLE convergence)
npsem object. Each node will be a list with node_name, node_type, and parents.
- outcome mechanism
- treatment mechanism
- censoring mechanism For now we require these to be structured such that the adjustment set is obvious, going forward we might be able to extract it from the DAG directly and provide feedback for things like identifiability for mediation parameters.
There's not much of an algorithm here, mostly it will take user-friendly inputs and provide sensible defaults to the tmle package that we're developing. One trick will be to make this user friendly while allowing power users to use all the functionality of the tmle package. It's possible we can direct such users to just call the tmle package directly.