code: def stats(self, alpha=0.05, start=0, batches=100,
                chain=None, quantiles=(2.5, 25, 50, 75, 97.5)):
          
  
          try:
              trace = np.squeeze(
                  np.array(
                      self.db.trace(
                          self.name)(
                              chain=chain),
                      float))[
                          start:]
  
              n = len(trace)
              if not n:
                  print_(
                      'Cannot generate statistics for zero-length trace in',
                      self.__name__)
                  return
  
              return {
                  'n': n,
                  'standard deviation': trace.std(0),
                  'mean': trace.mean(0),
                  '%s%s HPD interval' % (int(100 * (1 - alpha)), '%'): utils.hpd(trace, alpha),
                  'mc error': batchsd(trace, min(n, batches)),
                  'quantiles': utils.quantiles(trace, qlist=quantiles)
              }
          except:
              print_('Could not generate output statistics for', self.name)
              return
docs: Generate posterior statistics for node.
  
          :Parameters:
          name : string
            The name of the tallyable object.
  
          alpha : float
            The alpha level for generating posterior intervals. Defaults to
            0.05.
  
          start : int
            The starting index from which to summarize (each) chain. Defaults
            to zero.
  
          batches : int
            Batch size for calculating standard deviation for non-independent
            samples. Defaults to 100.
  
          chain : int
            The index for which chain to summarize. Defaults to None (all
            chains).
  
          quantiles : tuple or list
            The desired quantiles to be calculated. Defaults to (2.5, 25, 50, 75, 97.5).