Comments (2)
It is our intention to use GitHub Issues to track development related issues for causalnex. As such, I will close this Issue. However, please do get in contact if you would like to discuss this in more detail.
Ben
from causalnex.
Hi @zemlyansky thank you for your question.
In short: causalnex does not find causal relationships. causalnex allows data scientists to collaborate with domain experts, to define a causal structure, and then draw causal insights from it.
You are correct that Bayesian Networks can equivalently encode dependencies as you describe. However, one of these equivalencies may be causal, and others will not. For example, if we replace a, b, c with age, height, and reach, then we can say that:
- age -> height -> reach
- the state of a persons age has a causal influence on the state of their height, which in turn has a causal influence on the state of their reach.
However, we cannot equivalently say:
- reach -> height -> age
- the state of a persons reach has a causal influence on the state of their height, which in turn has a causal influence on the state of their age.
So, to your question "What helps causalnex find causal relationships and does it really do that?". No, Causalnex does not find causal relationships. However, causalnex does "help data scientists to infer causation", "in the case where BNs are causal".
How does it do this? By encouraging the workflow of StructureModel
-> BayesianNetwork
-> InferenceEngine
.
- Use Machine-Learning to create a seed
StructureModel
, which is not causal. - Review the
StructureModel
with domain experts, who can amend the structure to reflect known causal relationships (cross referencing literature, expertise, etc). - Iterate until a known causal structure is defined.
- Create a
BayesianNetwork
from the causalStructureModel
, and use theInferenceEngine
to create insights.
The important step here is the collaboration between data scientists and domain experts. Ideally, a domain expert could look at our variables, and tell us the structure. In practice this is too time consuming for such a valuable resource, and so structure learning algorithms can help make this iterative process significantly faster.
from causalnex.
Related Issues (20)
- the same process different results HOT 1
- Can't install causalnex using poetry on new Apple M1 chip HOT 1
- EMSingleLatentVariable is producing random error at random times HOT 1
- Add GitHub Actions installation jobs across environments HOT 1
- Unsuitability of Notears for causal inference HOT 3
- How do I save the fitted Bayesian model locally HOT 2
- get_target_subgraph function is not working HOT 1
- vis.show() UnicodeEncodeError HOT 9
- Find out the number of cycles HOT 1
- 01_first_tutorial.ipynb hangs on `from_pandas(...)`
- [Feature Request]: Support pandas >= 2.0
- [Bug]: Pycharm cannot use causalnex HOT 1
- [help]: I am unable to display images while using viz. show() HOT 1
- [Feature Request]: batch_size for notears with GPU
- [Bug]: Inconsistent Use of CUDA Devices When Using GPU with notears
- [Bug]: Classification Model always predicting 0 HOT 1
- [Bug]: fix typo in 04_user_guide.md
- [Feature Request]: Support Python 3.11
- [Bug]: causalnex.discretiser.MDLPSupervisedDiscretiserMethod does not import MDLP
- An issue with plotting[Bug]: HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from causalnex.