code: def general_neg_loglik(self, beta):
               
  
          mu, Y = self._model(beta)
          parm = np.array([self.latent_variables.z_list[k].prior.transform(beta[k]) for k in range(beta.shape[0])])
          #TODO: Replace above with transformation that only acts on scale, shape, skewness in future (speed-up)
          model_scale, model_shape, model_skewness = self._get_scale_and_shape(parm)
          return self.family.neg_loglikelihood(Y, self.link(mu), model_scale, model_shape, model_skewness)
docs: Calculates the negative log-likelihood of the model
  
          Parameters
          ----------
          beta : np.ndarray
              Contains untransformed starting values for latent variables
  
          Returns
          ----------
          The negative logliklihood of the model