def update_component_parameters(self): # resample mu n_samples = 25 log_pdf_lambda_str = lambda strength : cc_beta_uc.calc_logp(self.N, self.sum_log_x, self.sum_minus_log_x, strength, self.balance)+cc_beta_uc.calc_log_prior(strength, self.balance, self.λ, self.α, self.β) self.strength = su.mh_sample(self.strength, log_pdf_lambda_str, .5, [0.0,float('Inf')], burn=n_samples) log_pdf_lambda_bal = lambda balance : cc_beta_uc.calc_logp(self.N, self.sum_log_x, self.sum_minus_log_x, self.strength, balance)+cc_beta_uc.calc_log_prior(self.strength, balance, self.λ, self.α, self.β) self.balance = su.mh_sample(self.balance, log_pdf_lambda_bal, .25, [0,1], burn=n_samples)
def update_component_parameters(self): n_samples = 25 D = (0.0, float('Inf')) lambda_k = lambda k : self.calc_marginal_logp(self.N, self.sum_sin_x, self.sum_cos_x, k, self.a, self.b, self.scale, self.shape) self.k = su.mh_sample(self.k, lambda_k, .5, D, burn=n_samples)
def update_component_parameters(self): n_samples = 25 D = (0.0, float('Inf')) lambda_k = lambda k: self.calc_marginal_logp( self.N, self.sum_sin_x, self.sum_cos_x, k, self.a, self.b, self. scale, self.shape) self.k = su.mh_sample(self.k, lambda_k, .5, D, burn=n_samples)