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: Initializes an estimator with data and names of relevant variables.
  
  This method is called from the constructors of its child classes.
  
  :param identified_estimand: probability expression
      representing the target identified estimand to estimate.
  :param test_significance: Binary flag or a string indicating whether to test significance and by which method. All estimators support test_significance="bootstrap" that estimates a p-value for the obtained estimate using the bootstrap method. Individual estimators can override this to support custom testing methods. The bootstrap method supports an optional parameter, num_null_simulations. If False, no testing is done. If True, significance of the estimate is tested using the custom method if available, otherwise by bootstrap.
  :param evaluate_effect_strength: (Experimental) whether to evaluate the strength of effect
  :param confidence_intervals: Binary flag or a string indicating whether the confidence intervals should be computed and which method should be used. All methods support estimation of confidence intervals using the bootstrap method by using the parameter confidence_intervals="bootstrap". The bootstrap method takes in two arguments (num_simulations and sample_size_fraction) that can be optionally specified in the params dictionary. Estimators may also override this to implement their own confidence interval method. If this parameter is False, no confidence intervals are computed. If True, confidence intervals are computed by the estimator's specific method if available, otherwise through bootstrap
  :param num_null_simulations: The number of simulations for testing the
      statistical significance of the estimator
  :param num_simulations: The number of simulations for finding the
      confidence interval (and/or standard error) for a estimate
  :param sample_size_fraction: The size of the sample for the bootstrap
      estimator
  :param confidence_level: The confidence level of the confidence
      interval estimate
  :param need_conditional_estimates: Boolean flag indicating whether
      conditional estimates should be computed. Defaults to True if
      there are effect modifiers in the graph
  :param num_quantiles_to_discretize_cont_cols: The number of quantiles
      into which a numeric effect modifier is split, to enable
      estimation of conditional treatment effect over it.
  :param kwargs: (optional) Additional estimator-specific parameters
  :returns: an instance of the estimator class.
code: def __init__(
      self,
      identified_estimand: IdentifiedEstimand,
      test_significance: Union[bool, str] = False,
      evaluate_effect_strength: bool = False,
      confidence_intervals: bool = False,
      num_null_simulations: int = DEFAULT_NUMBER_OF_SIMULATIONS_STAT_TEST,
      num_simulations: int = DEFAULT_NUMBER_OF_SIMULATIONS_CI,
      sample_size_fraction: int = DEFAULT_SAMPLE_SIZE_FRACTION,
      confidence_level: float = DEFAULT_CONFIDENCE_LEVEL,
      need_conditional_estimates: Union[bool, str] = "auto",
      num_quantiles_to_discretize_cont_cols: int = NUM_QUANTILES_TO_DISCRETIZE_CONT_COLS,
      **_,
  ):
      """Initializes an estimator with data and names of relevant variables.
  
      This method is called from the constructors of its child classes.
  
      :param identified_estimand: probability expression
          representing the target identified estimand to estimate.
      :param test_significance: Binary flag or a string indicating whether to test significance and by which method. All estimators support test_significance="bootstrap" that estimates a p-value for the obtained estimate using the bootstrap method. Individual estimators can override this to support custom testing methods. The bootstrap method supports an optional parameter, num_null_simulations. If False, no testing is done. If True, significance of the estimate is tested using the custom method if available, otherwise by bootstrap.
      :param evaluate_effect_strength: (Experimental) whether to evaluate the strength of effect
      :param confidence_intervals: Binary flag or a string indicating whether the confidence intervals should be computed and which method should be used. All methods support estimation of confidence intervals using the bootstrap method by using the parameter confidence_intervals="bootstrap". The bootstrap method takes in two arguments (num_simulations and sample_size_fraction) that can be optionally specified in the params dictionary. Estimators may also override this to implement their own confidence interval method. If this parameter is False, no confidence intervals are computed. If True, confidence intervals are computed by the estimator's specific method if available, otherwise through bootstrap
      :param num_null_simulations: The number of simulations for testing the
          statistical significance of the estimator
      :param num_simulations: The number of simulations for finding the
          confidence interval (and/or standard error) for a estimate
      :param sample_size_fraction: The size of the sample for the bootstrap
          estimator
      :param confidence_level: The confidence level of the confidence
          interval estimate
      :param need_conditional_estimates: Boolean flag indicating whether
          conditional estimates should be computed. Defaults to True if
          there are effect modifiers in the graph
      :param num_quantiles_to_discretize_cont_cols: The number of quantiles
          into which a numeric effect modifier is split, to enable
          estimation of conditional treatment effect over it.
      :param kwargs: (optional) Additional estimator-specific parameters
      :returns: an instance of the estimator class.
      """
      self._target_estimand = identified_estimand
  
      self._significance_test = test_significance
      self._effect_strength_eval = evaluate_effect_strength
      self._confidence_intervals = confidence_intervals
  
      # Setting the default interpret method
      self.interpret_method = CausalEstimator.DEFAULT_INTERPRET_METHOD
  
      self.logger = logging.getLogger(__name__)
  
      # Check if some parameters were set, otherwise set to default values
      self.num_null_simulations = num_null_simulations
      self.num_simulations = num_simulations
      self.sample_size_fraction = sample_size_fraction
      self.confidence_level = confidence_level
      self.num_quantiles_to_discretize_cont_cols = (
          num_quantiles_to_discretize_cont_cols
      )
      # Estimate conditional estimates by default
      self.need_conditional_estimates = need_conditional_estimates
  
      self._bootstrap_estimates = None
      self._bootstrap_null_estimates = None
  
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 1 to create a new CausalEstimator object  with example: obj = CausalEstimator(identified_estimand, test_significance, evaluate_effect_strength, confidence_intervals, num_null_simulations, num_simulations, sample_size_fraction, confidence_level, need_conditional_estimates, num_quantiles_to_discretize_cont_cols)