def getBic(self):
     """returns the Bayesian Information Criteria"""
     sequence_length = sum(len(self.getParamValue('lht', locus=l).index)
                             for l in self.locus_names)
     lnL = self.getLogLikelihood()
     nfp = self.getNumFreeParams()
     return bic(lnL, nfp, sequence_length)
示例#2
0
    def test_information_criteria(self):
        """test get information criteria from a model."""
        lf = self._makeLikelihoodFunction()
        nfp = lf.getNumFreeParams()
        lnL = lf.getLogLikelihood()
        l = len(self.data)
        self.assertFloatEqual(lf.getAic(), aic(lnL, nfp))
        self.assertFloatEqual(lf.getAic(second_order=True), aic(lnL, nfp, l))

        self.assertFloatEqual(lf.getBic(), bic(lnL, nfp, l))
 def test_information_criteria(self):
     """test get information criteria from a model."""
     lf = self._makeLikelihoodFunction()
     nfp = lf.getNumFreeParams()
     lnL = lf.getLogLikelihood()
     l = len(self.data)
     self.assertFloatEqual(lf.getAic(), aic(lnL, nfp))
     self.assertFloatEqual(lf.getAic(second_order=True),
         aic(lnL, nfp, l))
     
     self.assertFloatEqual(lf.getBic(), bic(lnL, nfp, l))
 def test_bic(self):
     """correctly compute BIC"""
     # against hand calculated
     self.assertFloatEqual(bic(-9.7039, 4, 13), 29.6675974298)
示例#5
0
 def test_bic(self):
     """correctly compute BIC"""
     # against hand calculated
     self.assertFloatEqual(bic(-9.7039, 4, 13), 29.6675974298)