class_docstr: Distributional model components
  
  Parameters
  ----------
  design : formulae.DesignMatrices
      The object with all the required design matrices and information about the model terms.
  priors : dict
      A dictionary where keys are term names and values are their priors.
  response_name : str
      The name of the response or target. If ``response_kind`` is ``"data"``, it's the name of
      the response variable. If ``response_kind`` is ``"param"`` it's the name of the parameter.
      An example of the first could be "Reaction" and an example of the latter could be "sigma"
      or "kappa".
  response_kind : str
      Specifies whether the distributional component models the response (``"data"``) or an
      auxiliary parameter (``"param"``). When ``"data"`` this is actually modeling the "parent"
      parameter of the family.
  spec : bambi.Model
      The Bambi model
docstr: Add a response (or outcome/dependent) variable to the model.
docstr_tok: ["Add","a","response","(","or","outcome\/dependent",")","variable","to","the","model","."]
code: def add_response_term(self):
      """Add a response (or outcome/dependent) variable to the model."""
      response = self.design.response
  
      if hasattr(response.term.term.components[0], "reference"):
          reference = response.term.term.components[0].reference
      else:
          reference = None
  
      # NOTE: This is a historical feature.
      # I'm not sure how many family specific checks we should add in this type of places now
      if reference is not None and not isinstance(
          self.spec.family, univariate.Bernoulli
      ):
          raise ValueError(
              "Index notation for response is only available for 'bernoulli' family"
          )
  
      if isinstance(self.spec.family, univariate.Bernoulli):
          if (
              response.kind == "categoric"
              and response.levels is None
              and reference is None
          ):
              raise ValueError(
                  "Categoric response must be binary for 'bernoulli' family."
              )
          if response.kind == "numeric" and not all(
              np.isin(response.design_matrix, [0, 1])
          ):
              raise ValueError(
                  "Numeric response must be all 0 and 1 for 'bernoulli' family."
              )
  
      self.terms[response.name] = ResponseTerm(
          response, self.spec.family
      )
  
imports: import formulae
  import numpy
  import xarray
  from bambi.defaults import get_default_prior
  from bambi.families import univariate, multivariate
  from bambi.priors import Prior
  from bambi.terms import CommonTerm, GroupSpecificTerm, HSGPTerm, OffsetTerm, ResponseTerm
  from bambi.utils import get_aliased_name, is_hsgp_term
label_desc: Use image node_id 5 for calling the DistributionalComponent obj's underlying member method code with example usage: obj.add_response_term() without return types