Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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)