Ejemplo n.º 1
0
 def test_graph_refutation(self, num_variables,num_samples):
     data = dowhy.datasets.dataset_from_random_graph(num_vars = num_variables, num_samples= num_samples)
     df = data["df"]
     model = CausalModel(
         data=df,
         treatment=data["treatment_name"],
         outcome=data["outcome_name"],
         graph=data["gml_graph"],
     )
     graph_refutation_object = model.refute_graph(k = 1, independence_test = 
     {'test_for_continuous': 'partial_correlation', 
     'test_for_discrete' : 'conditional_mutual_information'})
     assert graph_refutation_object.refutation_result == True
Ejemplo n.º 2
0
 def test_graph_refutation2(self, num_variables,num_samples):
     data = dowhy.datasets.dataset_from_random_graph(num_vars = num_variables, num_samples= num_samples)
     df = data["df"]
     gml_str = """
     graph [
     directed 1
     node [
         id 0
         label "a"
     ]
     node [
         id 1
         label "b"
     ]
     node [
         id 2
         label "c"
     ]
     node [
         id 3
         label "d"
     ]
     node [
         id 4
         label "e"
     ]
     node [
         id 5
         label "f"
     ]
     node [
         id 6
         label "g"
     ]
     node [
         id 7
         label "h"
     ]
     node [
         id 8
         label "i"
     ]
     node [
         id 9
         label "j"
     ]
     edge [
         source 0
         target 1
     ]
     edge [
         source 0
         target 3
     ]
     edge [
         source 3
         target 2
     ]
     edge [
         source 7
         target 4
     ]
     edge [
         source 6
         target 5
     ]
     edge [
         source 7
         target 8
     ]
     edge [
         source 9
         target 2
     ]
     edge [
         source 9
         target 8
     ]
     ]
     """
     model = CausalModel(
         data=df,
         treatment=data["treatment_name"],
         outcome=data["outcome_name"],
         graph=gml_str,
     )
     graph_refutation_object = model.refute_graph(k = 2, independence_test = 
     {'test_for_continuous': 'partial_correlation', 
     'test_for_discrete' : 'conditional_mutual_information'})
     assert graph_refutation_object.refutation_result == False