Releases: cdt15/lingam
Releases · cdt15/lingam
v1.12.2
New Features
- Modified to enable the use of prior knowledge in the GPU-based
DirectLiNGAMimplementation. (#183) - Updated the
utils.evaluate_model_fitfunction to re-estimate parameters when computing fit indices. (#184, thanks @nishikawa-screen) - Added support for causal explanation metrics based on
LEWIS. (#186)
Examples
- Updated the example notebook to visualize three types of distributions for estimated causal coefficients during bootstrapping: X->Y, Y->X, and no directed edge between X and Y. (#185, thanks @nishikawa-screen)
Code Fixes
- Updated compatibility with changes to check_array arguments introduced in scikit-learn v1.8.
Installation
- Improved the CI pipeline with the following changes:
- Added checks on push.
- Migrated from setup.py to pyproject.toml.
v1.12.1
v1.12.0
New Features
- Added
Missingness-LiNGAM (m-LiNGAM)algorithm. This algorithm can handle datasets with MCAR, MAR, and MNAR missingness, accurately estimating LiNGAM model parameters and the mechanisms causing missing data. (#175, thanks @matteoceriscioli) - Added
MultiGroupRESITalgorithm. This performs causal discovery across multiple datasets under the assumption that they share the same causal ordering. It uses the RESIT algorithm to identify the causal structure. - Added
ABICLiNGAMalgorithm. ABIC-LiNGAM is a score-based causal discovery method that extends the LiNGAM framework to accurately estimate causal structures in the presence of unmeasured confounders, by leveraging continuous optimization and assuming error terms follow a multivariate generalized normal distribution.- The implementation of ABIC-LiNGAM is based on the original code from https://github.com/Yoshimitsu-try/ABIC_LiNGAM.
- Added
lingam.utils.MGGDEstimator. This estimates the parameters of a multivariate generalized Gaussian distribution (MGGD).
Examples
- Added an example of LiNGAM analysis for clinical data. (#172, thanks @F0guro)
- Added an example of causal discovery with imputation on discrete data using algorithms such as RCD, CAM-UV, and RESIT. (#179, thanks @nishikawa-screen )
- Example_to_perform_causal_discovery_using_RCD_with_bootstrap_and_imputation_on_data_with_discrete_variables.ipynb
- Example_to_perform_causal_discovery_using_CAMUV_with_bootstrap_and_imputation_on_data_with_discrete_variables.ipynb
- Example_to_perform_causal_discovery_using_RESIT_with_bootstrap_and_imputation_on_data_with_discrete_variables.ipynb
Installation
- Added
autograd, which is required forABICLiNGAM, to requirements.txt.
v1.11.0
New Features
- Added
GroupLiNGAMandGroupDirectLiNGAMalgorithm. - Add
lingam.utils.get_common_edge_probabilitiesfunction that can analyze common edges in causal graphs.
Code Fixes
- Fixed an issue where edges are not removed properly in
RESITalgorithm. (#169)
Installation
- Changed SciPy version to 1.13.1 or lower because semopy uses the deprecated
scipy.stats.mvn. If semopy is fixed, this will be reverted.
v1.10.0
New Features
- Added
MultiGroupCAMUValgorithm, CAM-UV for multiple datasets. - Added option to set prior knowledge for
CAMUV. - Added option to set prior knowledge for
RESIT.
Examples
- Added an example of causal discovery with imputation on discrete data.
- examples/Example_to_perform_causal_discovery_using_bootstrap_with_imputation_on_data_with_discrete_variables.ipynb
Code Fixes
- Fixed referenced lag numbers when pruning edges in VARLiNGAM. (#161)
- Fixed VARLiNGAM bootstrap method to resample from original residuals. (#163)
Installation
- Changed supported Python version to 3.9 or higher.
v1.9.1
New Features
- Added option to set prior knowledge for
LongitudinalLiNGAM. - Modified
lingam.CausalBasedSimulatorfor Causal Digital Twin. See the following Jupyter notebooks for usage:- examples/CausalBasedSimulator_introduction.ipynb
- examples/CausalBasedSimulator_generating_simulated_data.ipynb
- examples/CausalBasedSimulator_estimating_functional_relationships.ipynb
- Modified
tools.bootstrap_with_imputationfor https://github.com/cdt15/pruning_missing_data.
Examples
- Added an example of causal discovery for data with discrete variables.
- examples/Example_to_perform_causal_discovery_on_data_with_discrete_variables.ipynb
Code Fixes
- Fixed wrong selection of predictors in
LongitudinalLiNGAM._compute_residualswhen n_lags>1. (#155)
v1.9.0
New Features
- Added option
measure=pwling_fastto accelerate DirectLiNGAM by parallelizing causal order on GPU with CUDA. - Added
tools.bootstrap_with_imputationfunction to interpolate missing data by Multiple Imputation Method and perform causal discovery by bootstrap method for datasets containing missing value. - Added
HighDimDirectLiNGAMclass, a DirectLiNGAM algorithm suitable for high-dimensional data.
Code Fixes
v1.8.3
New Features
- Added
utils.evaluate_model_fitfunction to calculate fit indices. - Added
ind_corroption to use F-correlation to determine independence inBottomUpParceLiNGAM,RCD,MultiGroupRCD, andCAMUValgorithms. - Added
utils.calculate_distance_from_root_nodesfunction to calculate the shortest distance from the root variable to other variables based on the structure of causal graphs. - Added
utils.calculate_total_effectfunction to calculate causal effects based on the structure of causal graphs.
Code Fixes
v1.8.2
New Features
- Added
LiNAandMDLiNAalgorithm.
Code Fixes
- Fixed standardization in
lingam.utils.predict_adaptive_lassofunction withoutnormalizeoption insklearn.linear_model.LassoLarsIC. - Changed to use
lingam.utils.predict_adaptive_lassofunction inVARLiNGAMandVARMALiNGAM. - Changed
pruneoption to True by default inVARLiNGAMandVARMALiNGAM. Additionally, changed the description that this option is for the causal effect of lag.
v1.8.1
New Features
- Added
utils.f_correlationfunction to calculate F-correlation. - Added
utils.visualize_nonlinear_causal_effectfunction to plot nonlinear causal effects. - Added an option for
LiMto perform the local search or not. - Added
resampled_indices_property toBootstrapResult.
Code Fixes
- Fixed a bug that labels specified in the
utlis.make_dot_highlightfunction were not reflected in graphs. - Modified
MultiGroupDirectLiNGAMalgorithm to allow specifying datasets of different sizes. - Removed
LiNAandMDLiNAalgorithm from this package. Independent as a new lina package. https://github.com/cdt15/lina
Installation
- Changed supported Python version to 3.8 or higher.
- Eliminated the fixed numpy version.