from src.domain.fitters.model_fitter import ModelFitter

fpd_fitter = ModelFitter()
fit = fpd_fitter.fit('barraza-contagion', 'agile-n2')
fit.show_results()
예제 #2
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)
예제 #3
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)
예제 #4
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)
예제 #5
0
          label='Datos reales (Proyecto Mixto Cascada/Ágil)')
axes.plot(x_axis_data, ds.calculate_mean_failure_numbers(x_axis_data, ds_ml_a, ds_ml_b),
          linewidth=1, color='#ca3e47', linestyle='-', label='Delayed S-Shaped')
axes.plot(x_axis_data, log.calculate_mean_failure_numbers(x_axis_data, log_ml_a, log_ml_b, log_ml_c),
          linewidth=1, color='#58b368', linestyle='-', label='Logístico')
axes.legend()

plt.show()

'''

#ds_fit_50 = fpd_fitter.fit('delayed-s-shaped', 'mixed-waterfall-agile', end_sample=50, initial_approx=(20, 0.002))
#log_fit_50 = fpd_fitter.fit('logistic', 'mixed-waterfall-agile', end_sample=50, initial_approx=(1000, 0.00001, 10))

#ds_fit_60 = fpd_fitter.fit('delayed-s-shaped', 'mixed-waterfall-agile', end_sample=60, initial_approx=(20, 0.002))
#log_fit_60 = fpd_fitter.fit('logistic', 'mixed-waterfall-agile', end_sample=60, initial_approx=(1000, 0.00001, 100))

#ds_fit_70 = fpd_fitter.fit('delayed-s-shaped', 'mixed-waterfall-agile', end_sample=70, initial_approx=(10, 0.01))
#log_fit_70 = fpd_fitter.fit('logistic', 'mixed-waterfall-agile', end_sample=70, initial_approx=(1000, 0.00001, 100))

ds_fit_90 = fpd_fitter.fit('delayed-s-shaped',
                           'mixed-waterfall-agile',
                           end_sample=90,
                           initial_approx=(10, 0.01))
log_fit_70 = fpd_fitter.fit('logistic',
                            'mixed-waterfall-agile',
                            end_sample=90,
                            initial_approx=(1000, 0.00001, 100))

a = 2
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

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('musa-okumoto', 'ntds')
fit.show_results(plot_mttf=True, plot_mtbf=True)
예제 #8
0
axes.set_facecolor("#ffffff")
axes.grid(color='black', linestyle='--', linewidth=0.5)
axes.plot(x_axis_data, cumulative_failures, linewidth=1, color='#263859', linestyle='--',
          label='Datos reales (Proyecto Ágil #2)')
axes.plot(x_axis_data, ds.calculate_mean_failure_numbers(x_axis_data, ds_ml_a, ds_ml_b),
          linewidth=1, color='#ca3e47', linestyle='-', label='Delayed S-Shaped')
axes.plot(x_axis_data, log.calculate_mean_failure_numbers(x_axis_data, log_ml_a, log_ml_b, log_ml_c),
          linewidth=1, color='#58b368', linestyle='-', label='Logístico')
axes.legend()

plt.show()

'''

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

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

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

#ds_fit_690 = fpd_fitter.fit('delayed-s-shaped', 'agile-n2', end_sample=10, initial_approx=(500, 0.002))
#log_fit_690 = fpd_fitter.fit('logistic', 'agile-n2', end_sample=10, initial_approx=(8000, 0.003, 0.001))

a = 2
from src.domain.fitters.model_fitter import ModelFitter

fitter = ModelFitter()
fit = fitter.fit('poisson', 'mixed-waterfall-agile')
fit.show_results(plot_mttf=True, plot_mtbf=True)
예제 #10
0
from src.domain.fitters.model_fitter import ModelFitter

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('poisson', 'agile-n1')
fit.show_results(plot_mttf=True, plot_mtbf=True)
예제 #11
0
from src.domain.fitters.model_fitter import ModelFitter

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('gompertz', 'agile-n1')
fit.show_results()
from src.domain.fitters.model_fitter import ModelFitter

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('barraza-contagion', 'agile-n1', mt_formula='conditional')
fit.show_results(plot_mttf=True, plot_mtbf=True)
from src.domain.fitters.model_fitter import ModelFitter

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

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('logistic', 'ntds')
fit.show_results(plot_mttf=True, plot_mtbf=True)
예제 #15
0
from src.domain.fitters.model_fitter import ModelFitter

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('delayed-s-shaped',
                     'agile-n4',
                     initial_approx=(100, 0.001))
fit.show_results(plot_mttf=True, plot_mtbf=True)
예제 #16
0
from src.domain.models.barraza_contagion.barraza_contagion_estimator import BarrazaContagionEstimator
import numpy as np

import matplotlib
from matplotlib import pyplot as plt
matplotlib.rcParams['pdf.fonttype'] = 42
matplotlib.rcParams['ps.fonttype'] = 42

bc = BarrazaContagionEstimator()

ntds = DataRepository.provide_project_data('ntds')
ntds_times = ntds.get_times()
ntds_cf = ntds.get_cumulative_failures()

ttf_fitter = ModelFitter()
ntds_fit = ttf_fitter.fit('barraza-contagion', 'ntds')

a_bc, b_bc = ntds_fit.get_lsq_parameters()
mean_values_bc = bc.calculate_mean_failure_numbers(ntds_times, a_bc, b_bc)
coef_r2 = np.var(mean_values_bc) / np.var(ntds_cf)

print("rho: ", a_bc)
print("gamma: ", b_bc * a_bc)
print("gamma/rho: ", b_bc)
print("r2: ", coef_r2)

plt.style.use('bmh')

fig, axes = plt.subplots(figsize=(8, 5))
axes.set_xlabel('Time (days)')
axes.set_ylabel('Number of failures')
import numpy as np

from src.data.data_repository import DataRepository
from src.domain.fitters.model_fitter import ModelFitter
from matplotlib import pyplot as plt
from matplotlib import rc
import matplotlib.font_manager

rc('font', **{'family': 'serif', 'serif': ['CMU Sans Serif']})
plt.rcParams['font.family'] = 'Calibri'

ttf_fitter = ModelFitter()
ds_fit = ttf_fitter.fit('delayed-s-shaped',
                        'agile-n4',
                        initial_approx=(100, 0.001),
                        lsq_only=True,
                        mt_formula='regular')
log_fit = ttf_fitter.fit('logistic',
                         'agile-n4',
                         initial_approx=(30, 0.03, 300),
                         lsq_only=True,
                         mt_formula='regular')
bc_fit = ttf_fitter.fit('barraza-contagion',
                        'agile-n4',
                        lsq_only=True,
                        mt_formula='conditional')

data = DataRepository.provide_project_data('agile-n4')
real_tbf = data.get_time_between_failures()
x_axis_data = np.linspace(1, len(real_tbf), len(real_tbf))
from src.domain.fitters.model_fitter import ModelFitter

ttf_fitter = ModelFitter()
fit = ttf_fitter.fit('delayed-s-shaped', 'agile-n1', end_sample=20)

fit.show_results()
예제 #19
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)
from src.domain.fitters.model_fitter import ModelFitter

fpd_fitter = ModelFitter()
fit = fpd_fitter.fit('delayed-s-shaped', 'agile-n2', initial_approx=(10, 0.01))
fit.show_results(plot_mttf=True, plot_mtbf=True)
예제 #21
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)
예제 #22
0
from src.domain.fitters.model_fitter import ModelFitter

ttf_fitter = ModelFitter()

#fit_go_10 = ttf_fitter.fit('goel-okumoto', 'ntds', end_sample=9, lsq_only=True)
#fit_ds_10 = ttf_fitter.fit('delayed-s-shaped', 'ntds', end_sample=9, lsq_only=True)
#fit_log_10 = ttf_fitter.fit('logistic', 'ntds', end_sample=9, lsq_only=True)
#fit_bc_10 = ttf_fitter.fit('barraza-contagion', 'ntds', end_sample=9, lsq_only=True)

#fit_go_20 = ttf_fitter.fit('goel-okumoto', 'ntds', end_sample=14, lsq_only=True)
#fit_ds_20 = ttf_fitter.fit('delayed-s-shaped', 'ntds', end_sample=14, lsq_only=True)
#fit_log_20 = ttf_fitter.fit('logistic', 'ntds', end_sample=14, lsq_only=True)
fit_bc_20 = ttf_fitter.fit('barraza-contagion', 'ntds', end_sample=14, lsq_only=True)

a=2
예제 #23
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)
예제 #24
0
import numpy as np

from src.data.data_repository import DataRepository
from src.domain.fitters.model_fitter import ModelFitter
from matplotlib import pyplot as plt
from matplotlib import rc
import matplotlib.font_manager

rc('font', **{'family': 'serif', 'serif': ['CMU Sans Serif']})
plt.rcParams['pdf.fonttype'] = 42

ttf_fitter = ModelFitter()
ds_fit = ttf_fitter.fit('delayed-s-shaped',
                        'agile-n4',
                        initial_approx=(100, 0.001))
log_fit = ttf_fitter.fit('logistic',
                         'agile-n4',
                         initial_approx=(30, 0.03, 300))
bc_fit = ttf_fitter.fit('barraza-contagion', 'agile-n4')

data = DataRepository.provide_project_data('agile-n4')
real_tbf = data.get_time_between_failures()
x_axis_data = np.linspace(1, len(real_tbf), len(real_tbf))

ds_mtbf = ds_fit.get_all_mtbf()
log_mtbf = log_fit.get_all_mtbf()
bc_mtbf = bc_fit.get_all_mtbf()

fig, axes = plt.subplots()
axes.set_xlabel('Número de falla')
axes.set_ylabel('Tiempo medio entre fallas')
예제 #25
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)
from src.domain.fitters.model_fitter import ModelFitter

fpd_fitter = ModelFitter()

#fit_go_50 = fpd_fitter.fit('goel-okumoto', 'mixed-waterfall-agile', end_sample=49, lsq_only=True)
#fit_bc_50 = fpd_fitter.fit('barraza-contagion', 'mixed-waterfall-agile', end_sample=49, lsq_only=True)

#fit_go_60 = fpd_fitter.fit('goel-okumoto', 'mixed-waterfall-agile', end_sample=59, lsq_only=True)
#fit_bc_60 = fpd_fitter.fit('barraza-contagion', 'mixed-waterfall-agile', end_sample=59, lsq_only=True)

#fit_go_70 = fpd_fitter.fit('goel-okumoto', 'mixed-waterfall-agile', end_sample=69, lsq_only=True)
#fit_bc_70 = fpd_fitter.fit('barraza-contagion', 'mixed-waterfall-agile', end_sample=69, lsq_only=True)

#fit_go_90 = fpd_fitter.fit('goel-okumoto', 'mixed-waterfall-agile', end_sample=89, lsq_only=True)
fit_bc_90 = fpd_fitter.fit('barraza-contagion', 'mixed-waterfall-agile', end_sample=89, lsq_only=True)
fit_log_90 = fpd_fitter.fit('logistic', 'mixed-waterfall-agile', end_sample=89, lsq_only=True)


a=2
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
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
from matplotlib import pyplot as plt

ttf_fitter = ModelFitter()

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

ds = DelayedSShapedEstimator()
log = LogisticEstimator()

ds_fit = ttf_fitter.fit('delayed-s-shaped', 'agile-n1')
log_fit = ttf_fitter.fit('logistic', 'agile-n1')

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")
예제 #29
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)
예제 #30
0
from src.domain.fitters.model_fitter import ModelFitter

fpd_fitter = ModelFitter()
fit = fpd_fitter.fit('barraza-contagion', 'mixed-waterfall-agile')
fit.show_results()