Releases: pzivich/zEpid
v0.9.1
v0.9.0
v0.9.0
The 0.9.x series drops support of Python 3.5.x. Only Python 3.6+ are now supported. Support has also been added for Python 3.8
Cross-fit estimators have been implemented for better causal inference with machine learning. Cross-fit estimators include SingleCrossfitAIPTW, DoubleCrossfitAIPTW, SingleCrossfitTMLE, and DoubleCrossfitTMLE. Currently functionality is limited to treatment and outcome nuisance models only (i.e. no model for missing data). These estimators also do not accept weighted data (since most of sklearn does not support weights)
Super-learner functionality has been added via SuperLearner. Additions also include emprical mean (EmpiricalMeanSL), generalized linear model (GLMSL), and step-wise backward/forward selection via AIC (StepwiseSL). These new estimators are wrappers that are compatible with SuperLearner and mimic some of the R superlearner functionality.
Directed Acyclic Graphs have been added via DirectedAcyclicGraph. These analyze the graph for sufficient adjustment sets, and can be used to display the graph. These rely on an optional NetworkX dependency.
AIPTW now supports the custom_model optional argument for user-input models. This is the same as TMLE now.
zipper_plot function for creating zipper plots has been added.
Housekeeping: bound has been updated to new procedure, updated how print_results displays to be uniform, created function to check missingness of input data in causal estimators, added warning regarding ATT and ATU variance for IPTW, and added back observation IDs for MonteCarloGFormula
Future plans: TimeFixedGFormula will be deprecated in favor of two estimators with different labels. This will more clearly delineate ATE versus stochastic effects. The replacement estimators are to be added
v0.8.2
v0.8.1
Added support for pygam
's LogisticGAM
for TMLE
with custom models (Thanks darrenreger!)
Removed warning for TMLE
with custom models following updates to Issue #109 I plan on creating a smarter warning system that flags non-Donsker class machine learning algorithms and warns the user. I still need to think through how to do this.
v0.8.0
v0.7.2
v0.7.1
v0.7.0
v0.6.0
MonteCarloGFormula
now includes a separate censoring_model()
function for informative censoring.
Additionally, I added a low memory option to reduce the memory burden during the Monte-Carlo procedure
IterativeCondGFormula
has been refactored to accept only data in a wide format. This allows for me to handle more
complex treatment assignments and specify models correctly. Additional tests have been added comparing to R's ltmle
There is a new branch in zepid.causal
. This is the generalize
branch. It contains various tools for generalizing
or transporting estimates from a biased sample to the target population of interest. Options available are
inverse probability of sampling weights for generalizability (IPSW
), inverse odds of sampling weights for
transportability (IPSW
), the g-transport formula (GTransportFormula
), and doubly-robust augmented inverse
probability of sampling weights (AIPSW
)
RiskDifference
now calculates the Frechet probability bounds
TMLE
now allows for specified bounds on the Q-model predictions. Additionally, avoids error when predicted
continuous values are outside the bounded values.
AIPTW
now has confidence intervals for the risk difference based on influence curves
spline
now uses numpy.percentile
to allow for older versions of NumPy. Additionally, new function
create_spline_transform
returns a general function for splines, which can be used within other functions
Lots of documentation updates for all functions. Additionally, summary()
functions are starting to be updated.
Currently, only stylistic changes