Plot CI bounds with Fit_Weibull_Mixture

37 Views Asked by At

I'm trying to plot de confidence intervals alogside with de Survival Function from a Mixture Weibull distribuiton (2P), using the reliability lib.

I can do this in a simple Weibull 2P plot, as below (in fact this came as default)

from reliability.Distributions import Weibull_Distribution
from reliability.Fitters import Fit_Weibull_2P
from reliability.Probability_plotting import plot_points
import matplotlib.pyplot as plt

#------------------------------------------------------------------------------------------------------------------------------------------------------------------

susp=[530213, 429696, 1237389, 976827, 13566, 449451, 1168518, 1237906, 1237906, 1302702, 448744, 505379, 533250, 427672, 75978, 299470, 1090365, 1150590, 1209524, 589713, 35293, 611476, 81215, 179816, 674954, 292438, 649074, 1146330, 1271693, 64669, 725744, 1186442, 655467]
fail=[530213, 546830, 106082, 1147489, 916912, 56448, 1197406, 1353536, 420955, 99965, 45266, 326442, 626481, 114053, 332522, 739728, 38524, 984763, 67640, 496806]

#------------------------------------------------------------------------------------------------------------------------------------------------------------------

plt.subplot(211)
weibull_fit = Fit_Weibull_2P(failures=fail,right_censored=susp,print_results=False)

#------------------------------------------------------------------------------------------------------------------------------------------------------------------

plt.subplot(212)
weibull_fit.distribution.SF(label='Confiabilidade',color='steelblue')
plot_points(failures=fail,right_censored=susp,func='SF',label='Falhas',color='red')
plt.legend()

#------------------------------------------------------------------------------------------------------------------------------------------------------------------

plt.subplots_adjust(hspace=0.5, wspace=0.2, top=0.95, bottom=0.1, left=0.08, right=0.98)
plt.show()

Simple Weibull 2P, Probability and Surrvival Function

But when using the Fit_Weibull_Mixture I can't find the right syntax or plt function to plot de CI bounds.

from reliability.Distributions import Weibull_Distribution, Mixture_Model
from reliability.Fitters import Fit_Weibull_Mixture, Fit_Weibull_2P
from reliability.Probability_plotting import plot_points
from matplotlib.pyplot import figure
import matplotlib.pyplot as plt

#------------------------------------------------------------------------------------------------------------------------------------------------------------------

susp=[530213, 429696, 1237389, 976827, 13566, 449451, 1168518, 1237906, 1237906, 1302702, 448744, 505379, 533250, 427672, 75978, 299470, 1090365, 1150590, 1209524, 589713, 35293, 611476, 81215, 179816, 674954, 292438, 649074, 1146330, 1271693, 64669, 725744, 1186442, 655467]

fail=[530213, 546830, 106082, 1147489, 916912, 56448, 1197406, 1353536, 420955, 99965, 45266, 326442, 626481, 114053, 332522, 739728, 38524, 984763, 67640, 496806]


suspY=['0.001'] * len(susp)

plt.figure(figsize=(10,9),dpi=300)
#------------------------------------------------------------------------------------------------------------------------------------------------------------------

plt.subplot(2,1,1)
h=Fit_Weibull_Mixture(right_censored=susp, failures=fail, print_results=False, color='#118DFF')
plt.grid(which='both', linestyle=':',snap=True)
plt.scatter(x=susp, y=suspY,s=15,marker=">",color='#44F93D',label=False)

#------------------------------------------------------------------------------------------------------------------------------------------------------------------

plt.subplot(2,1,2)
h.distribution.SF(label='Confiabilidade',color='#118DFF')
plt.scatter(x=susp, y=suspY,s=15,marker=">",color='#44F93D',label='Suspensões')
plt.yscale('linear')
plt.grid(linestyle=':',snap=True)
plot_points(failures=fail,right_censored=susp,func='SF',label='Falhas',color='#118DFF',alpha=0.4)
plt.ylim(-0.012,1)
plt.xlim(left=0)
plt.plot([1600000, 1600000], [0, 1], lw=1, label='Preventiva', color='orange')
plt.legend()

#------------------------------------------------------------------------------------------------------------------------------------------------------------------

plt.subplots_adjust(hspace=0.32, wspace=0.2, top=0.95, bottom=0.1, left=0.08, right=0.98)

plt.show()

Mixture Weibull 2P with 2 subpopulations, Probability and Surrvival Function

Any thoughts on this?

0

There are 0 best solutions below