WeibullAFTFitter¶
- class lifelines.fitters.weibull_aft_fitter.WeibullAFTFitter(alpha: float = 0.05, penalizer: float = 0.0, l1_ratio: float = 0.0, fit_intercept: bool = True, model_ancillary: bool = False)¶
This class implements a Weibull AFT model. The model has parameterized form, with \(\lambda(x) = \exp\left(\beta_0 + \beta_1x_1 + ... + \beta_n x_n \right)\), and optionally, \(\rho(y) = \exp\left(\alpha_0 + \alpha_1 y_1 + ... + \alpha_m y_m \right)\),
\[S(t; x, y) = \exp\left(-\left(\frac{t}{\lambda(x)}\right)^{\rho(y)}\right),\]With no covariates, the Weibull model’s parameters has the following interpretations: The \(\lambda\) (scale) parameter has an applicable interpretation: it represent the time when 37% of the population has died. The \(\rho\) (shape) parameter controls if the cumulative hazard (see below) is convex or concave, representing accelerating or decelerating hazards.
The cumulative hazard rate is
\[H(t; x, y) = \left(\frac{t}{\lambda(x)} \right)^{\rho(y)},\]After calling the
.fit
method, you have access to properties like:params_
,print_summary()
. A summary of the fit is available with the methodprint_summary()
.- Parameters:
alpha (float, optional (default=0.05)) – the level in the confidence intervals.
fit_intercept (boolean, optional (default=True)) – Allow lifelines to add an intercept column of 1s to df, and ancillary if applicable.
penalizer (float or array, optional (default=0.0)) – the penalizer coefficient to the size of the coefficients. See l1_ratio. Must be equal to or greater than 0. Alternatively, penalizer is an array equal in size to the number of parameters, with penalty coefficients for specific variables. For example, penalizer=0.01 * np.ones(p) is the same as penalizer=0.01
l1_ratio (float, optional (default=0.0)) – how much of the penalizer should be attributed to an l1 penalty (otherwise an l2 penalty). The penalty function looks like
penalizer * l1_ratio * ||w||_1 + 0.5 * penalizer * (1 - l1_ratio) * ||w||^2_2
model_ancillary (optional (default=False)) – set the model instance to always model the ancillary parameter with the supplied Dataframe. This is useful for grid-search optimization.
- params_¶
The estimated coefficients
- Type:
DataFrame
- confidence_intervals_¶
The lower and upper confidence intervals for the coefficients
- Type:
DataFrame
- durations¶
The event_observed variable provided
- Type:
Series
- event_observed¶
The event_observed variable provided
- Type:
Series
- weights¶
The event_observed variable provided
- Type:
Series
- variance_matrix_¶
The variance matrix of the coefficients
- Type:
DataFrame
- standard_errors_¶
the standard errors of the estimates
- Type:
Series
- score_¶
the concordance index of the model.
- Type:
float
- predict_expectation(df: DataFrame, ancillary: DataFrame | None = None) Series ¶
Predict the expectation of lifetimes, \(E[T | x]\).
- Parameters:
df (DataFrame) – a (n,d) DataFrame. If a DataFrame, columns can be in any order. If a numpy array, columns must be in the same order as the training data.
ancillary (DataFrame, optional) – a (n,d) DataFrame. If a DataFrame, columns can be in any order. If a numpy array, columns must be in the same order as the training data.
- Returns:
the expected lifetimes for the individuals.
- Return type:
DataFrame
See also
predict_median
,predict_percentile
- predict_percentile(df: DataFrame, *, ancillary: DataFrame | None = None, p: float = 0.5, conditional_after: array | None = None) Series ¶
Returns the median lifetimes for the individuals, by default. If the survival curve of an individual does not cross 0.5, then the result is infinity. http://stats.stackexchange.com/questions/102986/percentile-loss-functions
- Parameters:
df (DataFrame) – a (n,d) DataFrame. If a DataFrame, columns can be in any order. If a numpy array, columns must be in the same order as the training data.
ancillary (DataFrame, optional) – a (n,d) DataFrame. If a DataFrame, columns can be in any order. If a numpy array, columns must be in the same order as the training data.
p (float, optional (default=0.5)) – the percentile, must be between 0 and 1.
- Returns:
percentiles
- Return type:
DataFrame
See also
predict_median
,predict_expectation