def test_funcs(self):
data = self.data['binary']
truth = self.truths['binary']
nlp = self.truths_to_nlp(truth)
params = self.joker_params['binary']
p = np.concatenate((nlp, [truth['K'].value], [self.fd.v0.value]))
mcmc_p = to_mcmc_params(p)
p2 = from_mcmc_params(mcmc_p)
assert np.allclose(p, p2.reshape(p.shape)) # test roundtrip
lp = ln_prior(p, params)
assert np.isfinite(lp)
ll = ln_likelihood(p, params, data)
assert np.isfinite(ll).all()
# remove jitter from params passed in to mcmc_p
mcmc_p = list(mcmc_p)
mcmc_p.pop(5) # log-jitter is 5th index in mcmc packed
lnpost = ln_posterior(mcmc_p, params, data)
assert np.isfinite(lnpost)
assert np.allclose(lnpost, lp+ll.sum())
评论列表
文章目录