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
code: def __init__(
      self, design, priors, response_name, response_kind, spec
  ):
      self.terms = {}
      self.alias = None
      self.design = design
      self.response_name = response_name
      self.response_kind = response_kind
      self.spec = spec
      self.prefix = "" if response_kind == "data" else response_name
  
      if self.design.common:
          self.add_common_terms(priors)
          self.add_hsgp_terms(priors)
  
      if self.design.group:
          self.add_group_specific_terms(priors)
  
      if self.design.response:
          self.add_response_term()
  
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 1 to create a new DistributionalComponent object  with example: obj = DistributionalComponent(design, priors, response_name, response_kind, spec)