AcceleratedFailureTime#
- final class relife.lifetime_model.AcceleratedFailureTime(baseline, coefficients=(None,))[source]#
Accelerated failure time regression.
The cumulative hazard function \(H\) is linked to the multiplier function \(g\) by the relation:
\[H(t, x) = H_0\left(\dfrac{t}{g(\beta, x)}\right) = H_0(t e^{- \beta \cdot x})\]where \(x\) is a vector of covariates, \(\beta\) is the coefficient vector of the effect of covariates, \(H_0\) is the baseline cumulative hazard function [1].
- Parameters:
- baselineFittableParametricLifetimeModel
Any lifetime model that can be fitted.
- coefficientstuple of floats (values can be None), default is (None,)
Coefficients values of the covariate effects.
- Attributes:
- baselineFittableParametricLifetimeModel
The regression baseline model (lifetime model).
- covar_effect_CovarEffect
The regression covariate effect.
- fitting_resultsFittingResults, default is None
An object containing fitting results (AIC, BIC, etc.). If the model is not fitted, the value is None.
coefficientsReturns the coefficients values.
nb_paramsNumber of parameters.
paramsParameters values.
params_namesParameters names.
plotProvides access to plotting functionnalities
See also
regression.ProportionalHazardproportional hazard regression
References
[1]Kalbfleisch, J. D., & Prentice, R. L. (2011). The statistical analysis of failure time data. John Wiley & Sons.
Methods
The cumulative density function.
The cumulative hazard function.
The derivate of the hazard function.
Estimation of the distribution parameters from lifetime data.
Estimation of the distribution parameters from interval censored lifetime data.
Freeze regression covar.
Gets the inital parameters values used in before fitting.
The hazard function.
Inverse cumulative hazard function.
The inverse survival function.
The jacobian of the cumulative density function.
The jacobian of the cumulative hazard function.
The jacobian of the hazard function.
The jacobian of the probability density function.
The jacobian of the survival function.
Lebesgue-Stieltjes integration.
The mean of the distribution.
The median.
n-th order moment.
The mean residual life function.
The probability density function.
The percent point function.
Random variable sampling.
The survival function.
The variance of the distribution.
- cdf(time, covar)#
The cumulative density function.
- Parameters:
- timefloat or np.ndarray
Elapsed time value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
cdf values at each given time(s).
- chf(time, covar)[source]#
The cumulative hazard function.
- Parameters:
- timefloat or np.ndarray
Elapsed time value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
chf values at each given time(s).
- property coefficients#
Returns the coefficients values.
- Returns:
- outndarray
- dhf(time, covar)[source]#
The derivate of the hazard function.
- Parameters:
- timefloat or np.ndarray
Elapsed time value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
Function values at each given time(s).
- fit(time, model_args=None, event=None, entry=None, optimizer_options=None)#
Estimation of the distribution parameters from lifetime data.
- Parameters:
- time1d array
Observed lifetime values.
- model_argsany ndarray or tuple of ndarray, default is None
Any additional arguments required by the model.
- event1d array of bool, default is None
Boolean indicators tagging lifetime values as right censored or complete.
- entry1d array, default is None
Left truncations applied to lifetime values.
- optimizer_optionsdict, default is None
- Extra arguments used by scipy.minimize. Default values are:
method : “L-BFGS-B”
contraints : ()
tol : None
callback : None
options : None
bounds : self.params_bounds
x0 : self.init_params
- Returns:
- outthe object instance
The estimated parameters are setted inplace.
- fit_from_interval_censored_lifetimes(time_inf, time_sup, model_args=None, entry=None, optimizer_options=None)#
Estimation of the distribution parameters from interval censored lifetime data.
- Parameters:
- time_inf1d array
Observed lifetime lower bounds.
- time_sup1d array
Observed lifetime upper bounds.
- model_argsany ndarray or tuple of ndarray, default is None
Any additional arguments required by the model.
- entry1d array, default is None
Left truncations applied to lifetime values.
- optimizer_optionsdict, default is None
- Extra arguments used by scipy.minimize. Default values are:
method : “L-BFGS-B”
contraints : ()
tol : None
callback : None
options : None
bounds : self.params_bounds
x0 : self.init_params
- Returns:
- outthe object instance
The estimated parameters are setted inplace.
Notes
Where time_inf == time_sup, lifetimes are complete.
- freeze(covar)#
Freeze regression covar.
- Parameters:
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- out: frozen regression
The same object but with covar stored as object data. Calling methods from the frozen regression does not need covar.
- get_initial_params(time, event=None, model_args=None)#
Gets the inital parameters values used in before fitting.
- Parameters:
- time1d array
Observed lifetime values.
- event1d array of bool, default is None
Boolean indicators tagging lifetime values as right censored or complete. If it is not None, it will be used to select only complete lifetimes.
- model_argsany ndarray or tuple of ndarray, default is None
Any additional arguments required by the model.
- Returns:
- out1d array of float
- hf(time, covar)[source]#
The hazard function.
- Parameters:
- timefloat or np.ndarray
Elapsed time value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
hf values at each given time(s).
- ichf(cumulative_hazard_rate, covar)[source]#
Inverse cumulative hazard function.
- Parameters:
- cumulative_hazard_ratefloat or np.ndarray
Cumulative hazard rate value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
ichf values at each given cumulative hazard rate(s).
- isf(probability, covar)#
The inverse survival function.
- Parameters:
- probabilityfloat or np.ndarray
Probability value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
isf values at each given probability value(s).
- jac_cdf(time, covar)#
The jacobian of the cumulative density function.
- Parameters:
- timefloat or np.ndarray
Elapsed time value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
The derivatives with respect to each parameter. If the result is an np.ndarray, the first dimension holds the number of parameters.
- jac_chf(time, covar)[source]#
The jacobian of the cumulative hazard function.
- Parameters:
- timefloat or np.ndarray
Elapsed time value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
The derivatives with respect to each parameter. If the result is an np.ndarray, the first dimension holds the number of parameters.
- jac_hf(time, covar)[source]#
The jacobian of the hazard function.
- Parameters:
- timefloat or np.ndarray
Elapsed time value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
The derivatives with respect to each parameter. If the result is an np.ndarray, the first dimension holds the number of parameters.
- jac_pdf(time, covar)#
The jacobian of the probability density function.
- Parameters:
- timefloat or np.ndarray
Elapsed time value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
The derivatives with respect to each parameter. If the result is an np.ndarray, the first dimension holds the number of parameters.
- jac_sf(time, covar)#
The jacobian of the survival function.
- Parameters:
- timefloat or np.ndarray
Elapsed time value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
The derivatives with respect to each parameter. If the result is an np.ndarray, the first dimension holds the number of parameters.
- ls_integrate(func, a, b, covar, *, deg=10)#
Lebesgue-Stieltjes integration.
- Parameters:
- funccallable (in1 ndarray , out1 ndarray)
The callable must have only one ndarray object as argument and one ndarray object as output.
- andarray (maximum number of dimension is 2)
Lower bound(s) of integration.
- bndarray (maximum number of dimension is 2)
Upper bound(s) of integration. If lower bound(s) is infinite, use np.inf as value.
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- degint, default 10
Degree of the polynomials interpolation.
- Returns:
- outnp.ndarray
Lebesgue-Stieltjes integral of func from a to b.
- mean(covar)#
The mean of the distribution.
- Parameters:
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
- median(covar)#
The median.
- Parameters:
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
- moment(n, covar)#
n-th order moment.
- Parameters:
- nint
order of the moment, at least 1.
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64
- mrl(time, covar)#
The mean residual life function.
- Parameters:
- timefloat or np.ndarray
Elapsed time value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
Function values at each given time(s).
- property nb_coef#
Returns the number of coefficients.
- Returns:
- outint
- 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_bounds#
Parameters bounds
- 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.
- pdf(time, covar)#
The probability density function.
- Parameters:
- timefloat or np.ndarray
Elapsed time value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
pdf values at each given time(s).
- property plot#
Provides access to plotting functionnalities
- ppf(probability, covar)#
The percent point function.
- Parameters:
- probabilityfloat or np.ndarray
Probability value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
ppf values at each given probability value(s).
- rvs(size, covar, *, return_event=False, return_entry=False, seed=None)#
Random variable sampling.
- Parameters:
- sizeint or tuple (m, n) of int
Size of the generated sample.
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- return_eventbool, default is False
If True, returns event indicators along with the sample time values.
- return_entrybool, default is False
If True, returns corresponding entry values of the sample time values.
- seedoptional int, np.random.BitGenerator, np.random.Generator, np.random.RandomState, default is None
If int or BitGenerator, seed for random number generator. If np.random.RandomState or np.random.Generator, use as given.
- Returns:
- outfloat, ndarray or tuple of float or ndarray
The sample values. If either return_event or return_entry is True, returns a tuple containing the time values followed by event values, entry values or both.
- sf(time, covar)#
The survival function.
- Parameters:
- timefloat or np.ndarray
Elapsed time value(s) at which to compute the function. If ndarray, allowed shapes are (), (n,) or (m, n).
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray
sf values at each given time(s).
- var(covar)#
The variance of the distribution.
- Parameters:
- covarfloat or np.ndarray
Covariates values. float can only be valid if the regression has one coefficients. Otherwise it must be a ndarray of shape (nb_coef,) or (m, nb_coef).
- Returns:
- outnp.float64 or np.ndarray