code: def warnings(self):
      accept = np.array(self._tuned_stats)
      mean_accept = np.mean(accept)
      target_accept = self._target
      # Try to find a reasonable interval for acceptable acceptance
      # probabilities. Finding this was mostly trial and error.
      n_bound = min(100, len(accept))
      n_good, n_bad = mean_accept * n_bound, (1 - mean_accept) * n_bound
      lower, upper = stats.beta(n_good + 1, n_bad + 1).interval(0.95)
      if target_accept < lower or target_accept > upper:
          msg = (
              f"The acceptance probability does not match the target. "
              f"It is {mean_accept:0.4g}, but should be close to {target_accept:0.4g}. "
              f"Try to increase the number of tuning steps."
          )
          info = {"target": target_accept, "actual": mean_accept}
          warning = SamplerWarning(
              WarningType.BAD_ACCEPTANCE, msg, "warn", extra=info
          )
          return [warning]
      else:
          return []
  
file_path: pymc/pymc/step_methods/step_sizes.py
imports: import numpy
  from scipy import stats
  from pymc.stats.convergence import SamplerWarning, WarningType
label_desc: Use image node_id 6 for calling the DualAverageAdaptation obj's underlying member method code with example usage: obj.warnings() and returns: list, list