code: def likelihood_markov_blanket(self, beta):
               
          states = beta[self.z_no:self.z_no+self.data_length] # the local level (untransformed)
          parm = np.array([self.latent_variables.z_list[k].prior.transform(beta[k]) for k in range(self.z_no)]) # transformed distribution parameters
          scale, shape, skewness = self._get_scale_and_shape(parm)
          return self.family.markov_blanket(self.data, self.link(states), scale, shape, skewness)
docs: Creates likelihood markov blanket of the model
  
          Parameters
          ----------
          beta : np.array
              Contains untransformed starting values for latent variables
  
          Returns
          ----------
          - Negative loglikelihood