def checkFacts_pdf_Mu(nu=0, tau=0, mu_grid=None, **kwargs):
cPrior = c_Prior(nu=nu, tau=tau)
if mu_grid is None:
mu_grid = make_mu_grid(**kwargs)
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)
Integral = np.trapz(pdf_grid, mu_grid)
E_mu_numeric = np.trapz(pdf_grid * mu_grid, mu_grid)
E_mu_formula = tau/nu
E_phi_numeric = np.trapz(pdf_grid * phi_grid, mu_grid)
E_phi_formula = E_phi(nu,tau)
print "nu=%7.3f tau=%7.3f" % (nu, tau)
print " Integral=% 7.3f should be % 7.3f" % (Integral, 1.0)
print " E[mu]=% 7.3f should be % 7.3f" % (E_mu_numeric, E_mu_formula)
print " E[phi]=% 7.3f should be % 7.3f" % (E_phi_numeric, E_phi_formula)
评论列表
文章目录