Exemple #1
0
    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))
Exemple #2
0
    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)