Skip to content

Releases: cdt15/lingam

v1.12.2

16 Feb 10:10
6583186

Choose a tag to compare

New Features

  • Modified to enable the use of prior knowledge in the GPU-based DirectLiNGAM implementation. (#183)
  • Updated the utils.evaluate_model_fit function 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

02 Dec 03:03

Choose a tag to compare

Installation Fix

  • Added autograd to install_requires in setup.py. (#181, thanks @apaleyes)

v1.12.0

29 Nov 06:10

Choose a tag to compare

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 MultiGroupRESIT algorithm. 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 ABICLiNGAM algorithm. 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.
  • Added lingam.utils.MGGDEstimator. This estimates the parameters of a multivariate generalized Gaussian distribution (MGGD).

Examples

Installation

  • Added autograd, which is required for ABICLiNGAM, to requirements.txt.

v1.11.0

28 Aug 10:23

Choose a tag to compare

New Features

  • Added GroupLiNGAM and GroupDirectLiNGAM algorithm.
  • Add lingam.utils.get_common_edge_probabilities function that can analyze common edges in causal graphs.

Code Fixes

  • Fixed an issue where edges are not removed properly in RESIT algorithm. (#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

18 Jun 05:09
e6b1f02

Choose a tag to compare

New Features

  • Added MultiGroupCAMUV algorithm, 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

31 Dec 02:10
e43c4a5

Choose a tag to compare

New Features

  • Added option to set prior knowledge for LongitudinalLiNGAM.
  • Modified lingam.CausalBasedSimulator for 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_imputation for 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_residuals when n_lags>1. (#155)

v1.9.0

07 Jul 13:17
8965c2b

Choose a tag to compare

New Features

  • Added option measure=pwling_fast to accelerate DirectLiNGAM by parallelizing causal order on GPU with CUDA.
  • Added tools.bootstrap_with_imputation function to interpolate missing data by Multiple Imputation Method and perform causal discovery by bootstrap method for datasets containing missing value.
  • Added HighDimDirectLiNGAM class, a DirectLiNGAM algorithm suitable for high-dimensional data.

Code Fixes

  • Fixed the calculation of the total effect in LongitudinalLiNGAM. (#136)
  • Changed from using AdaptiveLasso to LinerRegression to calculate the total effect. (#137)
  • Fixed the calculation method of regression coefficients when calculating residuals in DirectLiNGAM. (#141)

v1.8.3

16 Feb 07:07

Choose a tag to compare

New Features

  • Added utils.evaluate_model_fit function to calculate fit indices.
  • Added ind_corr option to use F-correlation to determine independence in BottomUpParceLiNGAM, RCD, MultiGroupRCD, and CAMUV algorithms.
  • Added utils.calculate_distance_from_root_nodes function to calculate the shortest distance from the root variable to other variables based on the structure of causal graphs.
  • Added utils.calculate_total_effect function to calculate causal effects based on the structure of causal graphs.

Code Fixes

  • Fixed the calculation of total effect in LongitudinalLiNGAM.estimate_total_effect. (#122)
  • Changed the argument name of sklearn.OneHotEncoder used in experimental.CausalDataGenerator from sparse to sparse_output. This fix requires scikit-learn v1.2 or higher. (#123)

v1.8.2

07 Oct 01:16

Choose a tag to compare

New Features

  • Added LiNA and MDLiNA algorithm.

Code Fixes

  • Fixed standardization in lingam.utils.predict_adaptive_lasso function without normalize option in sklearn.linear_model.LassoLarsIC.
  • Changed to use lingam.utils.predict_adaptive_lasso function in VARLiNGAM and VARMALiNGAM.
  • Changed prune option to True by default in VARLiNGAM and VARMALiNGAM. Additionally, changed the description that this option is for the causal effect of lag.

v1.8.1

29 Aug 00:33
c98c1c0

Choose a tag to compare

New Features

  • Added utils.f_correlation function to calculate F-correlation.
  • Added utils.visualize_nonlinear_causal_effect function to plot nonlinear causal effects.
  • Added an option for LiM to perform the local search or not.
  • Added resampled_indices_ property to BootstrapResult.

Code Fixes

  • Fixed a bug that labels specified in the utlis.make_dot_highlight function were not reflected in graphs.
  • Modified MultiGroupDirectLiNGAM algorithm to allow specifying datasets of different sizes.
  • Removed LiNA and MDLiNA algorithm 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.