Пример #1
0
    def tryModel(self, model):
        model_do = CBN.from_bn(model.copy(copy_domain=True))
        # perform every interventional query
        ci = {}
        for q in model_do.good_interventions():
            # generate the model
            model_do = CBN.from_bn(model.copy(copy_domain=True))
            model_do.intervene(q)
            ci[frozenset(q.keys())] = GraphCI(model_do.adg())

        iic = InterventionalICPattern(ci)
        self.assertEquals(iic.lines(), [])
        self.assertEquals(iic.orient(), model.adg())
Пример #2
0
    def tryModel(self, model):
        model_do = CBN.from_bn(model.copy(copy_domain=True))
        # perform every interventional query
        ci = {}
        for q in model_do.good_interventions():
            # generate the model
            model_do = CBN.from_bn(model.copy(copy_domain=True))
            model_do.intervene(q)
            ci[frozenset(q.keys())] = GraphCI(model_do.adg())

        iic = InterventionalICPattern(ci)
        self.assertEquals(iic.lines(), [])
        self.assertEquals(iic.orient(), model.adg())
Пример #3
0
    def tryModel(self, model):
        # perform every interventional query
        ci = {}
        for xs in powerset(model.variables()):
            # build the intervention q
            q = {}
            for x in xs:
                q[x] = frozenset([set(model.values(x)).pop()])

            # generate the model
            model_do = CBN.from_bn(model.copy(copy_domain=True))
            model_do.intervene(q)
            ci[frozenset(q.keys())] = GraphCI(model_do.adg())

        iic = InterventionalICPattern(ci)
        self.assertEquals(iic.lines(), [])
        self.assertEquals(iic.orient(), model.adg())
Пример #4
0
    def tryModel(self, model):
        # perform every interventional query
        ci = {}
        for xs in powerset(model.variables()):
            # build the intervention q
            q = {}
            for x in xs:
                q[x] = frozenset([set(model.values(x)).pop()])

            # generate the model
            model_do = CBN.from_bn(model.copy(copy_domain=True))
            model_do.intervene(q)
            ci[frozenset(q.keys())] = GraphCI(model_do.adg())

        iic = InterventionalICPattern(ci)
        self.assertEquals(iic.lines(), [])
        self.assertEquals(iic.orient(), model.adg())