fimix.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:pylspm 作者: lseman 项目源码 文件源码
def data_log_likelihood(self, dataSplit, coefficients, variances):

        log_likelihood = 0.0

        for k in range(self.num_components):

            coef_ = coefficients[k]

            Beta = coef_.ix[self.endoVar][self.endoVar]
            Gamma = coef_.ix[self.endoVar][self.exoVar]

            a_ = (np.dot(Beta, self.fscores[
                  self.endoVar].T) + np.dot(Gamma, self.fscores[self.exoVar].T))

            invert_ = np.linalg.inv(np.array(variances[k]))

            exponential = np.exp(-0.5 * np.dot(np.dot(a_.T, invert_), a_))

            den = (((2 * np.pi)**(self.Q / 2)) *
                   np.sqrt(np.linalg.det(variances[k])))
            probabilities = exponential[0] / den

            log_likelihood += np.log(probabilities).sum()

        print(log_likelihood)
        return log_likelihood
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号