コード例 #1
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))
コード例 #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))
コード例 #3
0
 def getAic(self, second_order=False):
     """returns Aikake Information Criteria
     
     Arguments:
         - second_order: if true, the second-order AIC is returned,
           adjusted by the alignment length"""
     if second_order:
         sequence_length = sum(len(self.getParamValue('lht', locus=l).index)
                                 for l in self.locus_names)
     else:
         sequence_length = None
     
     lnL = self.getLogLikelihood()
     nfp = self.getNumFreeParams()
     return aic(lnL, nfp, sequence_length)
コード例 #4
0
 def test_aic_corrected(self):
     """correctly compute AIC corrected for small sample size"""
     # from Burnham & Anderson 2002, p102
     self.assertFloatEqual(aic(-9.7039, 4, sample_size=13), 32.4078)
コード例 #5
0
 def test_aic(self):
     """correctly compute AIC from Burnham & Anderson 2002, p102"""
     self.assertFloatEqual(aic(-9.7039, 4), 27.4078)
コード例 #6
0
 def test_aic_corrected(self):
     """correctly compute AIC corrected for small sample size"""
     # from Burnham & Anderson 2002, p102
     self.assertFloatEqual(aic(-9.7039, 4, sample_size=13), 32.4078)
コード例 #7
0
 def test_aic(self):
     """correctly compute AIC from Burnham & Anderson 2002, p102"""
     self.assertFloatEqual(aic(-9.7039, 4), 27.4078)