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))