コード例 #1
0
 def setUpClass(cls):
     cls.fit_ntds_go = ModelFitter().fit('goel-okumoto',
                                         'ntds',
                                         initial_approx=(1, 0.5),
                                         lsq_only=True,
                                         mt_formula='regular')
     cls.fit_mixed_ds = ModelFitter().fit('delayed-s-shaped',
                                          'mixed-waterfall-agile',
                                          initial_approx=(1, 0.5),
                                          lsq_only=True,
                                          mt_formula='regular')
     cls.fit_agile1_log = ModelFitter().fit('logistic',
                                            'agile-n1',
                                            initial_approx=(100, 0.05, 20),
                                            lsq_only=True,
                                            mt_formula='regular')
     cls.fit_ntds_ds = ModelFitter().fit('delayed-s-shaped',
                                         'ntds',
                                         initial_approx=(1, 0.5),
                                         lsq_only=True,
                                         mt_formula='regular')
     cls.fit_ntds_log = ModelFitter().fit('logistic',
                                          'ntds',
                                          initial_approx=(100, 0.05, 20),
                                          lsq_only=True,
                                          mt_formula='regular')
コード例 #2
0
 def setUpClass(cls):
     cls.go_ntds_fit = ModelFitter().fit('goel-okumoto',
                                         'ntds',
                                         lsq_only=True)
     cls.ds_ntds_fit = ModelFitter().fit('delayed-s-shaped',
                                         'ntds',
                                         lsq_only=True)
     cls.log_ntds_fit = ModelFitter().fit('logistic', 'ntds', lsq_only=True)
コード例 #3
0
 def setUpClass(cls):
     cls.fit_ntds_go = ModelFitter().fit('goel-okumoto', 'ntds', initial_approx=(1, 0.5),
                                         lsq_only=True, mt_formula='regular')
     cls.fit_ntds_ds = ModelFitter().fit('delayed-s-shaped', 'ntds', initial_approx=(1, 0.5),
                                         lsq_only=True, mt_formula='regular')
     cls.fit_ntds_log = ModelFitter().fit('logistic', 'ntds', initial_approx=(10, 0.05, 20),
                                          lsq_only=True, mt_formula='regular')
     cls.fit_ntds_bc = ModelFitter().fit('barraza-contagion', 'ntds', initial_approx=(10, 0.01),
                                         lsq_only=True, mt_formula='regular')
コード例 #4
0
 def setUpClass(cls):
     cls.fit_ds_agile1_25samples = ModelFitter().fit('delayed-s-shaped',
                                                     'agile-n1',
                                                     end_sample=25,
                                                     mts=False)
     cls.fit_log_agile1_25samples = ModelFitter().fit('logistic',
                                                      'agile-n1',
                                                      end_sample=25,
                                                      mts=False)
     cls.fit_ds_mixed_35samples = ModelFitter().fit('delayed-s-shaped',
                                                    'mixed-waterfall-agile',
                                                    end_sample=35,
                                                    mts=False)
コード例 #5
0
 def test_logistic_ttf_without_initial_approx_should_take_the_default_initial_approx(
         self):
     fit = ModelFitter().fit('logistic', 'ntds')
     a, b, c = fit.get_lsq_parameters()
     self.assertAlmostEqual(a, 24.640875, places=6)
     self.assertAlmostEqual(b, 0.040930, places=6)
     self.assertAlmostEqual(c, 76.510170, places=6)
コード例 #6
0
 def test_logistic_grouped_fpd_without_initial_approx_should_take_the_default_initial_approx(
         self):
     fit = ModelFitter().fit('logistic', 'mixed-waterfall-agile')
     a, b, c = fit.get_lsq_parameters()
     self.assertAlmostEqual(a, 835.410477, places=6)
     self.assertAlmostEqual(b, 0.030741, places=6)
     self.assertAlmostEqual(c, 75.801110, places=6)
コード例 #7
0
 def test_wrong_initial_approx(self):
     with self.assertRaises(InvalidArgumentException) as error:
         ModelFitter().fit('goel-okumoto',
                           'ntds',
                           initial_approx=('Wine', 'Beer'))
     self.assertEqual(
         error.exception.strerror,
         'Initial approximation must be a real tuple or array')
コード例 #8
0
 def setUpClass(cls):
     cls.ntds_go_fit_from_sample_10 = ModelFitter().fit(
         'goel-okumoto',
         'ntds',
         initial_sample=10,
         mts=False,
         initial_approx=(50, 0.005))
     cls.ntds_go_fit_from_sample_0 = ModelFitter().fit('goel-okumoto',
                                                       'ntds',
                                                       initial_sample=0,
                                                       mts=False)
     cls.mixed_ds_fit_from_sample_40 = ModelFitter().fit(
         'delayed-s-shaped',
         'mixed-waterfall-agile',
         initial_sample=40,
         mts=False)
     cls.mixed_ds_fit_from_sample_0 = ModelFitter().fit(
         'delayed-s-shaped',
         'mixed-waterfall-agile',
         initial_sample=0,
         mts=False)
コード例 #9
0
 def setUpClass(cls):
     cls.ttf_fit_ds = ModelFitter().fit('delayed-s-shaped',
                                        'ntds',
                                        t0=5,
                                        mts=False)
     cls.fpd_fit_ds = ModelFitter().fit('delayed-s-shaped',
                                        'mixed-waterfall-agile',
                                        t0=5,
                                        mts=False)
     cls.ttf_fit_go = ModelFitter().fit('goel-okumoto',
                                        'ntds',
                                        t0=5,
                                        mts=False)
     cls.fpd_fit_go = ModelFitter().fit('goel-okumoto',
                                        'mixed-waterfall-agile',
                                        t0=5,
                                        mts=False)
     cls.ttf_fit_log = ModelFitter().fit('logistic',
                                         'ntds',
                                         t0=5,
                                         mts=False)
     cls.fpd_fit_log = ModelFitter().fit('logistic',
                                         'mixed-waterfall-agile',
                                         t0=5,
                                         mts=False,
                                         initial_approx=(1000, 0.001, 100))
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('goel-okumoto',
                                 'mixed-waterfall-agile',
                                 initial_approx=(1, 0.5),
                                 lsq_only=True,
                                 mts=False)
コード例 #11
0
from src.domain.fitters.model_fitter import ModelFitter

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('barraza-contagion', 'agile-n3')
fit.show_results(plot_mttf=True, plot_mtbf=True)
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('poisson',
                                 'mixed-waterfall-agile',
                                 initial_approx=0.5,
                                 lsq_only=True,
                                 mts=False)
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('goel-okumoto',
                                 'ntds',
                                 initial_approx=(1, 0.5),
                                 lsq_only=True,
                                 mts=False)
コード例 #14
0
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('delayed-s-shaped',
                                 'mixed-waterfall-agile',
                                 initial_approx=(1, 0.5),
                                 mts=False)
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('barraza-contagion', 'mixed-waterfall-agile', initial_approx=(1, 0.5),
                                 lsq_only=True, mts=False)
コード例 #16
0
 def test_negative_end_sample(self):
     with self.assertRaises(InvalidArgumentException) as error:
         ModelFitter().fit('goel-okumoto', 'ntds', end_sample=-2)
     self.assertEqual(error.exception.strerror,
                      'The end sample must be a positive integer')
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('gompertz',
                                 'ntds',
                                 initial_approx=(25, 0.5, 0.9),
                                 mts=False)
コード例 #18
0
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('delayed-s-shaped',
                                 'ntds',
                                 initial_approx=(1, 0.5),
                                 lsq_only=True,
                                 mts=False)
コード例 #19
0
from src.domain.fitters.model_fitter import ModelFitter

fitter = ModelFitter()
fit = fitter.fit('goel-okumoto', 'mixed-waterfall-agile')
fit.show_results(plot_mttf=True, plot_mtbf=True)
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('logistic',
                                 'ntds',
                                 initial_approx=(10, 0.05, 20),
                                 mts=False)
コード例 #21
0
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('gompertz',
                                 'mixed-waterfall-agile',
                                 initial_approx=(25, 0.5, 0.5),
                                 mts=False)
コード例 #22
0
 def test_negative_t0(self):
     with self.assertRaises(InvalidArgumentException) as error:
         ModelFitter().fit('goel-okumoto', 'ntds', t0=-2)
     self.assertEqual(error.exception.strerror,
                      'Initial condition t0 must be a positive number')
コード例 #23
0
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('musa-okumoto',
                                 'mixed-waterfall-agile',
                                 initial_approx=(1, 0.5),
                                 mts=False)
コード例 #24
0
 def test_wrong_project_name(self):
     with self.assertRaises(InvalidArgumentException) as error:
         ModelFitter().fit('goel-okumoto', 'waterfall-x')
     self.assertEqual(error.exception.strerror,
                      'The requested project is not on the repository')
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('musa-okumoto', 'ntds', initial_approx=(1, 0.5), mts=False)
コード例 #26
0
 def setUpClass(cls):
     cls.fit_ntds_bc = ModelFitter().fit('barraza-contagion',
                                         'ntds',
                                         initial_approx=(10, 0.01),
                                         lsq_only=True,
                                         mt_formula='conditional')
コード例 #27
0
from src.domain.fitters.model_fitter import ModelFitter

fpd_fitter = ModelFitter()

ds_fit_151 = fpd_fitter.fit('delayed-s-shaped',
                            'agile-n2',
                            end_sample=4,
                            initial_approx=(100, 0.001))
log_fit_151 = fpd_fitter.fit('logistic',
                             'agile-n2',
                             end_sample=4,
                             initial_approx=(8000, 0.003, 1))
bc_fit_151 = fpd_fitter.fit('barraza-contagion', 'agile-n2', end_sample=4)

ds_fit_248 = fpd_fitter.fit('delayed-s-shaped',
                            'agile-n2',
                            end_sample=5,
                            initial_approx=(500, 0.002))
#log_fit_248 = fpd_fitter.fit('logistic', 'agile-n2', end_sample=5, initial_approx=(8000, 0.003, 1))
bc_fit_248 = fpd_fitter.fit('barraza-contagion', 'agile-n2', end_sample=5)

ds_fit_480 = fpd_fitter.fit('delayed-s-shaped',
                            'agile-n2',
                            end_sample=6,
                            initial_approx=(100, 0.001))
log_fit_480 = fpd_fitter.fit('logistic',
                             'agile-n2',
                             end_sample=6,
                             initial_approx=(8000, 0.003, 1))
bc_fit_480 = fpd_fitter.fit('barraza-contagion', 'agile-n2', end_sample=6)
コード例 #28
0
 def test_wrong_model(self):
     with self.assertRaises(InvalidArgumentException) as error:
         ModelFitter().fit('hiroshima-nagasaki', 'ntds')
     self.assertEqual(error.exception.strerror,
                      'The requested model does not exist')
コード例 #29
0
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('logistic', 'mixed-waterfall-agile', initial_approx=(800, 0.03, 75), mts=False)
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('poisson',
                                 'ntds',
                                 initial_approx=0.5,
                                 lsq_only=True,
                                 mts=False)