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](https://arxiv.org/abs/2306.10816):
7
+
Theoretical details and information regarding construction are presented in the [paper](https://proceedings.mlr.press/v236/gobler24a.html):
8
+
9
+
Göbler, K., Windisch, T., Drton, M., Pychynski, T., Roth, M., & Sonntag, S. (2024). causalAssembly: Generating Realistic Production Data for Benchmarking Causal Discovery. In Proceedings of the Third Conference on Causal Learning and Reasoning (pp. 609–642). PMLR.
8
10
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,
This is how $\texttt{causalAssembly}$'s functionality may be used. Be sure to read the [documentation](https://boschresearch.github.io/causalAssembly/) for more in-depth details regarding available functions and classes.
34
35
35
36
In case you want to train a distributional random forests yourself (see [how to semisynthetsize](#how-to-semisynthesize)),
36
-
you need an R installation as well as the corresponding [drf](https://cran.r-project.org/web/packages/drf/index.html) R package.
37
+
you need an R installation.
37
38
Sampling has first been proposed in [[2]](#2).
38
39
39
40
*Note*: For Windows users the python package [rpy2](https://github.com/rpy2/rpy2) might cause issues.
In case you want to create interventional data, we currently support hard and soft interventions.
74
77
For soft interventions we use `sympy`'s `RandomSymbol` class. Essentially, soft interventions should
75
78
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:
@@ -158,7 +161,6 @@ if nx.is_directed_acyclic_graph(s_graph):
158
161
159
162
### <aname="how-to-rand">How to generate random production DAGs</a>
160
163
161
-
162
164
The `ProductionLineGraph` class can further be used to generate completely random DAGs that follow an assembly line logic. Consider the following example:
$\texttt{causalAssembly}$ also allows creating structural causal models (SCM) or synonymously functional causal models (FCM). In particular, we employ symbolic programming to allow for a seamless interplay between readability and performance. The `FCM` class is completely general and inherits no production data logic. See the example below for construction and usage.
190
192
191
-
192
193
```python
193
194
194
195
import numpy as np
@@ -279,6 +280,7 @@ Please feel free to contact one of the authors in case you wish to contribute.
0 commit comments