Ejemplo n.º 1
0
def integrate_beta_conj_prior(tau, nu, A=None):
    if None == A:
        A = beta.beta_conj_prior_log_partition(tau, nu)
        
    def f(*eta):
        eta = np.array(eta)
        return np.exp(np.dot(tau, eta) - nu * betaln(*(eta+1.)) - A)
    
    result, abserr = dblquad(
        func=f, 
        a=-1.,
        b=np.infty,
        gfun=lambda x: -1,
        hfun=lambda x: np.infty,
    )
    return result, abserr
Ejemplo n.º 2
0
pl.subplots_adjust(wspace=.0, hspace=.5, top=.9, bottom=.06, right=1., left=0.)

tau = np.array([-1., -3.]) / 10.
nu = 0.4
g = tau[0] * (a-1.) + tau[1] * (b-1.) - nu * betaln_a_b
pl.clf()
pl.imshow(g, origin='lower', extent=[step,max,step,max])
title = '$\\tau = %s \\; \\nu = %.1f$' % (str(tau), nu)
logging.info('Title = %s', title)
pl.title(title)
pl.gca().get_xaxis().set_ticks_position('none')
pl.gca().get_yaxis().set_ticks_position('none')
#pl.colorbar()
pl.show()

A = beta.beta_conj_prior_log_partition(tau, nu)
logging.info("A(%s, %f) = %s", tau, nu, A)
exp_eta = beta.beta_conj_expected_eta(tau, nu, A)
logging.info("<eta> = %s", exp_eta)

def integrate_beta_conj_prior(tau, nu, A=None):
    if None == A:
        A = beta.beta_conj_prior_log_partition(tau, nu)
        
    def f(*eta):
        eta = np.array(eta)
        return np.exp(np.dot(tau, eta) - nu * betaln(*(eta+1.)) - A)
    
    result, abserr = dblquad(
        func=f, 
        a=-1.,