Module
Data.Graph.Causal
- Package
- purescript-causal-graphs
- Repository
- colehaus/purescript-causal-graphs
#IsCollider Source
data IsCollider collider path graph
#AreDConnected Source
data AreDConnected vertices conditionedOn graph
#areDConnected Source
areDConnected :: forall v k g m n. Ord k => Proof (AreDisjoint n m) -> Named n (TwoSet k) -> Named m (Set k) -> Named g (Graph k v) -> Maybe (Proof (AreDConnected n m g))
#dConnectedTo Source
dConnectedTo :: forall v k m n. Ord k => Proof (AreDisjoint n m) -> Named n k -> Named m (Set k) -> Graph k v -> Set k
#AreDSeparated Source
data AreDSeparated vertices conditionedOn graph
#areDSeparated Source
areDSeparated :: forall v k g m n. Ord k => Proof (AreDisjoint n m) -> Named n (TwoSet k) -> Named m (Set k) -> Named g (Graph k v) -> Maybe (Proof (AreDSeparated n m g))
#dSeparatedFrom Source
dSeparatedFrom :: forall v k m n. Ord k => Proof (AreDisjoint n m) -> Named n k -> Named m (Set k) -> Graph k v -> Set k
#instruments Source
instruments :: forall v k m n. Ord k => Proof (AreDisjoint n m) -> Named n { cause :: k, effect :: k } -> Named m (Set k) -> Graph k v -> Set k
#IsInstrument Source
data IsInstrument instrument causeEffect conditionedOn graph
#isInstrument Source
isInstrument :: forall v k g m n i. Ord k => Proof (AreDisjoint n m) -> Named i k -> Named n { cause :: k, effect :: k } -> Named m (Set k) -> Named g (Graph k v) -> Maybe (Proof (IsInstrument i n m g))
#SatisfiesBackdoor Source
data SatisfiesBackdoor causeEffect conditionedOn graph
#satisfiesBackdoor Source
satisfiesBackdoor :: forall v k g m n. Ord k => Proof (AreDisjoint n m) -> Named n { cause :: k, effect :: k } -> Named m (Set k) -> Named g (Graph k v) -> Maybe (Proof (SatisfiesBackdoor n m g))
#minimalBackdoorSets Source
minimalBackdoorSets :: forall v k. Ord k => { cause :: k, effect :: k } -> Graph k v -> Set (Set k)
#backdoorSets Source
backdoorSets :: forall v k. Ord k => { cause :: k, effect :: k } -> Graph k v -> Set (Set k)
An empty outer set means the backdoor criterion can't be satisfied. An empty inner set means it's satisfied trivially--i.e. with no conditioning.
#SatisfiesFrontdoor Source
data SatisfiesFrontdoor causeEffect conditionedOn graph
#satisfiesFrontdoor Source
satisfiesFrontdoor :: forall v k g m n. Ord k => Proof (AreDisjoint n m) -> Named n { cause :: k, effect :: k } -> Named m (Set k) -> Named g (Graph k v) -> Maybe (Proof (SatisfiesBackdoor n m g))