Exemple #1
0
    def test_prior_precision(self):

        Q = CovariatePrior(CovariateHyperparameters(-0.5 * numpy.log(1.1)),
                           7).prior_precision()
        self.assertEqual(SPARSEFORMAT, Q.getformat())
        self.assertEqual((7, 7), Q.shape)
        self.assertEqual(7, Q.nnz)
        numpy.testing.assert_almost_equal(
            Q.todense(), numpy.diag([1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1]))
Exemple #2
0
    def test_prior_precision_derivative(self):

        dQ = CovariatePrior(CovariateHyperparameters(-0.5 * numpy.log(1.1)),
                            7).prior_precision_derivative(0)
        self.assertEqual(SPARSEFORMAT, dQ.getformat())
        self.assertEqual((7, 7), dQ.shape)
        self.assertEqual(7, dQ.nnz)
        self.assertAlmostEqual(-2.2, dQ[1, 1])
        with self.assertRaises(ValueError):
            CovariatePrior(CovariateHyperparameters(-0.5 * numpy.log(1.1)),
                           7).prior_precision_derivative(1)
Exemple #3
0
    def test_prior_number_of_state_parameters(self):

        h = CombinationHyperparameters(
            [CovariateHyperparameters(0.1),
             CovariateHyperparameters(0.2)])
        priorlist = [
            CovariatePrior(h.elementparameters[0],
                           number_of_state_parameters=4),
            CovariatePrior(h.elementparameters[1],
                           number_of_state_parameters=5)
        ]
        prior = CombinationPrior(h, priorlist)
        self.assertEqual(9, prior.prior_number_of_state_parameters())
Exemple #4
0
    def test_prior_precision_derivative(self):

        h = CombinationHyperparameters([
            CovariateHyperparameters(-0.5 * numpy.log(23.6)),
            CovariateHyperparameters(-0.5 * numpy.log(88.9))
        ])
        priorlist = [
            CovariatePrior(h.elementparameters[0],
                           number_of_state_parameters=2),
            CovariatePrior(h.elementparameters[1],
                           number_of_state_parameters=3)
        ]
        prior = CombinationPrior(h, priorlist)
        dQ = prior.prior_precision_derivative(1)
        self.assertEqual(SPARSEFORMAT, dQ.getformat())
        self.assertEqual((5, 5), dQ.shape)
        self.assertEqual(3, dQ.nnz)
        self.assertAlmostEqual(-2.0 * 88.9, dQ[2, 2])
        self.assertAlmostEqual(-2.0 * 88.9, dQ[3, 3])
        self.assertAlmostEqual(-2.0 * 88.9, dQ[4, 4])
Exemple #5
0
    def test_prior_precision(self):

        h = CombinationHyperparameters([
            CovariateHyperparameters(-0.5 * numpy.log(23.6)),
            CovariateHyperparameters(-0.5 * numpy.log(88.9))
        ])
        priorlist = [
            CovariatePrior(h.elementparameters[0],
                           number_of_state_parameters=2),
            CovariatePrior(h.elementparameters[1],
                           number_of_state_parameters=3)
        ]
        prior = CombinationPrior(h, priorlist)
        Q = prior.prior_precision()
        self.assertEqual(SPARSEFORMAT, Q.getformat())
        numpy.testing.assert_almost_equal(
            Q.todense(),
            [[23.6, 0.0, 0.0, 0.0, 0.0], [0.0, 23.6, 0.0, 0.0, 0.0],
             [0.0, 0.0, 88.9, 0.0, 0.0], [0.0, 0.0, 0.0, 88.9, 0.0],
             [0.0, 0.0, 0.0, 0.0, 88.9]])
Exemple #6
0
        def element_prior(self, hyperparameters):

            return CovariatePrior(hyperparameters,
                                  number_of_state_parameters=2)
Exemple #7
0
    def test_prior_number_of_state_parameters(self):

        self.assertEqual(
            7,
            CovariatePrior(CovariateHyperparameters(0.1),
                           7).prior_number_of_state_parameters())
Exemple #8
0
    def test_init(self):

        p = CovariatePrior(CovariateHyperparameters(8.8), 7)
        self.assertEqual(8.8, p.hyperparameters.value)
        self.assertEqual(7, p.number_of_state_parameters)