示例#1
0
 def testParameterEstimation(self):
     
     mu, alpha, beta = -0.04, 2.11, 1.90
     data = [-1.1712, -2.5608, -0.7143, 2.6218, -2.0655, 0.7544, 1.208, -0.5289, 0.0045, 1.1746,
             -1.0766, 1.1198, 1.2785, -0.6051, 2.2913, -3.6672, -0.2525, 0.8782, -0.0617, -0.0239]
     
     pdf = GeneralizedNormal(1, 1, 1)
     pdf.estimate(data)
     
     self.assertAlmostEqual(pdf.mu, mu, places=2)
     self.assertAlmostEqual(pdf.alpha, alpha, places=2)
     self.assertAlmostEqual(pdf.beta, beta, places=1) 
示例#2
0
    def testParameterEstimation(self):

        mu, alpha, beta = -0.04, 2.11, 1.90
        data = [
            -1.1712, -2.5608, -0.7143, 2.6218, -2.0655, 0.7544, 1.208, -0.5289,
            0.0045, 1.1746, -1.0766, 1.1198, 1.2785, -0.6051, 2.2913, -3.6672,
            -0.2525, 0.8782, -0.0617, -0.0239
        ]

        pdf = GeneralizedNormal(1, 1, 1)
        pdf.estimate(data)

        self.assertAlmostEqual(pdf.mu, mu, places=2)
        self.assertAlmostEqual(pdf.alpha, alpha, places=2)
        self.assertAlmostEqual(pdf.beta, beta, places=1)
示例#3
0
 def testParameters(self):
 
     pdf = GeneralizedNormal(0, 1, 1)
     pdf.mu = 11
     pdf.alpha = 2
     pdf.beta = 3
     
     self.assertEqual(pdf.mu, 11)
     self.assertEqual(pdf.alpha, 2)
     self.assertEqual(pdf.beta, 3)
     self.assertEqual(pdf.beta, pdf['beta'])
     
     def propertyAssignment():
         pdf.beta = -1
     def directAssignment(p):
         pdf[p] = -1
     
     self.assertRaises(ParameterValueError, propertyAssignment)
     self.assertRaises(ParameterValueError, directAssignment, 'alpha')
     self.assertRaises(ParameterValueError, directAssignment, 'beta')        
示例#4
0
    def testLogProb(self):

        from scipy.special import gamma

        pdf = GeneralizedNormal(0, 1, 1)
        a = pdf.alpha
        b = pdf.beta

        self.assertEqual(pdf(0), b / (2 * a * gamma(1 / b)))
        self.assertAlmostEqual(pdf(1),
                               1. / (2 * gamma(1)) * numpy.exp(-1),
                               delta=1e-5)
示例#5
0
    def testParameters(self):

        pdf = GeneralizedNormal(0, 1, 1)
        pdf.mu = 11
        pdf.alpha = 2
        pdf.beta = 3

        self.assertEqual(pdf.mu, 11)
        self.assertEqual(pdf.alpha, 2)
        self.assertEqual(pdf.beta, 3)
        self.assertEqual(pdf.beta, pdf['beta'])

        def propertyAssignment():
            pdf.beta = -1

        def directAssignment(p):
            pdf[p] = -1

        self.assertRaises(ParameterValueError, propertyAssignment)
        self.assertRaises(ParameterValueError, directAssignment, 'alpha')
        self.assertRaises(ParameterValueError, directAssignment, 'beta')
    def __init__(self):

        self._pos = {}
        self._neg = {}

        self._pos['CA'] = GeneralizedNormal(0.02, 1.32, 1.1)
        self._neg['CA'] = GeneralizedNormal(-0.08, 4.23, 2.2)

        self._pos['CB'] = GeneralizedNormal(0.06, 1.32, 1.0)
        self._neg['CB'] = GeneralizedNormal(0.08, 2.41, 1.2)

        self._pos['C'] = GeneralizedNormal(0.12, 1.52, 1.4)
        self._neg['C'] = GeneralizedNormal(-0.13, 3.42, 2.1)

        self._pos['N'] = GeneralizedNormal(0.23, 4.39, 1.4)
        self._neg['N'] = GeneralizedNormal(0.17, 7.08, 1.9)

        self._pos['HA'] = GeneralizedNormal(0.00, 0.27, 1.0)
        self._neg['HA'] = GeneralizedNormal(-0.01, 0.66, 1.4)

        assert set(self._pos) == set(ChemShiftScoringModel.NUCLEI)
        assert set(self._neg) == set(ChemShiftScoringModel.NUCLEI)