docstr: Add HSGP (Hilbert-Space Gaussian Process approximation) terms to the PyMC model.
  
  The linear predictor 'X @ b + Z @ u' can be augmented with non-parametric HSGP terms
  'f(x)'. This creates the 'f(x)' and adds it ``self.output``.
docstr_tok: ["Add","HSGP","(","Hilbert-Space","Gaussian","Process","approximation",")","terms","to","the","PyMC","model",".","The","linear","predictor","'","X","@","b","+","Z","@","u","'","can","be","augmented","with","non-parametric","HSGP","terms","'","f","(","x",")","'",".","This","creates","the","'","f","(","x",")","'","and","adds","it","``","self.output","``","."]
code: def build_hsgp_terms(self, pymc_backend, bmb_model):
      """Add HSGP (Hilbert-Space Gaussian Process approximation) terms to the PyMC model.
  
      The linear predictor 'X @ b + Z @ u' can be augmented with non-parametric HSGP terms
      'f(x)'. This creates the 'f(x)' and adds it ``self.output``.
      """
      for term in self.component.hsgp_terms.values():
          hsgp_term = HSGPTerm(term)
          for name, values in hsgp_term.coords.items():
              if name not in pymc_backend.model.coords:
                  pymc_backend.model.add_coords({name: values})
          self.output += hsgp_term.build(bmb_model)
  
file_path: bambi/bambi/backend/model_components.py
imports: import numpy
  from pytensor import tensor
  from bambi.backend.terms import CommonTerm, GroupSpecificTerm, HSGPTerm, InterceptTerm, ResponseTerm
  from bambi.backend.utils import get_distribution_from_prior
  from bambi.families.multivariate import MultivariateFamily
  from bambi.families.univariate import Categorical, Cumulative, StoppingRatio
  from bambi.utils import get_aliased_name
label_desc: Use image node_id 6 for calling the DistributionalComponent obj's underlying member method code with example usage: obj.build_hsgp_terms(pymc_backend, bmb_model) without return types