Skip to content

Commit

Permalink
Remove 'experimental' disclaimer from GCM modules
Browse files Browse the repository at this point in the history
Also slightly change citation hint.

Signed-off-by: Patrick Bloebaum <bloebp@amazon.com>
  • Loading branch information
bloebp committed Nov 16, 2023
1 parent 9d77022 commit cf14caa
Show file tree
Hide file tree
Showing 26 changed files with 22 additions and 101 deletions.
8 changes: 4 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ News
redirect your git command for cloning, pulling, etc., we recommend updating git remotes and bookmarks. Please note
that the **documentation** has now moved to https://py-why.github.io/dowhy with **no** redirect from the old URL.

* **Experimental support for GCM-based inference**
* **Support for GCM-based inference**

We have started adding support for graphical causal model-based inference (or in short GCM-based). At the moment,
this includes support for interventions, counterfactuals, and attributing distribution changes. As part of this,
Expand Down Expand Up @@ -203,10 +203,10 @@ estimate (if any). Here's a sample output of the linear regression estimator.
For a full code example, check out the `Getting Started with DoWhy <https://github.com/microsoft/dowhy/blob/main/docs/source/example_notebooks/dowhy_simple_example.ipynb>`_ notebook. You can also use Conditional Average Treatment Effect (CATE) estimation methods from other libraries such as EconML and CausalML, as shown in the `Conditional Treatment Effects <https://github.com/microsoft/dowhy/blob/main/docs/source/example_notebooks/dowhy-conditional-treatment-effects.ipynb>`_ notebook. For more examples of using DoWhy, check out the Jupyter notebooks in `docs/source/example_notebooks <https://github.com/microsoft/dowhy/tree/main/docs/source/example_notebooks/>`_ or try them online at `Binder <https://mybinder.org/v2/gh/microsoft/dowhy/main?filepath=docs%2Fsource%2F>`_.


GCM-based inference (experimental)
GCM-based inference
----------------------------------

Graphical causal model-based inference, or GCM-based inference for short, is an experimental addition to DoWhy. For
Graphical causal model-based inference, or GCM-based inference for short, is an addition to DoWhy. For
details, check out the `documentation for the gcm sub-package <https://py-why.github.io/dowhy/main/user_guide/gcm_based_inference/index.html>`_. The basic
recipe for this API works as follows:

Expand Down Expand Up @@ -497,7 +497,7 @@ As a practical example, `this notebook <https://github.com/microsoft/dowhy/blob/

Citing this package
====================
If you find DoWhy useful for your work, please cite the following two references:
If you find DoWhy useful for your work, please cite **both** of the following two references:

- Amit Sharma, Emre Kiciman. DoWhy: An End-to-End Library for Causal Inference. 2020. https://arxiv.org/abs/2011.04216
- Patrick Blöbaum, Peter Götz, Kailash Budhathoki, Atalanti A. Mastakouri, Dominik Janzing. DoWhy-GCM: An extension of DoWhy for causal inference in graphical causal models. 2022. https://arxiv.org/abs/2206.06821
Expand Down
2 changes: 1 addition & 1 deletion docs/source/cite.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Citing this package
-------------------

If you find DoWhy useful for your work, please cite the following two references:
If you find DoWhy useful for your work, please cite **both** of the following two references:

- Amit Sharma, Emre Kiciman. DoWhy: An End-to-End Library for Causal Inference. 2020. https://arxiv.org/abs/2011.04216
- Patrick Blöbaum, Peter Götz, Kailash Budhathoki, Atalanti A. Mastakouri, Dominik Janzing. DoWhy-GCM: An extension of DoWhy for causal inference in graphical causal models. 2022. https://arxiv.org/abs/2206.06821
Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
"""The gcm sub-package provides features built on top of graphical causal model (GCM) based inference. The status of
this addition and its API is considered experimental, meaning there might be breaking changes to its API in the
future.
"""
"""The gcm sub-package provides features built on top of graphical causal model (GCM) based inference."""

from . import auto, config, divergence, ml, shapley, stats, uncertainty, util
from .anomaly import anomaly_scores, attribute_anomalies
Expand Down
6 changes: 1 addition & 5 deletions dowhy/gcm/anomaly_scorers.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
"""This module contains implementations of different anomaly scorers.
Classes and functions in this module should be considered experimental, meaning there might be breaking API changes in
the future.
"""
"""This module contains implementations of different anomaly scorers."""

from typing import Optional

Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/causal_mechanisms.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
"""This module implements different causal mechanisms.
Classes in this module should be considered experimental, meaning there might be breaking API changes in the future.
"""
"""This module implements different causal mechanisms."""

import copy
from abc import ABC, abstractmethod
Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/causal_models.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
"""This module defines the fundamental classes for graphical causal models (GCMs).
Classes in this module should be considered experimental, meaning there might be breaking API changes in the future.
"""
"""This module defines the fundamental classes for graphical causal models (GCMs)."""

from typing import Any, Callable, Optional, Union

Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/confidence_intervals.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
"""This module provides functionality to estimate confidence intervals via bootstrapping.
Functions in this module should be considered experimental, meaning there might be breaking API changes in the future.
"""
"""This module provides functionality to estimate confidence intervals via bootstrapping."""

from typing import Any, Callable, Dict, List, Tuple, Union

Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/confidence_intervals_cms.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
"""This module provides functionality to estimate confidence intervals via bootstrapping the fitting and sampling.
Functions in this module should be considered experimental, meaning there might be breaking API changes in the future.
"""
"""This module provides functionality to estimate confidence intervals via bootstrapping the fitting and sampling."""

from functools import partial
from typing import Any, Callable, Dict, Optional, Union
Expand Down
6 changes: 1 addition & 5 deletions dowhy/gcm/density_estimators.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
"""This module contains implementations of different density estimators.
Classes and functions in this module should be considered experimental, meaning there might be breaking API changes in
the future.
"""
"""This module contains implementations of different density estimators."""

from typing import Optional

Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/distribution_change.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
"""This module defines functions to attribute distribution changes.
Functions in this module should be considered experimental, meaning there might be breaking API changes in the future.
"""
"""This module defines functions to attribute distribution changes."""

import logging
from typing import Any, Callable, Dict, List, Optional, Tuple, Union
Expand Down
3 changes: 0 additions & 3 deletions dowhy/gcm/divergence.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
"""Functions in this module should be considered experimental, meaning there might be breaking API changes in the
future.
"""
from functools import partial
from typing import Callable, Union

Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/falsify.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
"""This module provides functionality to falsify a user-given DAG given observed data.
Functions in this module should be considered experimental, meaning there might be breaking API changes in the future.
"""
"""This module provides functionality to falsify a user-given DAG given observed data."""
import warnings
from dataclasses import dataclass, field
from enum import Enum, auto
Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/feature_relevance.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
"""This module allows to estimate the feature relevance of inputs with respect to a given model. While these models can
be blackbox prediction models, it is also possible to explain causal mechanisms with respect to the direct parents.
In these cases, it would be possible to incorporate the noise to represent the part of the generation process that
cannot be explained by the parents.
Functions in this module should be considered experimental, meaning there might be breaking API changes in the future.
"""
cannot be explained by the parents."""
from typing import Any, Callable, Dict, Optional, Tuple, Union

import numpy as np
Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/fitting_sampling.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
"""This module provides functionality for fitting probabilistic causal models and drawing samples from them.
Functions in this module should be considered experimental, meaning there might be breaking API changes in the future.
"""
"""This module provides functionality for fitting probabilistic causal models and drawing samples from them."""

from typing import Any

Expand Down
3 changes: 0 additions & 3 deletions dowhy/gcm/independence_test/kernel.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
"""Functions in this module should be considered experimental, meaning there might be breaking API changes in the
future.
"""
from typing import Callable, List, Optional, Union

import numpy as np
Expand Down
4 changes: 0 additions & 4 deletions dowhy/gcm/independence_test/kernel_operation.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
"""Functions in this module should be considered experimental, meaning there might be breaking API changes in the
future.
"""

from typing import Optional

import numpy as np
Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/influence.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
"""This module provides functions to estimate causal influences.
Functions in this module should be considered experimental, meaning there might be breaking API changes in the future.
"""
"""This module provides functions to estimate causal influences."""
import logging
import warnings
from typing import Any, Callable, Dict, Iterator, List, Optional, Tuple, Union, cast
Expand Down
3 changes: 0 additions & 3 deletions dowhy/gcm/ml/classification.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
"""Functions and classes in this module should be considered experimental, meaning there might be breaking API changes
in the future.
"""
from abc import abstractmethod
from typing import List

Expand Down
3 changes: 0 additions & 3 deletions dowhy/gcm/ml/regression.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
"""Functions and classes in this module should be considered experimental, meaning there might be breaking API changes
in the future.
"""
from abc import abstractmethod
from typing import Any

Expand Down
6 changes: 1 addition & 5 deletions dowhy/gcm/shapley.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
"""This module provides functionality for shapley value estimation.
Classes and functions in this module should be considered experimental, meaning there might be breaking API changes in
the future.
"""
"""This module provides functionality for shapley value estimation."""

import itertools
import math
Expand Down
4 changes: 0 additions & 4 deletions dowhy/gcm/stats.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
"""Functions in this module should be considered experimental, meaning there might be breaking API changes in the
future.
"""

from typing import Callable, List, Optional, Union

import numpy as np
Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/stochastic_models.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
"""This module defines multiple implementations of the abstract class :class:`~dowhy.gcm.graph.StochasticModel`.
Classes in this module should be considered experimental, meaning there might be breaking API changes in the future.
"""
"""This module defines multiple implementations of the abstract class :class:`~dowhy.gcm.graph.StochasticModel`."""

import warnings
from typing import Dict, Optional, Tuple, Union
Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/uncertainty.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
"""Functions to estimate uncertainties such as entropy, KL divergence etc.
Functions in this module should be considered experimental, meaning there might be breaking API changes in the future.
"""
"""Functions to estimate uncertainties such as entropy, KL divergence etc."""

import numpy as np
from numpy.linalg import det
Expand Down
4 changes: 0 additions & 4 deletions dowhy/gcm/util/general.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
"""Functions in this module should be considered experimental, meaning there might be breaking API changes in the
future.
"""

import random
from typing import Dict, Optional, Union

Expand Down
6 changes: 1 addition & 5 deletions dowhy/gcm/validation.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
"""Contains a method to reject the causal graph and validate causal mechanisms such as post non-linear models.
Classes and functions in this module should be considered experimental, meaning there might be breaking API changes in
the future.
"""
"""Contains a method to reject the causal graph and validate causal mechanisms such as post non-linear models."""
from enum import Enum, auto
from typing import Any, Callable, Dict, List, Optional, Tuple, Union

Expand Down
5 changes: 1 addition & 4 deletions dowhy/gcm/whatif.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
"""This module provides functionality to answer what-if questions.
Functions in this module should be considered experimental, meaning there might be breaking API changes in the future.
"""
"""This module provides functionality to answer what-if questions."""

from typing import Any, Callable, Dict, Iterable, List, Optional, Union

Expand Down

0 comments on commit cf14caa

Please sign in to comment.