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

Write documentation for new adjustment functions #85

Merged
merged 4 commits into from
Jul 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions docs/src/library.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
```@docs
dsep
cpdag
alt_cpdag
vskel
has_recanting_witness
backdoor_criterion
Expand Down Expand Up @@ -72,3 +73,24 @@ CausalInference.ordered_edges
CausalInference.insorted
CausalInference.removesorted!
```

## Adjustment
```@docs
ancestors
descendants
alt_test_dsep
test_covariate_adjustment
alt_test_backdoor
find_dsep
find_min_dsep
find_covariate_adjustment
find_backdoor_adjustment
find_frontdoor_adjustment
find_min_covariate_adjustment
find_min_backdoor_adjustment
find_min_frontdoor_adjustment
list_dseps
list_covariate_adjustment
list_backdoor_adjustment
list_frontdoor_adjustment
```
2 changes: 1 addition & 1 deletion src/CausalInference.jl
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ using Graphs.SimpleGraphs
using Combinatorics
using Base.Iterators

export ancestors, descendants, alt_test_dsep, test_covariate_adjustment, alt_test_backdoor, find_dsep, find_min_dsep, find_covariate_adjustment, find_backdoor_adjustment, find_min_covariate_adjustment, find_min_backdoor_adjustment, find_frontdoor_adjustment, list_dseps, list_covariate_adjustment, list_backdoor_adjustment, list_frontdoor_adjustment
export ancestors, descendants, alt_test_dsep, test_covariate_adjustment, alt_test_backdoor, find_dsep, find_min_dsep, find_covariate_adjustment, find_backdoor_adjustment, find_frontdoor_adjustment, find_min_covariate_adjustment, find_min_backdoor_adjustment, find_min_frontdoor_adjustment, list_dseps, list_covariate_adjustment, list_backdoor_adjustment, list_frontdoor_adjustment
export dsep, skeleton, gausscitest, dseporacle, partialcor
export unshielded, pcalg, vskel
export cpdag, alt_cpdag
Expand Down
2 changes: 1 addition & 1 deletion src/gensearch.jl
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ end
"""
find_covariate_adjustment(g, X, Y, I = Set{eltype(g)}(), R = setdiff(Set(vertices(g)), X, Y))

Find a covariate adjustment set `Z` with ``I ⊆ Z subseteq ⊆ R`` for sets of vertices `X` and `Y` in `g`, else return `false`.
Find a covariate adjustment set `Z` with ``I ⊆ Z ⊆ R`` for sets of vertices `X` and `Y` in `g`, else return `false`.

Based on the algorithmic approach proposed in https://arxiv.org/abs/1803.00116.
"""
Expand Down
5 changes: 4 additions & 1 deletion test/gensearch.jl
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,10 @@ Yvec = [4]
@test find_min_dsep(g1, X, Y) == Set([2,5])
@test find_covariate_adjustment(g1, Xint, Yint) == Set([5,6])
@test find_backdoor_adjustment(g1, X, Y) == Set([5,6])
@test find_frontdoor_adjustment(g1, X, Y) == Set([2,3,7])
@test find_min_covariate_adjustment(g1, Xvec, Yvec) == Set(5)
@test find_min_backdoor_adjustment(g1, Xint, Yvec) == Set(5)
@test find_frontdoor_adjustment(g1, X, Y) == Set([2,3,7])
@test find_min_frontdoor_adjustment(g1, X, Y) == Set(3)
@test Set(list_dseps(g1, Xvec, Y)) == Set([Set([3,6]), Set([2,6]), Set([2,3,6]), Set([3,6,7]), Set([2,6,7]), Set([2,3,6,7]), Set([3,5]), Set([2,5]), Set([2,3,5]), Set([3,5,7]), Set([2,5,7]), Set([2,3,5,7]), Set([3,5,6]), Set([2,5,6]), Set([2,3,5,6]), Set([3,5,6,7]), Set([2,5,6,7]), Set([2,3,5,6,7])])
@test Set(list_covariate_adjustment(g1, X, Yint)) == Set([Set([5,7]), Set([5]), Set([6]), Set([6,7]), Set([5,6]), Set([5,6,7])])
@test Set(list_backdoor_adjustment(g1, Xvec, Yint)) == Set([Set([5]), Set([6]), Set([5,6])])
Expand Down Expand Up @@ -67,8 +68,10 @@ Y = Set(8)
@test find_covariate_adjustment(g2, X, Y, Set(7), Set([1,2,3,4,5])) == false
@test find_covariate_adjustment(g2, X, Y, Set{Int64}(), Set([3,4,5,7])) == Set([3,4,5])
@test find_backdoor_adjustment(g2, X, Y) == Set([1,2,3,4,5])
@test find_frontdoor_adjustment(g2, X, Y) == Set(7)
@test find_min_covariate_adjustment(g2, X, Y) == Set([3,4])
@test find_min_backdoor_adjustment(g2, X, Y) == Set([3,4])
@test find_min_frontdoor_adjustment(g2, X, Y) == Set(7)
@test Set(list_dseps(g2, X, Y, Set{Int64}(), Set{Int64}([3,4,5,7]))) == Set([Set([4, 7, 3]), Set([5, 4, 7]), Set([5, 4, 7, 3])])
@test Set(list_covariate_adjustment(g2, Set([6]), Set([8]), Set(Int[]), setdiff(Set(1:8), [1,2]))) == Set([Set([3,4]), Set([4,5]), Set([3,4,5])])
@test Set(list_backdoor_adjustment(g2, Set([6]), Set([8]), Set(Int[]), setdiff(Set(1:8), [1,2]))) == Set([Set([3,4]), Set([4,5]), Set([3,4,5])])
Expand Down