Ejemplo n.º 1
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)
 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')
Ejemplo n.º 3
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)
 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)
 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')
Ejemplo n.º 6
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)
Ejemplo n.º 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')
 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)
 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))
Ejemplo n.º 10
0
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('delayed-s-shaped',
                                 'ntds',
                                 initial_approx=(1, 0.5),
                                 lsq_only=True,
                                 mts=False)
Ejemplo n.º 11
0
from src.domain.fitters.model_fitter import ModelFitter

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('logistic', 'agile-n3', initial_approx=(30, 0.03, 300))
fit.show_results(plot_mttf=True, plot_mtbf=True)
Ejemplo n.º 12
0
from src.domain.fitters.model_fitter import ModelFitter

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('delayed-s-shaped', 'agile-n1')
fit.show_results(plot_mttf=True, plot_mtbf=True)
Ejemplo n.º 13
0
from src.domain.fitters.model_fitter import ModelFitter

fitter = ModelFitter()
fit = fitter.fit('delayed-s-shaped', 'mixed-waterfall-agile')
fit.show_results(plot_mttf=True, plot_mtbf=True)
from src.domain.fitters.model_fitter import ModelFitter

fitter = ModelFitter()
fit = fitter.fit('gompertz', 'mixed-waterfall-agile')
fit.show_results(plot_mttf=True, plot_mtbf=True)
Ejemplo n.º 15
0
from src.domain.fitters.model_fitter import ModelFitter

fitter = ModelFitter()
fit = fitter.fit('logistic',
                 'mixed-waterfall-agile',
                 initial_approx=(1000, 0.001, 100))
fit.show_results(plot_mttf=True, plot_mtbf=True)
Ejemplo n.º 16
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('barraza-contagion', 'mixed-waterfall-agile', initial_approx=(1, 0.5),
                                 lsq_only=True, mts=False)
Ejemplo n.º 18
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('gompertz',
                                 'ntds',
                                 initial_approx=(25, 0.5, 0.9),
                                 mts=False)
from src.domain.fitters.model_fitter import ModelFitter

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('musa-okumoto', 'ntds')
fit.show_results(plot_mttf=True, plot_mtbf=True)
Ejemplo n.º 21
0
from src.domain.fitters.model_fitter import ModelFitter

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('delayed-s-shaped', 'ntds')
fit.show_results(plot_mttf=True, plot_mtbf=True)
Ejemplo n.º 22
0
from src.data.data_repository import DataRepository
from src.domain.models.delayed_s_shaped.delayed_s_shaped_estimator import DelayedSShapedEstimator
from src.domain.models.logistic.logistic_estimator import LogisticEstimator
from src.domain.fitters.model_fitter import ModelFitter

fpd_fitter = ModelFitter()

data = DataRepository.provide_project_data('mixed-waterfall-agile')
x_axis_data = data.get_formated_times()
cumulative_failures = data.get_cumulative_failures()

ds = DelayedSShapedEstimator()
log = LogisticEstimator()
'''

ds_fit = fpd_fitter.fit('delayed-s-shaped', 'mixed-waterfall-agile')
log_fit = fpd_fitter.fit('logistic', 'mixed-waterfall-agile')

ds_lsq_a = ds_fit.get_lsq_parameters()[0]
ds_lsq_b = ds_fit.get_lsq_parameters()[1]

log_lsq_a = log_fit.get_lsq_parameters()[0]
log_lsq_b = log_fit.get_lsq_parameters()[1]
log_lsq_c = log_fit.get_lsq_parameters()[2]

fig, axes = plt.subplots()
axes.set_xlabel('Tiempo (días)')
axes.set_ylabel('Numero esperado de fallas')
axes.set_xlim(left=0, auto=True)
axes.set_ylim(auto=True)
axes.patch.set_facecolor("#ffffff")
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)
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('poisson',
                                 'ntds',
                                 initial_approx=0.5,
                                 lsq_only=True,
                                 mts=False)
Ejemplo n.º 25
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_ntds_bc = ModelFitter().fit('barraza-contagion',
                                         'ntds',
                                         initial_approx=(10, 0.01),
                                         lsq_only=True,
                                         mt_formula='conditional')
Ejemplo n.º 27
0
from src.domain.fitters.model_fitter import ModelFitter

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('goel-okumoto', 'agile-n3', initial_approx=(20, 0.5))
fit.show_results(plot_mttf=True, plot_mtbf=True)
 def setUpClass(cls):
     cls.fit = ModelFitter().fit('goel-okumoto',
                                 'mixed-waterfall-agile',
                                 initial_approx=(1, 0.5),
                                 lsq_only=True,
                                 mts=False)
Ejemplo n.º 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('goel-okumoto',
                                 'ntds',
                                 initial_approx=(1, 0.5),
                                 lsq_only=True,
                                 mts=False)