def makePlot_pdf_Mu(
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)
mu_grid = np.linspace(1e-15, 1-1e-15, ngrid)
phi_grid = mu2phi(mu_grid)
logpdf_grid = tau * phi_grid - nu * c_Phi(phi_grid) - cPrior
logJacobian_grid = logJacobian_mu(mu_grid)
pdf_grid = np.exp(logpdf_grid + logJacobian_grid)
IntegralVal = np.trapz(pdf_grid, mu_grid)
ExpectedMuVal = np.trapz(pdf_grid * mu_grid, mu_grid)
ExpectedPhiVal = np.trapz(pdf_grid * phi_grid, mu_grid)
print '%s Integral=%.4f E[phi]=%6.3f E[mu]=%.4f' % (
label, IntegralVal, ExpectedPhiVal, ExpectedMuVal)
pylab.plot(mu_grid, pdf_grid, '-', label=label)
pylab.xlabel('mu')
pylab.ylabel('density p(mu)')
评论列表
文章目录