You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repo provides details regarding $\texttt{causalAssembly}$, a causal discovery benchmark data tool based on complex production data.
7
-
Theoretical details and information regarding construction are presented in the paper:
7
+
Theoretical details and information regarding construction are presented in the [paper](https://arxiv.org/abs/2306.10816):
8
8
9
-
Göbler, K., Windisch, T., Pychynski, T., Sonntag, S., Roth, M., & Drton, M. (2023). causalAssembly: Generating Realistic Production Data for Benchmarking Causal Discovery. arXiv preprint arXiv:2306.10816.
9
+
Göbler, K., Windisch, T., Pychynski, T., Sonntag, S., Roth, M., & Drton, M. causalAssembly: Generating Realistic Production Data for Benchmarking Causal Discovery, to appear in Proceedings of the 3rd Conference on Causal Learning and Reasoning (CLeaR), 2024,
In case you want to create interventional data, we currently support hard and soft interventions.
74
+
For soft interventions we use `sympy`'s `RandomSymbol` class. Essentially, soft interventions should
75
+
be declared by choosing your preferred random variable with associated distribution from [here](https://docs.sympy.org/latest/modules/stats.html#continuous-types). Simple examples include:
76
+
77
+
```python
78
+
from sympy.stats import Beta, Normal, Uniform
79
+
80
+
x = Beta("x", 1, 1)
81
+
y = Normal("y", 0, 1)
82
+
z = Uniform("z", 0, 1)
83
+
84
+
```
85
+
86
+
The following example is similar to the basic use example above where we now intervene on two nodes in the graph.
87
+
88
+
```python
89
+
from sympy.stats import Beta
90
+
91
+
from causalAssembly.drf_fitting import fit_drf
92
+
from causalAssembly.models_dag import ProductionLineGraph
Note that intervening does not alter any of the functionalities introduced above. The interevened upon DAGs are stored in `mutilated_dags`. When calling `sample_from_drf()` the ground truth DAG as described in the paper is used. To sample from the interventional distribution, you must use `sample_from_interventional_drf`.
72
121
73
122
### <aname="how-to-semisynthesize">How to semisynthesize</a>
0 commit comments