Comments (9)
from causal-learn.
Hi, thanks for the question. The output of GES is a Markov Equivalence Class, which means that there may exist edges of which the directions cannot be determined by the algorithm. It seems that the algorithm cannot determine any direction for your data.
If you would like to get direction for every edge, perhaps you may consider functional-constraint-based methods, such as LiNGAM. A usage case of LiNGAM can be found in this notebook.
from causal-learn.
Hi, thanks for the question. The output of GES is a Markov Equivalence Class, which means that there may exist edges of which the directions cannot be determined by the algorithm. It seems that the algorithm cannot determine any direction for your data.
If you would like to get direction for every edge, perhaps you may consider functional-constraint-based methods, such as LiNGAM. A usage case of LiNGAM can be found in this notebook.
Thank you for your comment. I've tried the LiNGAM model and I do indeed obtain a directed graph. I am wondering if these models permit bi-directional paths between nodes (i.e., a causal path from bio -> psycho as well as psycho -> bio)?
![Screenshot 2023-10-06 at 12 50 50 PM](https://private-user-images.githubusercontent.com/72527980/273281151-44aadb6d-10cf-47f0-a432-4cbd66a407c3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgxMjg5MDYsIm5iZiI6MTcxODEyODYwNiwicGF0aCI6Ii83MjUyNzk4MC8yNzMyODExNTEtNDRhYWRiNmQtMTBjZi00N2YwLWE0MzItNGNiZDY2YTQwN2MzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjExVDE3NTY0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTlkMGMxZmY2MjBjOGUyOTQxZTFkZjhiN2I0YTgyZjRlYjQ1NjNiMWQzYWZjNzM4N2YxOTRiNTEyNmMxZTgzMGQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.yYoAt-wJfN6J4DqKtXbUk0nS1aXHz-MGcsu3GzdSzlo)
from causal-learn.
No, LiNGAM only returns a directed acyclic graph. A bidirectional path as you mentioned will introduce cycles. FCI permits bi-directional edges, which may be useful.
from causal-learn.
No, LiNGAM only returns a directed acyclic graph. A bidirectional path as you mentioned will introduce cycles. FCI permits bi-directional edges, which may be useful.
I see. It seems that the FCI algorithm can't determine any direction for my data. I suppose this is inherent in the structure of my data that I will need to investigate. Thank you for your help!
from causal-learn.
Sorry to interject--do you know if your data is Gaussian, non-Gaussian, linear, nonlinear, etc.?
from causal-learn.
from causal-learn.
from causal-learn.
Yeah, it would be good to have a mixed score or test. I know that there is a team that is interested in contributing a test for mixed-type data. Perhaps the work will start soon :)
BTW, let me know if anyone would like to contribute more scores or tests for mixed cases (maybe degenerate Gaussian?). Right now the only solution in causal-learn might be approximation using Kernel-based methods with small kernel width.
from causal-learn.
Related Issues (20)
- PNL - Test2 HOT 3
- Data correlation matrix is singular HOT 5
- when will the Causal-Learn support causal evaluation HOT 2
- Reference PC stable HOT 1
- FCI implementation HOT 7
- Questions about is_dseparated_from HOT 3
- Using FCI with true graph known, specifying latent variables and background knowledge? HOT 8
- does this codebase support some recent causal discovery methods like, notears, dag-gnn,and so on HOT 2
- A potential Bug in GES.py HOT 1
- Null Hypothesis in Conditoinal Independence Tests HOT 2
- How to construct a causallearn.graph.Graph object from an numpy array? HOT 2
- Boostrap Utilities HOT 1
- Background knowledge not used correctly? HOT 1
- Implementation for CCI? HOT 1
- How to estimate the causal effect? HOT 1
- Different results with Tetrad and causal-learn implementations. HOT 6
- numpy version HOT 1
- Understanding the FCI outputs (graph vs. printed edges) HOT 3
- Handling Data with Interventions HOT 4
- array must not contain infs or NaNs HOT 2
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 causal-learn.