code: def _model(self,beta):
               
  
          Y = np.array([reg[self.lags:reg.shape[0]] for reg in self.data])
  
          # Transform latent variables
          beta = np.array([self.latent_variables.z_list[k].prior.transform(beta[k]) for k in range(beta.shape[0])])
  
          params = []
          col_length = 1 + self.ylen*self.lags
          for i in range(0,self.ylen):
              params.append(beta[(col_length*i): (col_length*(i+1))])
  
          mu = np.dot(np.array(params),self._create_Z(Y))
          return mu, Y
docs: Creates the structure of the model
  
          Parameters
          ----------
          beta : np.array
              Contains untransformed starting values for latent variables
  
          Returns
          ----------
          mu : np.array
              Contains the predicted values for the time series
  
          Y : np.array
              Contains the length-adjusted time series (accounting for lags)