Release Notes
These release notes adhere to the keep a changelog format. Below is a list of changes since CausalELM was first released.
Version 0.8.0 - 2024-12-16
Added
- Implemented randomization inference-based confidence intervals #78
- Added marginal effects to model summaries #78
- CausalELM models now support any AbstractArray data type, including support for using GPUs with CuArrays or similar structures for Mac, Intel, and AMD hardware#37
Fixed
- Removed unnecessary include and using statements
- Slightly sped up the randomization inference implementation and clarified it in the docs #77
- Fixed the randomization inference index selection procedure for interrupted time series estimators
- Inlined certain methods to slightly improve performance #76
- CausalELM models now support any data structure that implements the Tables.jl API, not just DataFrames
- Removed unnecessary include and using statements
Version v0.7.0 - 2024-06-22
Added
- Implemented bagged ensemble of extreme learning machines to use with estimators #67
- Implemented multithreading for testing the sensitivity of estimators to the counterfactual consistency assumption
Changed
- Compute the number of neurons to use with log heuristic instead of cross validation #62
- Calculate probabilities as the average label predicted by the ensemble instead of clipping #71
- Made calculation of p-values and standard errors optional and not executed by default in summarize methods #65
- Removed redundant W argument for double machine learning, R-learning, and doubly robust estimation #68
- Use swish as the default activation function #72
- Implemented noise as a function of each observation instead of the variance of the outcome when testing the sensitivity of the counterfactual consistency assumption #74
- p-values and standard errors for randomization inference are generated in parallel
Fixed
- Applying the weight trick for R-learning #70
Version v0.6.0 - 2024-06-15
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