示例#1
0
    def test_reference(self):
        true, data = self.generate_data()
        
        model = DPMixtureModel(3, 100, 100, 1)
        model.seed = 1
        model.load_ref(array(true))
        r = model.fit(data, verbose=True)

        diffs = {}
        for i in gen_mean:
            diffs[i] = np.abs(r.mus[i]-gen_mean[i])
            assert(np.vdot(diffs[i], diffs[i]) < 1)

        model.load_ref(r)
        r = model.fit(data, verbose=True)

        diffs = {}
        for i in gen_mean:
            diffs[i] = np.abs(r.mus[i]-gen_mean[i])
            assert(np.vdot(diffs[i], diffs[i]) < 1)
示例#2
0
    def testRefernce(self):
        print "starting mcmc"
        true, data = self.generate_data()
        m = data.mean(0)
        s = data.std(0)
        #        true_mean = {}
        #        for i in gen_mean:
        #            true_mean[i] = (gen_mean[i]-m)/s

        model = DPMixtureModel(3, 100, 100, 1)
        model.seed = 1
        model.load_ref(array(true))
        start = time()
        r = model.fit(data, verbose=True)
        end = time() - start

        diffs = {}
        # print 'r.mus:', r.mus
        for i in gen_mean:
            # diffs[i] = np.min(np.abs(r.mus-gen_mean[i]),0)
            diffs[i] = np.abs(r.mus[i] - gen_mean[i])
            # print i, gen_mean[i],r.mus[i], diffs[i],
            # np.vdot(diffs[i],diffs[i])
            assert np.vdot(diffs[i], diffs[i]) < 1
        # print diffs
        print "MCMC fitting took %0.3f" % (end)

        model.load_ref(r)
        start = time()
        r = model.fit(data, verbose=True)
        end = time() - start

        diffs = {}
        # print 'r.mus:', r.mus
        for i in gen_mean:
            # diffs[i] = np.min(np.abs(r.mus-gen_mean[i]),0)
            diffs[i] = np.abs(r.mus[i] - gen_mean[i])
            # print i, gen_mean[i],r.mus[i], diffs[i],
            # np.vdot(diffs[i],diffs[i])
            assert np.vdot(diffs[i], diffs[i]) < 1
示例#3
0
    def testRefernce(self):
        print "starting mcmc"
        true, data = self.generate_data()
        m = data.mean(0)
        s = data.std(0)
#        true_mean = {}
#        for i in gen_mean:
#            true_mean[i] = (gen_mean[i]-m)/s
        
        model = DPMixtureModel(3,100,100,1)
        model.seed = 1
        model.load_ref(array(true))
        start = time()
        r = model.fit(data, verbose=True)
        end = time() - start
        
        diffs = {}
        #print 'r.mus:', r.mus
        for i in gen_mean:
            #diffs[i] = np.min(np.abs(r.mus-gen_mean[i]),0)
            diffs[i] = np.abs(r.mus[i]-gen_mean[i])
            #print i, gen_mean[i],r.mus[i], diffs[i], np.vdot(diffs[i],diffs[i])
            assert( np.vdot(diffs[i],diffs[i]) < 1)
        #print diffs
        print 'MCMC fitting took %0.3f' % (end)
        
        model.load_ref(r)
        start = time()
        r = model.fit(data, verbose=True)
        end = time() - start
        
        diffs = {}
        #print 'r.mus:', r.mus
        for i in gen_mean:
            #diffs[i] = np.min(np.abs(r.mus-gen_mean[i]),0)
            diffs[i] = np.abs(r.mus[i]-gen_mean[i])
            #print i, gen_mean[i],r.mus[i], diffs[i], np.vdot(diffs[i],diffs[i])
            assert( np.vdot(diffs[i],diffs[i]) < 1)