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]
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]
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()
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)
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)
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])
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)
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')