예제 #1
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)
예제 #2
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)
예제 #3
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])