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)
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)
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 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)
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)