class_docstr: Base class for an estimator of causal effect.
  
  Subclasses implement different estimation methods. All estimation methods are in the package "dowhy.causal_estimators"
class_docstr_tok: ["Base","class","for","an","estimator","of","causal","effect",".","Subclasses","implement","different","estimation","methods",".","All","estimation","methods","are","in","the","package","``","dowhy.causal_estimators","''"]
docstr: Find the confidence intervals corresponding to any estimator
  By default, this is done with the help of bootstrapped confidence intervals
  but can be overridden if the specific estimator implements other methods of estimating confidence intervals.
  
  If the method provided is not bootstrap, this function calls the implementation of the specific estimator.
  
  :param estimate_value: obtained estimate's value
  :param method: Method for estimating confidence intervals.
  :param confidence_level: The confidence level of the confidence intervals of the estimate.
  :param kwargs: Other optional args to be passed to the CI method.
  :returns: The obtained confidence interval.
code: def estimate_confidence_intervals(
      self,
      data: pd.DataFrame,
      estimate_value,
      confidence_level=None,
      method=None,
      **kwargs,
  ):
      """Find the confidence intervals corresponding to any estimator
      By default, this is done with the help of bootstrapped confidence intervals
      but can be overridden if the specific estimator implements other methods of estimating confidence intervals.
  
      If the method provided is not bootstrap, this function calls the implementation of the specific estimator.
  
      :param estimate_value: obtained estimate's value
      :param method: Method for estimating confidence intervals.
      :param confidence_level: The confidence level of the confidence intervals of the estimate.
      :param kwargs: Other optional args to be passed to the CI method.
      :returns: The obtained confidence interval.
      """
      if method is None:
          if self._confidence_intervals:
              method = (
                  self._confidence_intervals
              )  # this is either True or methodname
          else:
              method = "default"
      confidence_intervals = None
      if confidence_level is None:
          confidence_level = self.confidence_level
      if (
          method == "default" or method is True
      ):  # user has not provided any method
          try:
              confidence_intervals = (
                  self._estimate_confidence_intervals(
                      confidence_level, method=method, **kwargs
                  )
              )
          except NotImplementedError:
              confidence_intervals = (
                  self._estimate_confidence_intervals_with_bootstrap(
                      data, estimate_value, confidence_level, **kwargs
                  )
              )
      else:
          if method == "bootstrap":
              confidence_intervals = (
                  self._estimate_confidence_intervals_with_bootstrap(
                      data, estimate_value, confidence_level, **kwargs
                  )
              )
          else:
              confidence_intervals = (
                  self._estimate_confidence_intervals(
                      confidence_level, method=method, **kwargs
                  )
              )
      return confidence_intervals
  
imports: import copy
  import logging
  from collections import namedtuple
  from typing import Dict, List, Optional, Union
  import numpy
  import pandas
  import sympy
  from sklearn.utils import resample
  import dowhy.interpreters
  from dowhy.causal_identifier.identified_estimand import IdentifiedEstimand
  from dowhy.utils.api import parse_state
label_desc: Use image node_id 14 for calling the CausalEstimator obj's underlying member method code with example usage: obj.estimate_confidence_intervals(data, estimate_value, confidence_level, method) and returns: confidence_intervals