Competing_Risks_Model¶

class
reliability.Distributions.
Competing_Risks_Model
(distributions)¶ The competing risks model is used to model the effect of multiple risks (expressed as probability distributions) that act on a system over time. The model is obtained using the product of the survival functions:
\(SF_{total} = SF_1 × SF_2 × SF_3 × ... × SF_n\)
The output API is similar to the other probability distributions (Weibull, Normal, etc.) as shown below.
Parameters: distributions (list, array) – a list or array of probability distribution objects used to construct the model Returns:  name (str) – ‘Competing risks’
 name2 (str) – ‘Competing risks using 3 distributions’. The exact name depends on the number of distributions used
 mean (float)
 variance (float)
 standard_deviation (float)
 skewness (float)
 kurtosis (float)
 excess_kurtosis (float)
 median (float)
 mode (float)
 b5 (float)
 b95 (float)
Notes
An equivalent form of this model is to sum the hazard or cumulative hazard functions which will give the same result. In this way, we see the CDF, HF, and CHF of the overall model being equal to or higher than any of the constituent distributions. Similarly, the SF of the overall model will always be equal to or lower than any of the constituent distributions. The PDF occurs earlier in time since the earlier risks cause the population to fail sooner leaving less to fail due to the later risks.
This model should be used when a data set has been divided by failure mode and each failure mode has been modelled separately. The competing risks model can then be used to recombine the constituent distributions into a single model. Unlike the mixture model, there are no proportions as the risks are competing to cause failure rather than being mixed.
As this process is multiplicative for the survival function, and may accept many distributions of different types, the mathematical formulation quickly gets complex. For this reason, the algorithm combines the models numerically rather than empirically so there are no simple formulas for many of the descriptive statistics (mean, median, etc.). Also, the accuracy of the model is dependent on xvals. If the xvals array is small (<100 values) then the answer will be ‘blocky’ and inaccurate. The variable xvals is only accepted for PDF, CDF, SF, HF, CHF. The other methods (like random samples) use the default xvals for maximum accuracy. The default number of values generated when xvals is not given is 1000. Consider this carefully when specifying xvals in order to avoid inaccuracies in the results.

CDF
(xvals=None, xmin=None, xmax=None, show_plot=True, plot_components=False, **kwargs)¶ Plots the CDF (cumulative distribution function)
Parameters:  show_plot (bool, optional) – True or False. Default = True
 plot_components (bool) – Option to plot the components of the model. True or False. Default = False.
 xvals (array, list, optional) – xvalues for plotting
 xmin (int, float, optional) – minimum xvalue for plotting
 xmax (int, float, optional) – maximum xvalue for plotting
 kwargs – Plotting keywords that are passed directly to matplotlib (e.g. color, linestyle)
Returns: yvals (array, float) – The yvalues of the plot
Notes
The plot will be shown if show_plot is True (which it is by default) and len(xvals) >= 2.
If xvals is specified, it will be used. If xvals is not specified but xmin and/or xmax are specified then an array with 200 elements will be created using these limits. If nothing is specified then the range will be based on the distribution’s parameters.

CHF
(xvals=None, xmin=None, xmax=None, show_plot=True, plot_components=False, **kwargs)¶ Plots the CHF (cumulative hazard function)
Parameters:  show_plot (bool, optional) – True or False. Default = True
 plot_components (bool) – Option to plot the components of the model. True or False. Default = False.
 xvals (array, list, optional) – xvalues for plotting
 xmin (int, float, optional) – minimum xvalue for plotting
 xmax (int, float, optional) – maximum xvalue for plotting
 kwargs – Plotting keywords that are passed directly to matplotlib (e.g. color, linestyle)
Returns: yvals (array, float) – The yvalues of the plot
Notes
The plot will be shown if show_plot is True (which it is by default) and len(xvals) >= 2.
If xvals is specified, it will be used. If xvals is not specified but xmin and/or xmax are specified then an array with 200 elements will be created using these limits. If nothing is specified then the range will be based on the distribution’s parameters.

HF
(xvals=None, xmin=None, xmax=None, show_plot=True, plot_components=False, **kwargs)¶ Plots the HF (hazard function)
Parameters:  show_plot (bool, optional) – True or False. Default = True
 plot_components (bool) – Option to plot the components of the model. True or False. Default = False.
 xvals (array, list, optional) – xvalues for plotting
 xmin (int, float, optional) – minimum xvalue for plotting
 xmax (int, float, optional) – maximum xvalue for plotting
 kwargs – Plotting keywords that are passed directly to matplotlib (e.g. color, linestyle)
Returns: yvals (array, float) – The yvalues of the plot
Notes
The plot will be shown if show_plot is True (which it is by default) and len(xvals) >= 2.
If xvals is specified, it will be used. If xvals is not specified but xmin and/or xmax are specified then an array with 200 elements will be created using these limits. If nothing is specified then the range will be based on the distribution’s parameters.

PDF
(xvals=None, xmin=None, xmax=None, show_plot=True, plot_components=False, **kwargs)¶ Plots the PDF (probability density function)
Parameters:  show_plot (bool, optional) – True or False. Default = True
 plot_components (bool) – Option to plot the components of the model. True or False. Default = False.
 xvals (array, list, optional) – xvalues for plotting
 xmin (int, float, optional) – minimum xvalue for plotting
 xmax (int, float, optional) – maximum xvalue for plotting
 kwargs – Plotting keywords that are passed directly to matplotlib (e.g. color, linestyle)
Returns: yvals (array, float) – The yvalues of the plot
Notes
The plot will be shown if show_plot is True (which it is by default) and len(xvals) >= 2.
If xvals is specified, it will be used. If xvals is not specified but xmin and/or xmax are specified then an array with 200 elements will be created using these limits. If nothing is specified then the range will be based on the distribution’s parameters.

SF
(xvals=None, xmin=None, xmax=None, show_plot=True, plot_components=False, **kwargs)¶ Plots the SF (survival function)
Parameters:  show_plot (bool, optional) – True or False. Default = True
 plot_components (bool) – Option to plot the components of the model. True or False. Default = False.
 xvals (array, list, optional) – xvalues for plotting
 xmin (int, float, optional) – minimum xvalue for plotting
 xmax (int, float, optional) – maximum xvalue for plotting
 kwargs – Plotting keywords that are passed directly to matplotlib (e.g. color, linestyle)
Returns: yvals (array, float) – The yvalues of the plot
Notes
The plot will be shown if show_plot is True (which it is by default) and len(xvals) >= 2.
If xvals is specified, it will be used. If xvals is not specified but xmin and/or xmax are specified then an array with 200 elements will be created using these limits. If nothing is specified then the range will be based on the distribution’s parameters.

inverse_SF
(q)¶ Inverse survival function calculator
Parameters: q (float, list, array) – Quantile to be calculated. Must be between 0 and 1. Returns: x (float) – The inverse of the SF at q.

mean_residual_life
(t)¶ Mean Residual Life calculator
Parameters: t (int, float) – Time (xvalue) at which mean residual life is to be evaluated Returns: MRL (float) – The mean residual life

plot
(xvals=None, xmin=None, xmax=None)¶ Plots all functions (PDF, CDF, SF, HF, CHF) and descriptive statistics in a single figure
Parameters:  xvals (list, array, optional) – xvalues for plotting
 xmin (int, float, optional) – minimum xvalue for plotting
 xmax (int, float, optional) – maximum xvalue for plotting
Returns: None
Notes
The plot will be shown. No need to use plt.show(). If xvals is specified, it will be used. If xvals is not specified but xmin and/or xmax are specified then an array with 200 elements will be created using these limits. If nothing is specified then the range will be based on the distribution’s parameters. No plotting keywords are accepted.

quantile
(q)¶ Quantile calculator
Parameters: q (float, list, array) – Quantile to be calculated. Must be between 0 and 1. Returns: x (float) – The inverse of the CDF at q. This is the probability that a random variable from the distribution is < q

random_samples
(number_of_samples, seed=None)¶ Draws random samples from the probability distribution
Parameters:  number_of_samples (int) – The number of samples to be drawn. Must be greater than 0.
 seed (int, optional) – The random seed passed to numpy. Default = None
Returns: samples (array) – The random samples
Notes
This is the same as rvs in scipy.stats

stats
()¶ Descriptive statistics of the probability distribution. These are the same as the statistics shown using .plot() but printed to the console.
Parameters: None Returns: None