class_docstr: This class computes Ding & VanderWeele's E-value for unmeasured confounding. The E-value is the minimum
  strength of association on the risk ratio scale that an unmeasured confounder would need to have with
  both the treatment and the outcome, conditional on the measured covariates, to fully explain away a specific
  treatment-outcome association.
  
  It benchmarks the E-value against measured confounders using McGowan and Greevy Jr.'s Observed Covariate E-value.
  This approach drops measured confounders and re-fits the estimator, measuring how much the limiting bound of the
  confidence interval changes on the E-value scale. This benchmarks hypothetical unmeasured confounding against each
  of the measured confounders.
  
  See: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4820664/,
  https://dash.harvard.edu/bitstream/handle/1/36874927/EValue_FinalSubmission.pdf, and
  https://arxiv.org/pdf/2011.07030.pdf.
  The implementation is based on the R packages https://github.com/cran/EValue and https://github.com/LucyMcGowan/tipr.
  
  :param estimate: CausalEstimate
  :param estimand: IdentifiedEstimand
  :param data: pd.DataFrame
  :param outcome_name: Outcome variable name
  :param no_effect_baseline: A number to which to shift the observed estimate to. Defaults to 1 for ratio measures (RR, OR, HR)
  and 0 for additive measures (OLS, MD). (Default = None)
docstr: Computes E-value for an odds ratio and its confidence limits.
  
  :param est: point estimate
  :param lo: lower limit of confidence interval
  :param hi: upper limit of confidence interval
  :param rare: if outcome is rare (<15%)
  :param no_effect_baseline: the no_effect_baseline OR to which to shift the observed estimate. (Default = 1)
docstr_tok: ["Computes","E-value","for","an","odds","ratio","and","its","confidence","limits",".",":","param","est",":","point","estimate",":","param","lo",":","lower","limit","of","confidence","interval",":","param","hi",":","upper","limit","of","confidence","interval",":","param","rare",":","if","outcome","is","rare","(","<","15","%",")",":","param","no_effect_baseline",":","the","no_effect_baseline","OR","to","which","to","shift","the","observed","estimate",".","(","Default","=","1",")"]
code: def _evalue_OR(
      self, est, lo=None, hi=None, rare=None, no_effect_baseline=1
  ):
      """
      Computes E-value for an odds ratio and its confidence limits.
  
      :param est: point estimate
      :param lo: lower limit of confidence interval
      :param hi: upper limit of confidence interval
      :param rare: if outcome is rare (<15%)
      :param no_effect_baseline: the no_effect_baseline OR to which to shift the observed estimate. (Default = 1)
      """
      if est < 0:
          raise ValueError("Odds Ratio cannot be negative")
  
      est = self._or_to_rr(est, rare)
      if lo is not None:
          lo = self._or_to_rr(lo, rare)
      if hi is not None:
          hi = self._or_to_rr(hi, rare)
      no_effect_baseline = self._or_to_rr(no_effect_baseline, rare)
  
      return self._evalue_RR(
          est=est, lo=lo, hi=hi, no_effect_baseline=no_effect_baseline
      )
  
imports: import copy
  import logging
  import matplotlib.pyplot
  import numpy
  import pandas
  import statsmodels.api
  from dowhy.causal_estimator import CausalEstimate
  from dowhy.causal_estimators.econml import Econml
  from dowhy.causal_estimators.generalized_linear_model_estimator import GeneralizedLinearModelEstimator
  from dowhy.causal_estimators.linear_regression_estimator import LinearRegressionEstimator
  from dowhy.causal_identifier import IdentifiedEstimand
label_desc: Use image node_id 10 for calling the EValueSensitivityAnalyzer obj's underlying member method code with example usage: obj._evalue_OR(est, lo, hi, rare, no_effect_baseline) and returns: self