Release Notes

These release notes adhere to the keep a changelog format. Below is a list of changes since CausalELM was first released.

Version v0.6.0 - 2024-03-23

Added

  • Implemented doubly robust learner for CATE estimation #31
  • Provided better explanations of supported treatment and outcome variable types in the docs #41
  • Added support for specifying confounders, W, separate from covariates of interest, X, for double machine

learning and doubly robust estimation 39

Changed

  • Removed the estimatecausaleffect! call in the model constructor docstrings #35
  • Standardized and improved docstrings and added doctests #44
  • Counterfactual consistency now simulates outcomes that violate the counterfactual consistency assumption rather than

binning of treatments and works with discrete or continuous treatments #33

  • Refactored estimator and metalearner structs, constructors, and estimatecausaleffect! methods #45

Fixed

  • Clipped probabilities between 0 and 1 for estimators that use predictions of binary variables #36
  • Fixed sample splitting and cross fitting procedure for doubly robust estimation #42
  • Addressed numerical instability when finding the ridge penalty by replacing the previous ridge formula with

generalized cross validation #43

  • Uses the correct variable in the ommited predictor test for interrupted time series.
  • Uses correct range for p-values in interrupted time series validation tests.
  • Correctly subsets the data for ATT estimation in G-computation #52

Version v0.5.1 - 2024-01-15

Added

  • More descriptive docstrings #21

Fixed

  • Permutation of continuous treatments draws from a continuous, instead of discrete uniform distribution during randomization inference

Version v0.5.0 - 2024-01-13

Added

  • Constructors for estimators taht accept dataframes from DataFrames.jl #25

Changed

  • Estimators can handle any array whose values are <:Real #23
  • Estimator constructors are now called with model(X, T, Y) instead of model(X, Y, T)
  • Removed excess type constraints for many methods #23
  • Vectorized a few for loops
  • Increased test coverage

Version v0.4.0 - 2024-01-06

Added

  • R-learning
  • Softmax function for arrays

Changed

  • Moved all types and methods under the main module
  • Decreased size of function definitions #22
  • SLearner has a G-computation field that does the heavy lifting for S-learning
  • Removed excess fields from estimator structs

Fixed

  • Changed the incorrect name of DoublyRobustEstimation struct to DoubleMachineLearning
  • Caclulation of risk ratios and E-values
  • Calculation of validation metrics for multiclass classification
  • Calculation of output weights for L2 regularized extreme learning machines

Version v0.3.0 - 2023-11-25

Added

  • Splitting of temporal data for cross validation 18
  • Methods to validate/test senstivity to violations of identifying assumptions #16

Changed

  • Converted all functions and methods to snake case #17
  • Randomization inference for interrupted time series randomizes all the indices #15

Fixed

  • Issue related to recoding variables to calculate validation metrics for cross validation

Version v0.2.1 - 2023-06-07

Added

  • Cross fitting to the doubly robust estimator

Version v0.2.0 - 2023-04-16

Added

  • Calculation of p-values and standard errors via randomization inference

Changed

  • Divided package into modules

Version v0.1.0 - 2023-02-14

Added

  • Event study, g-computation, and doubly robust estimators
  • S-learning, T-learning, and X-learning
  • Model summarization methods