Zepid

Latest version: v0.9.1

Safety actively analyzes 613750 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.9.1

Adding support for Python 3.9 and 3.10

Fixing scikit-learn dependency issue

Adding font size optional argument for `EffectMeasurePlot`

Switched testing from Travis CI to GitHub workflows

0.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

0.8.2

IPSW` and `AIPSW` now natively support adjusting for confounding. Both now have the `treatment_model()` function,
which calculates the inverse probability of treatment weights. How weights are handled in `AIPSW` are updated. They
are used in both the weight and the outcome models.

`IPSW` and `AIPSW` both add censoring...

`TimeFixedGFormula` has added support for the average treatment effect in the treated (ATT), and average treatment
effect in the untreated (ATU).

Improved warnings when the treatment/exposure variable is not included in models that it should be in (such as the
outcome model or in structural nested models).

Background refactoring for IPTW. `utils.py` now contains a function to calculate inverse probability of treatment
weights. The function `iptw_calculator` is used by `IPTW`, `AIPTW`, `IPSW`, and `AIPSW` to calculate the weights now

0.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.

0.8.0

IPTW` had a massive overhaul. It now follows a similar structure to `AIPTW` and other causal inference methods.
One *major* change is that missing data is dropped before any calculations. Therefore, if missing data was present for
certain types of data, the weights may no longer match with previous versions. While users can still call the weights
attribute, all the calculations of the ATE are now contained within the `IPTW` class. Future updates with be other
instances of the IPTW calculations for other methods, like `LongitudinalIPTW` and `SurvivalIPTW`. The major advantage
of this new structure is it removes some of the burden from users on how to apply IPTW to different data structures.

Diagnostic functions have been added to `TimeFixedGFormula`, `AIPTW`, and `TMLE`. The diagnostics have been restructured
for functions contained within a different file rather than function instances within specific classes. This is
due to diagnostics commonly being shared across functions.

How missing data is handled by`AIPTW` and `IPTW` has been updated. Rather than dropping all missing data, they only drop
missing data for non-outcome variables. This behavior mimics `TMLE`. Additionally, both have gained the `missing_model`
function. This new function calculates inverse probability of censoring weights.

`bound` argument is now available to `IPTW` and `AIPTW` to truncate the predicted probabilities of the g-model. The
behavior is the same as `TMLE`. `bound` is also available for `missing_model()`.

`IPCW` no longer supports late-entries into the data. The pooled logistic regression model will not correctly accrue
weights when late entries occur. This is not a problem I have seen reported in the literature, but I have seen it in
my own simulations. While you can correctly estimate IPCW with time-fixed variables, this is difficult for me to
detect. Instead, I have `IPCW` not allow late-entries. If users would like to allow late-entries, they would need to
"extend backwards" observations or they would need to drop the late-entries. I have update the documentation to note
this change.

S-value calculator function has been added. `s_value` returns the correspond transformed p-value into an s-value. See
documentation for details on s-values and how to interpret them.

I have also been moving around background functions. Most notably, the IPTW diagnostics have migrated to the
`causal/utils.py` branch since these diagnostics are to be used by other causal inference methods. These reformats
should have no change for users. This is merely maintenance on my end.

0.7.2

Labeling fix for `RiskDifference` summary

Adding option to extract standard errors from `TMLE` and `AIPTW`

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.