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')
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')
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)
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))
def setUpClass(cls): cls.fit = ModelFitter().fit('delayed-s-shaped', 'ntds', initial_approx=(1, 0.5), lsq_only=True, mts=False)
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)
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)
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)
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)
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)
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)
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)
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)
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')
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)
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)