def test_sample(self): mcgsm = MCGSM(1, 1, 1, 1, 1) mcgsm.scales = [[0.]] mcgsm.predictors = [[0.]] samples = mcgsm.sample(zeros([1, 10000])).flatten() p = kstest(samples, lambda x: norm.cdf(x, scale=1.))[1] # make sure Gaussian random number generation works self.assertTrue(p > 0.0001)
def test_sample(self): mcgsm = MCGSM(1, 1, 1, 1, 1) mcgsm.scales = [[0.0]] mcgsm.predictors = [[0.0]] samples = mcgsm.sample(zeros([1, 10000])).flatten() p = kstest(samples, lambda x: norm.cdf(x, scale=1.0))[1] # make sure Gaussian random number generation works self.assertTrue(p > 0.0001)
def test_sample_conditionally(self): mcgsm = MCGSM(3, 2, 2, 2, 4) # make sure there are differences between components mcgsm.weights = -log(rand(*mcgsm.weights.shape)) * 10. mcgsm.scales = square(mcgsm.scales * 3.) inputs = randn(mcgsm.dim_in, 100000) # sample directly outputs0 = mcgsm.sample(inputs) # sample indirectly labels = mcgsm.sample_prior(inputs) outputs1 = mcgsm.sample(inputs, labels) p = ks_2samp(outputs0.ravel(), outputs1.ravel())[1] self.assertGreater(p, 1e-5)
def test_sample_conditionally(self): mcgsm = MCGSM(3, 2, 2, 2, 4) # make sure there are differences between components mcgsm.weights = -log(rand(*mcgsm.weights.shape)) * 10.0 mcgsm.scales = square(mcgsm.scales * 3.0) inputs = randn(mcgsm.dim_in, 100000) # sample directly outputs0 = mcgsm.sample(inputs) # sample indirectly labels = mcgsm.sample_prior(inputs) outputs1 = mcgsm.sample(inputs, labels) p = ks_2samp(outputs0.ravel(), outputs1.ravel())[1] self.assertGreater(p, 1e-5)