class_docstr: Results from combined estimate of means or effect sizes
  
  This currently includes intermediate results that might be removed
class_docstr_tok: ["Results","from","combined","estimate","of","means","or","effect","sizes","This","currently","includes","intermediate","results","that","might","be","removed"]
docstr: confidence intervals for the effect size estimate of samples
  
  Additional information needs to be provided for confidence intervals
  that are not based on normal distribution using available variance.
  This is likely to change in future.
  
  Parameters
  ----------
  alpha : float in (0, 1)
      Significance level for confidence interval. Nominal coverage is
      ``1 - alpha``.
  use_t : None or bool
      If use_t is None, then the attribute `use_t` determines whether
      normal or t-distribution is used for confidence intervals.
      Specifying use_t overrides the attribute.
      If use_t is false, then confidence intervals are based on the
      normal distribution. If it is true, then the t-distribution is
      used.
  nobs : None or float
      Number of observations used for degrees of freedom computation.
      Only used if use_t is true.
  ci_func : None or callable
      User provided function to compute confidence intervals.
      This is not used yet and will allow using non-standard confidence
      intervals.
  
  Returns
  -------
  ci_eff : tuple of ndarrays
      Tuple (ci_low, ci_upp) with confidence interval computed for each
      sample.
  
  Notes
  -----
  CombineResults currently only has information from the combine_effects
  function, which does not provide details about individual samples.
docstr_tok: ["confidence","intervals","for","the","effect","size","estimate","of","samples","Additional","information","needs","to","be","provided","for","confidence","intervals","that","are","not","based","on","normal","distribution","using","available","variance",".","This","is","likely","to","change","in","future",".","Parameters","--","--","--","--","--","alpha",":","float","in","(","0",",","1",")","Significance","level","for","confidence","interval",".","Nominal","coverage","is","``","1","-","alpha","``",".","use_t",":","None","or","bool","If","use_t","is","None",",","then","the","attribute","`","use_t","`","determines","whether","normal","or","t-distribution","is","used","for","confidence","intervals",".","Specifying","use_t","overrides","the","attribute",".","If","use_t","is","false",",","then","confidence","intervals","are","based","on","the","normal","distribution",".","If","it","is","true",",","then","the","t-distribution","is","used",".","nobs",":","None","or","float","Number","of","observations","used","for","degrees","of","freedom","computation",".","Only","used","if","use_t","is","true",".","ci_func",":","None","or","callable","User","provided","function","to","compute","confidence","intervals",".","This","is","not","used","yet","and","will","allow","using","non-standard","confidence","intervals",".","Returns","--","--","--","-","ci_eff",":","tuple","of","ndarrays","Tuple","(","ci_low",",","ci_upp",")","with","confidence","interval","computed","for","each","sample",".","Notes","--","--","-","CombineResults","currently","only","has","information","from","the","combine_effects","function",",","which","does","not","provide","details","about","individual","samples","."]
code: def conf_int_samples(
      self, alpha=0.05, use_t=None, nobs=None, ci_func=None
  ):
      """confidence intervals for the effect size estimate of samples
  
      Additional information needs to be provided for confidence intervals
      that are not based on normal distribution using available variance.
      This is likely to change in future.
  
      Parameters
      ----------
      alpha : float in (0, 1)
          Significance level for confidence interval. Nominal coverage is
          ``1 - alpha``.
      use_t : None or bool
          If use_t is None, then the attribute `use_t` determines whether
          normal or t-distribution is used for confidence intervals.
          Specifying use_t overrides the attribute.
          If use_t is false, then confidence intervals are based on the
          normal distribution. If it is true, then the t-distribution is
          used.
      nobs : None or float
          Number of observations used for degrees of freedom computation.
          Only used if use_t is true.
      ci_func : None or callable
          User provided function to compute confidence intervals.
          This is not used yet and will allow using non-standard confidence
          intervals.
  
      Returns
      -------
      ci_eff : tuple of ndarrays
          Tuple (ci_low, ci_upp) with confidence interval computed for each
          sample.
  
      Notes
      -----
      CombineResults currently only has information from the combine_effects
      function, which does not provide details about individual samples.
      """
      # this is a bit messy, we don't have enough information about
      # computing conf_int already in results for other than normal
      # TODO: maybe there is a better
      if (alpha, use_t) in self.cache_ci:
          return self.cache_ci[(alpha, use_t)]
  
      if use_t is None:
          use_t = self.use_t
  
      if ci_func is not None:
          kwds = {"use_t": use_t} if use_t is not None else {}
          ci_eff = ci_func(alpha=alpha, **kwds)
          self.ci_sample_distr = "ci_func"
      else:
          if use_t is False:
              crit = stats.norm.isf(alpha / 2)
              self.ci_sample_distr = "normal"
          else:
              if nobs is not None:
                  df_resid = nobs - 1
                  crit = stats.t.isf(alpha / 2, df_resid)
                  self.ci_sample_distr = "t"
              else:
                  msg = (
                      "`use_t=True` requires `nobs` for each sample "
                      "or `ci_func`. Using normal distribution for "
                      "confidence interval of individual samples."
                  )
                  import warnings
  
                  warnings.warn(msg)
                  crit = stats.norm.isf(alpha / 2)
                  self.ci_sample_distr = "normal"
  
          # sgn = np.asarray([-1, 1])
          # ci_eff = self.eff + sgn * crit * self.sd_eff
          ci_low = self.eff - crit * self.sd_eff
          ci_upp = self.eff + crit * self.sd_eff
          ci_eff = (ci_low, ci_upp)
  
      # if (alpha, use_t) not in self.cache_ci:  # not needed
      self.cache_ci[(alpha, use_t)] = ci_eff
      return ci_eff
  
file_path: statsmodels/statsmodels/stats/meta_analysis.py
imports: import numpy
  import pandas
  from scipy import stats
  from statsmodels.stats.base import HolderTuple
label_desc: Use image node_id 2 for calling the CombineResults obj's underlying member method code with example usage: obj.conf_int_samples(alpha, use_t, nobs, ci_func) and returns: ci_eff, self