Ejemplo n.º 1
0
    def setUp(self):
        super(TestDumpLoad, self).setUp()
        
        self.lists = [[],
                      list(range(1000)),
                      list("Although that way may not be" + 
                           "obvious at first" + 
                           "unless you're Dutch.")] 
        self.arrays = [numpy.array([]),
                       numpy.random.random(1000),
                       numpy.arange(1000), ]
                       
        self.strings = ["",
                        "Although that way may not be" + \
                        "obvious at first" + \
                        "unless you're Dutch.",
                        "([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])"]

        # Completly connnected graph
        
        self.big_graph = []
        for _i in range(250):
            n = Node()
            self.big_graph.append(n)
        for n in self.big_graph:
            n.connections = set(self.big_graph)
            n.connections.remove(n)

        # Protein
        pdbfile = self.config.getTestFile('ake-xray-ensemble-ca.pdb')
        self.protein = LegacyStructureParser(pdbfile).parse_models()[0]

        self.objs = [self.lists, self.arrays, self.strings,
                     self.protein]
Ejemplo n.º 2
0
    def setUp(self):
        super(TestDumpLoad, self).setUp()

        self.lists = [[],
                      list(range(1000)),
                      list("Although that way may not be" +
                           "obvious at first" + "unless you're Dutch.")]
        self.arrays = [
            numpy.array([]),
            numpy.random.random(1000),
            numpy.arange(1000),
        ]

        self.strings = ["",
                        "Although that way may not be" + \
                        "obvious at first" + \
                        "unless you're Dutch.",
                        "([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])"]

        # Completly connnected graph

        self.big_graph = []
        for _i in range(250):
            n = Node()
            self.big_graph.append(n)
        for n in self.big_graph:
            n.connections = set(self.big_graph)
            n.connections.remove(n)

        # Protein
        pdbfile = self.config.getTestFile('ake-xray-ensemble-ca.pdb')
        self.protein = LegacyStructureParser(pdbfile).parse_models()[0]

        self.objs = [self.lists, self.arrays, self.strings, self.protein]
Ejemplo n.º 3
0
    def __init__(self, alpha=1., beta=1., hyper_alpha=(4., 1.),
                 hyper_beta=(2., 1.)):

        super(InvGammaPrior, self).__init__(alpha, beta)

        self._hyper_alpha = Gamma(*hyper_alpha)
        self._hyper_beta = Gamma(*hyper_beta)
        self.estimator = InvGammaPosteriorSampler()
Ejemplo n.º 4
0
    def testLogProb(self):

        g = Gamma(1., 1.)
        self.assertAlmostEqual(g(1.), numpy.exp(-1.), delta=1e-5)
        self.assertAlmostEqual(g(2.), numpy.exp(-2.), delta=1e-5)

        g = Gamma(2., 1.)
        self.assertAlmostEqual(g(1.), 1. * numpy.exp(-1), delta=1e-5)
        self.assertAlmostEqual(g(2.), 2. * numpy.exp(-2), delta=1e-5)
Ejemplo n.º 5
0
    def testParameterEstimation(self):

        alpha = 0.1
        beta = 0.1

        data = numpy.random.gamma(alpha, 1. / beta, 10000)
        pdf = Gamma(1, 1)
        pdf.estimate(data)

        self.assertAlmostEqual(pdf.alpha, alpha, places=2)
        self.assertAlmostEqual(pdf.beta, beta, places=1)
Ejemplo n.º 6
0
    def testParameterEstimation(self):
        
        alpha = 0.1
        beta = 0.1

        data = numpy.random.gamma(alpha, 1. / beta, 10000)
        pdf = Gamma(1, 1)
        pdf.estimate(data)
        
        self.assertAlmostEqual(pdf.alpha, alpha, places=2)
        self.assertAlmostEqual(pdf.beta, beta, places=1)
Ejemplo n.º 7
0
def calculate_KL((posterior_distances, prior_distances, bins)):

    from csb.statistics.pdf import Gamma
    from csb.numeric import log

    g = Gamma()
    g.estimate(prior_distances)
    posterior_hist = np.histogram(posterior_distances, bins=bins,
                                  normed=True)[0]

    return np.trapz(posterior_hist * log(posterior_hist / g(bins[:-1])),
                    bins[:-1])
Ejemplo n.º 8
0
    def testRandom(self):

        gamma = Gamma(1., 1.)
        samples = gamma.random(10000)
        mu = numpy.mean(samples)
        var = numpy.var(samples)

        self.assertAlmostEqual(gamma.alpha / gamma.beta, mu, delta=1e-1)
        self.assertAlmostEqual(gamma.alpha / gamma.beta**2, var, delta=1e-1)
Ejemplo n.º 9
0
 def testParameters(self):
 
     pdf = Gamma(1, 1)
     pdf.alpha = 2
     pdf.beta = 3
     
     self.assertEqual(pdf.alpha, 2)
     self.assertEqual(pdf.beta, 3)
     self.assertEqual(pdf.beta, pdf['beta'])
     
     def propertyAssignment():
         pdf.beta = -1
     def directAssignment(p):
         pdf[p] = -1
     
     self.assertRaises(ParameterValueError, propertyAssignment)
     self.assertRaises(ParameterValueError, directAssignment, 'alpha')
     self.assertRaises(ParameterValueError, directAssignment, 'beta')        
Ejemplo n.º 10
0
    def testParameters(self):

        pdf = Gamma(1, 1)
        pdf.alpha = 2
        pdf.beta = 3

        self.assertEqual(pdf.alpha, 2)
        self.assertEqual(pdf.beta, 3)
        self.assertEqual(pdf.beta, pdf['beta'])

        def propertyAssignment():
            pdf.beta = -1

        def directAssignment(p):
            pdf[p] = -1

        self.assertRaises(ParameterValueError, propertyAssignment)
        self.assertRaises(ParameterValueError, directAssignment, 'alpha')
        self.assertRaises(ParameterValueError, directAssignment, 'beta')