class_docstr: Lower bound of ratio of binomial proportions.
  
  This class implements several methods to compute a statistical lower bound of
  the ratio of binomial proportions, e.g. tpr / fpr.
  Most of the methods are based on https://doi.org/10.1111/2041-210X.12304 and
  their code at https://CRAN.R-project.org/package=asbio.
  Clopper pearson is based on https://arxiv.org/pdf/2006.07709.pdf.
  
  Examples:
    >>> tp, fp = np.array([100, 90]), np.array([10, 5])
    >>> pos_size, neg_size = 110, 80
    >>> rb = elb.RatioBound(tp, fp, pos_size, neg_size, 0.05)
    >>> rb.compute_bound(BoundMethod.BAILEY)
    array([4.61953896, 6.87647915])
    >>> rb.compute_bounds([BoundMethod.BAILEY, BoundMethod.KATZ_LOG])
    {<BoundMethod.BAILEY: 'bailey'>: array([4.61953896, 6.87647915]),
     <BoundMethod.KATZ_LOG: 'katz-log'>: array([4.45958661, 6.39712581])}
  
  Attributes:
    available_methods: a dictionary mapping BoundMethod to the function.
class_docstr_tok: ["Lower","bound","of","ratio","of","binomial","proportions",".","This","class","implements","several","methods","to","compute","a","statistical","lower","bound","of","the","ratio","of","binomial","proportions",",","e.g",".","tpr","\/","fpr",".","Most","of","the","methods","are","based","on","https",":","\/\/doi.org\/10.1111\/2041-210X.12304","and","their","code","at","https",":","\/\/CRAN.R-project.org\/package=asbio",".","Clopper","pearson","is","based","on","https",":","\/\/arxiv.org\/pdf\/2006.07709.pdf",".","Examples",":",">",">",">","tp",",","fp","=","np.array","(","[","100",",","90","]",")",",","np.array","(","[","10",",","5","]",")",">",">",">","pos_size",",","neg_size","=","110",",","80",">",">",">","rb","=","elb.RatioBound","(","tp",",","fp",",","pos_size",",","neg_size",",","0.05",")",">",">",">","rb.compute_bound","(","BoundMethod.BAILEY",")","array","(","[","4.61953896",",","6.87647915","]",")",">",">",">","rb.compute_bounds","(","[","BoundMethod.BAILEY",",","BoundMethod.KATZ_LOG","]",")","{","<","BoundMethod.BAILEY",":","'bailey","'",">",":","array","(","[","4.61953896",",","6.87647915","]",")",",","<","BoundMethod.KATZ_LOG",":","'katz-log","'",">",":","array","(","[","4.45958661",",","6.39712581","]",")","}","Attributes",":","available_methods",":","a","dictionary","mapping","BoundMethod","to","the","function","."]
docstr: Computes ratio bounds for specified methods.
  
  Args:
    methods: the methods to use for ratio bound. If not specified, will use
      all available methods.
  
  Returns:
    A dictionary, mapping method to the corresponding bound.
docstr_tok: ["Computes","ratio","bounds","for","specified","methods",".","Args",":","methods",":","the","methods","to","use","for","ratio","bound",".","If","not","specified",",","will","use","all","available","methods",".","Returns",":","A","dictionary",",","mapping","method","to","the","corresponding","bound","."]
code: def compute_bounds(
      self, methods: Optional[Iterable[BoundMethod]] = None
  ) -> Dict[BoundMethod, Union[float, npt.NDArray[float]]]:
      """Computes ratio bounds for specified methods.
  
      Args:
        methods: the methods to use for ratio bound. If not specified, will use
          all available methods.
  
      Returns:
        A dictionary, mapping method to the corresponding bound.
      """
      return {
          method: self.compute_bound(method)
          for method in methods or self.available_methods.keys()
      }
  
imports: import enum
  import numbers
  from typing import Dict, Iterable, Optional, Sequence, Union
  import immutabledict
  import numpy
  import numpy.typing
  import scipy.integrate
  import scipy.optimize
  import scipy.stats
  import sklearn.metrics
  from statsmodels.stats import proportion
label_desc: Use image node_id 4 for calling the RatioBound obj's underlying member method code with example usage: obj.compute_bounds(methods) and returns: unknown