<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def likelihood_markov_blanket(self, beta):
 """ Creates likelihood markov blanket of the model Parameters beta : np.array Contains untransformed starting values for latent variables Returns - Negative loglikelihood """
     
        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)