RenewalProcess#

class relife.stochastic_process.RenewalProcess(lifetime_model, first_lifetime_model=None)[source]#

Renewal process.

Parameters:
lifetime_modelany lifetime distribution or frozen lifetime model

A lifetime model representing the durations between events.

first_lifetime_modelany lifetime distribution or frozen lifetime model, optional

A lifetime model for the first renewal (delayed renewal process). It is None by default

Attributes:
lifetime_modelany lifetime distribution or frozen lifetime model

A lifetime model representing the durations between events.

first_lifetime_modelany lifetime distribution or frozen lifetime model, optional

A lifetime model for the first renewal (delayed renewal process). It is None by default

nb_params

Number of parameters.

params

Parameters values.

params_names

Parameters names.

Methods

generate_failure_data

Generate lifetime data

renewal_density

The renewal density.

renewal_function

The renewal function.

sample

Renewal data sampling.

generate_failure_data(nb_samples, time_window, seed=None)[source]#

Generate lifetime data

This function will generate lifetime data that can be used to fit a lifetime model.

Parameters:
nb_samplesint

The size of the desired sample

time_windowtuple of two floats

Time window in which failure data are sampled

seedint, optional

Random seed, by default None.

Returns:
A dict of time, event, entry and args (covariates)
property nb_params#

Number of parameters.

Returns:
int

Number of parameters.

property params#

Parameters values.

Returns:
ndarray

Parameters values

Notes

If parameter values are not set, they are encoded as np.nan value.

property params_names#

Parameters names.

Returns:
list of str

Parameters names

Notes

Parameters values can be requested (a.k.a. get) by their name at instance level.

renewal_density(tf, nb_steps)[source]#

The renewal density.

The renewal density corresponds to the derivative of the renewal function with respect to time. It is computed by solving the renewal equation:

\[\mu(t) = f_1(t) + \int_0^t \mu(t-x) \mathrm{d}F(x)\]

where:

  • \(\mu\) is the renewal function.

  • \(F\) is the cumulative distribution function of the underlying lifetime model.

  • \(f_1\) is the probability density function of the underlying lifetime model for the fist renewal in the case of a delayed renewal process.

Parameters:
tffloat

The final time.

nb_stepsint

The number of steps used to discretized the time.

Returns:
tuple of two ndarrays

A tuple containing the timeline and the computed values.

References

[1]

Rausand, M., Barros, A., & Hoyland, A. (2020). System Reliability Theory: Models, Statistical Methods, and Applications. John Wiley & Sons.

renewal_function(tf, nb_steps)[source]#

The renewal function.

The renewal function gives the expected total number of renewals. It is computed by solving the renewal equation:

\[m(t) = F_1(t) + \int_0^t m(t-x) \mathrm{d}F(x)\]

where:

  • \(m\) is the renewal function.

  • \(F\) is the cumulative distribution function of the underlying lifetime model.

  • \(F_1\) is the cumulative distribution function of the underlying lifetime model for the fist renewal in the case of a delayed renewal process.

Parameters:
tffloat

The final time.

nb_stepsint

The number of steps used to discretized the time.

Returns:
tuple of two ndarrays

A tuple containing the timeline and the computed values.

References

[1]

Rausand, M., Barros, A., & Hoyland, A. (2020). System Reliability Theory: Models, Statistical Methods, and Applications. John Wiley & Sons.

sample(nb_samples, time_window, seed=None)[source]#

Renewal data sampling.

This function will sample data and encapsulate them in an object.

Parameters:
nb_samplesint

The size of the desired sample

time_windowtuple of two floats

Time window in which data are sampled

seedint, optional

Random seed, by default None.