class_docstr: Main class for storing the causal model state.
docstr: Refute an estimated causal effect.
  
  If method_name is provided, uses the provided method. In the future, we may support automatic selection of suitable refutation tests. Following refutation methods are supported.
      * Adding a randomly-generated confounder: "random_common_cause"
      * Adding a confounder that is associated with both treatment and outcome: "add_unobserved_common_cause"
      * Replacing the treatment with a placebo (random) variable): "placebo_treatment_refuter"
      * Removing a random subset of the data: "data_subset_refuter"
  
  :param estimand: target estimand, an instance of the IdentifiedEstimand class (typically, the output of identify_effect)
  :param estimate: estimate to be refuted, an instance of the CausalEstimate class (typically, the output of estimate_effect)
  :param method_name: name of the refutation method
  :param show_progress_bar: Boolean flag on whether to show a progress bar
  :param kwargs:  (optional) additional arguments that are passed directly to the refutation method. Can specify a random seed here to ensure reproducible results ('random_seed' parameter). For method-specific parameters, consult the documentation for the specific method. All refutation methods are in the causal_refuters subpackage.
  
  :returns: an instance of the RefuteResult class
docstr_tok: ["Refute","an","estimated","causal","effect",".","If","method_name","is","provided",",","uses","the","provided","method",".","In","the","future",",","we","may","support","automatic","selection","of","suitable","refutation","tests",".","Following","refutation","methods","are","supported",".","*","Adding","a","randomly-generated","confounder",":","``","random_common_cause","''","*","Adding","a","confounder","that","is","associated","with","both","treatment","and","outcome",":","``","add_unobserved_common_cause","''","*","Replacing","the","treatment","with","a","placebo","(","random",")","variable",")",":","``","placebo_treatment_refuter","''","*","Removing","a","random","subset","of","the","data",":","``","data_subset_refuter","''",":","param","estimand",":","target","estimand",",","an","instance","of","the","IdentifiedEstimand","class","(","typically",",","the","output","of","identify_effect",")",":","param","estimate",":","estimate","to","be","refuted",",","an","instance","of","the","CausalEstimate","class","(","typically",",","the","output","of","estimate_effect",")",":","param","method_name",":","name","of","the","refutation","method",":","param","show_progress_bar",":","Boolean","flag","on","whether","to","show","a","progress","bar",":","param","kwargs",":","(","optional",")","additional","arguments","that","are","passed","directly","to","the","refutation","method",".","Can","specify","a","random","seed","here","to","ensure","reproducible","results","(","'random_seed","'","parameter",")",".","For","method-specific","parameters",",","consult","the","documentation","for","the","specific","method",".","All","refutation","methods","are","in","the","causal_refuters","subpackage",".",":","returns",":","an","instance","of","the","RefuteResult","class"]
code: def refute_estimate(
      self,
      estimand,
      estimate,
      method_name=None,
      show_progress_bar=False,
      **kwargs,
  ):
      """Refute an estimated causal effect.
  
      If method_name is provided, uses the provided method. In the future, we may support automatic selection of suitable refutation tests. Following refutation methods are supported.
          * Adding a randomly-generated confounder: "random_common_cause"
          * Adding a confounder that is associated with both treatment and outcome: "add_unobserved_common_cause"
          * Replacing the treatment with a placebo (random) variable): "placebo_treatment_refuter"
          * Removing a random subset of the data: "data_subset_refuter"
  
      :param estimand: target estimand, an instance of the IdentifiedEstimand class (typically, the output of identify_effect)
      :param estimate: estimate to be refuted, an instance of the CausalEstimate class (typically, the output of estimate_effect)
      :param method_name: name of the refutation method
      :param show_progress_bar: Boolean flag on whether to show a progress bar
      :param kwargs:  (optional) additional arguments that are passed directly to the refutation method. Can specify a random seed here to ensure reproducible results ('random_seed' parameter). For method-specific parameters, consult the documentation for the specific method. All refutation methods are in the causal_refuters subpackage.
  
      :returns: an instance of the RefuteResult class
  
      """
      if estimate is None or estimate.value is None:
          self.logger.error(
              "Aborting refutation! No estimate is provided."
          )
          raise ValueError(
              "Aborting refutation! No valid estimate is provided."
          )
      if method_name is None:
          pass
      else:
          refuter_class = causal_refuters.get_class_object(method_name)
  
      refuter = refuter_class(
          self._data,
          identified_estimand=estimand,
          estimate=estimate,
          **kwargs,
      )
      res = refuter.refute_estimate(show_progress_bar)
      return res
  
imports: import logging
  import typing
  import warnings
  from itertools import combinations
  from sympy import init_printing
  import dowhy.causal_estimators
  import dowhy.causal_refuters
  import dowhy.graph_learners
  from dowhy.causal_estimator import CausalEstimate, estimate_effect
  from dowhy.causal_graph import CausalGraph
  from dowhy.causal_identifier import AutoIdentifier, BackdoorAdjustment, IDIdentifier
  from dowhy.causal_identifier.identify_effect import EstimandType
  from dowhy.causal_refuters.graph_refuter import GraphRefuter
  from dowhy.utils.api import parse_state
label_desc: Use image node_id 11 for calling the CausalModel obj's underlying member method code with example usage: obj.refute_estimate(estimand, estimate, method_name, show_progress_bar) and returns: res