def test_cgauss_likelihood():
mu = np.array([0], dtype='float')
sigma = np.array([2], dtype='float')
x = np.linspace(-1, 2, 2)
lapse = np.array([0], dtype='float')
parameters = cartesian((mu, sigma, lapse, x))
proportionMethod = PsiMarginal.pf(parameters, psyfun='cGauss')
samples = np.random.normal(mu, sigma, (200000, 1))
proportionSamples = np.empty([2, ])
proportionSamples[0] = np.mean(samples <= x[0]) # cdf is p(X<=x), compute this through sampling to check likelihood
proportionSamples[1] = np.mean(samples <= x[1])
np.testing.assert_almost_equal(proportionSamples, proportionMethod, decimal=2) == 1
评论列表
文章目录