Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
    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)