def test_oneline_aid(self): vertices = ["X1", "X2", "W", "Y"] di_edges = [("X1", "W"), ("W", "Y"), ("X2", "Y")] bi_edges = [("X1", "X2"), ("X1", "W"), ("X2", "Y")] G = ADMG(vertices, di_edges, bi_edges) vertices = ["X1", "W"] di_edges = [("X1", "W")] bi_edges = [("X1", "W")] G1 = ADMG(vertices, di_edges, bi_edges) G1.fix(["X1"]) vertices = ["X1", "X2", "W", "Y"] di_edges = [("X1", "W"), ("W", "Y"), ("X2", "Y")] bi_edges = [("X1", "X2"), ("X1", "W"), ("X2", "Y")] G2 = ADMG(vertices, di_edges, bi_edges) G2.fix(["X2"]) interventions = ["X1", "X2"] outcomes = ["Y"] ol = identification.OnelineAID(G, interventions, outcomes) experiments = [G1, G2] self.assertTrue(ol.id(experiments=experiments)) self.assertEqual("ΣW p(W | do(X1))ΦX1,W p(W,X1,Y | do(X2))", ol.functional(experiments))
def test_get_intrinsic_sets_in_cadmg(self): vertices = ["A", "B", "C"] di_edges = [("A", "B")] bi_edges = [("B", "C"), ("A", "C")] admg = ADMG(vertices=vertices, bi_edges=bi_edges, di_edges=di_edges) admg.fix(["B"]) ig = IG(admg=admg) intrinsic_sets = ig.get_intrinsic_sets() self.assertEqual( {frozenset(["A"]), frozenset(["C"]), frozenset(["A", "C"])}, intrinsic_sets)