コード例 #1
0
ファイル: test_likelihood.py プロジェクト: mwkyuen/remixt
    def test_log_likelihood_cn_partial_phi(self):

        cn, h, l, phi, r, x = self.generate_simple_data()

        emission = likelihood.NegBinLikelihood()
        emission.h = h
        emission.phi = phi
        emission.r = r

        def evaluate_log_likelihood(phi, x, l, cn):
            emission.phi = phi
            return np.sum(emission.log_likelihood(x, l, cn))

        def evaluate_log_likelihood_partial_phi(phi, x, l, cn):
            emission.phi = phi
            return emission._log_likelihood_partial_phi(x, l, cn)[:, 0]

        remixt.tests.utils.assert_grad_correct(
            evaluate_log_likelihood, evaluate_log_likelihood_partial_phi, phi,
            x, l, cn)
コード例 #2
0
ファイル: test_remixt.py プロジェクト: DouglasAbrams/remixt
    def test_learn_phi(self):

        experiment = load_test_experiment()

        emission = likelihood.NegBinLikelihood()
        emission.h = experiment.h
        emission.phi = experiment.phi
        emission.r = experiment.negbin_r

        N = experiment.l.shape[0]
        M = experiment.h.shape[0]

        prior = cn_model.CopyNumberPrior(N, M, perfect_cn_prior(experiment.cn))
        prior.set_lengths(experiment.l)

        model = cn_model.HiddenMarkovModel(N, M, emission, prior)

        phi_init = experiment.phi + experiment.phi * 0.02 * np.random.randn(*experiment.phi.shape)

        estimator = em.ExpectationMaximizationEstimator(num_em_iter=1)
        estimator.learn_param(model, 'phi', phi_init)
コード例 #3
0
ファイル: test_likelihood.py プロジェクト: mwkyuen/remixt
 def evaluate_log_likelihood_partial_h(h, x, l, cn, phi):
     emission = likelihood.NegBinLikelihood()
     emission.h = h
     emission.phi = phi
     emission.r = r
     return emission._log_likelihood_partial_h(x, l, cn)