Пример #1
0
    def _resample_X():
        pis = model.pi(data)
        X = np.array([np.random.multinomial(N_max, pis[m]) for m in xrange(M)])
        N = N_vec(X).astype(np.float)
        kappa = kappa_vec(X)

        data["X"] = X
        data["N"] = N
        data["kappa"] = kappa
Пример #2
0
    def resample_psi(self):
        mu = self.theta_prior.mu
        Lmbda = np.linalg.inv(self.theta_prior.sigma)
        randvec = np.random.randn(self.D, self.T-1)

        for d, c in enumerate(self.doc_topic_counts):
            Lmbda_post = Lmbda + np.diag(self.omega[d])
            h_post = Lmbda.dot(mu) + kappa_vec(c)
            L = np.linalg.cholesky(Lmbda_post)
            self.psi[d] = dpotrs(L, h_post) + solve_triangular(L, randvec[d])