def makePlot_pdf_Phi(
nu=0, tau=0, phi_grid=None,
ngrid=1000, min_phi=-100, max_phi=100):
label = 'nu=%7.2f' % (nu)
cPrior = - gammaln(nu) + gammaln(nu-tau) + gammaln(tau)
if phi_grid is None:
phi_grid = np.linspace(min_phi, max_phi, ngrid)
logpdf_grid = tau * phi_grid - nu * c_Phi(phi_grid) - cPrior
pdf_grid = np.exp(logpdf_grid)
IntegralVal = np.trapz(pdf_grid, phi_grid)
mu_grid = phi2mu(phi_grid)
ExpectedPhiVal = np.trapz(pdf_grid * phi_grid, phi_grid)
ExpectedMuVal = np.trapz(pdf_grid * mu_grid, phi_grid)
print '%s Integral=%.4f E[phi]=%6.3f E[mu]=%.4f' % (
label, IntegralVal, ExpectedPhiVal, ExpectedMuVal)
pylab.plot(phi_grid, pdf_grid, '-', label=label)
pylab.xlabel('phi (log odds ratio)')
pylab.ylabel('density p(phi)')
评论列表
文章目录