Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement sigma-separation #150

Merged
merged 17 commits into from
Aug 29, 2023
Merged

Implement sigma-separation #150

merged 17 commits into from
Aug 29, 2023

Conversation

cthoyt
Copy link
Member

@cthoyt cthoyt commented Aug 7, 2023

Closes #120

This PR adds a high-level interface and implements tests for sigma-separation, a generalization of d-separation that works not only for directed acyclic graphs, but also for directed graphs containing cycles. It was originally introduced in

Constraint-based Causal Discovery for Non-Linear Structural Causal Models with Cycles and Latent Confounders
Forré and Mooij. 2019. arXiv:1807.03024

and is an integral part of cyclic ID algorithm (see #71) and the gID algorithm (see #72)

References/Notes

@cthoyt cthoyt added the help wanted Extra attention is needed label Aug 7, 2023
@cthoyt cthoyt changed the title Implement sigma-separation [Help Wanted] Implement sigma-separation Aug 7, 2023
@cthoyt cthoyt marked this pull request as draft August 7, 2023 21:45
@djinnome
Copy link
Contributor

djinnome commented Aug 7, 2023

Once $\sigma$-separation is implemented, then there is also the cyclic ID algorithm (#71):

Causal Calculus in the Presence of Cycles, Latent Confounders and Selection Bias.
Forré, P., & Mooij, J. (2019). arXiv:1901.00433.

@cthoyt cthoyt changed the title [Help Wanted] Implement sigma-separation Implement sigma-separation Aug 28, 2023
@cthoyt cthoyt marked this pull request as ready for review August 28, 2023 16:11
@cthoyt cthoyt removed the help wanted Extra attention is needed label Aug 28, 2023
@codecov
Copy link

codecov bot commented Aug 28, 2023

Codecov Report

Merging #150 (1110763) into main (d676831) will increase coverage by 0.20%.
The diff coverage is 91.30%.

@@            Coverage Diff             @@
##             main     #150      +/-   ##
==========================================
+ Coverage   79.85%   80.06%   +0.20%     
==========================================
  Files          39       40       +1     
  Lines        2477     2523      +46     
  Branches      566      576      +10     
==========================================
+ Hits         1978     2020      +42     
- Misses        412      414       +2     
- Partials       87       89       +2     
Files Changed Coverage Δ
src/y0/algorithm/sigma_separation.py 91.30% <91.30%> (ø)

@cthoyt cthoyt requested a review from djinnome August 28, 2023 22:42
@cthoyt cthoyt enabled auto-merge (squash) August 29, 2023 16:10
@cthoyt cthoyt merged commit 92df010 into main Aug 29, 2023
6 checks passed
@cthoyt cthoyt deleted the sigma-separation branch August 29, 2023 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sigma Separation for directed mixed graphs
2 participants