These answer a different question from a plain distribution: not how long does
this last? but what changes it? Temperature, load, supplier, operating mode
— a covariate is anything you recorded alongside the failure time that might
matter.
Every model here pairs a baseline distribution with an effect type, and
it's the effect type that determines how you read the coefficients. Reliafy
reports each coefficient with a 95% interval; an interval spanning zero means
the data can't distinguish that covariate from no effect.
In Python: these are SurPyval's
regression models. Its regression modelling docs
fit them in code.
Proportional hazards (*_ph)
Covariates multiply the hazard by a constant factor at every age.
h(t | z) = h₀(t) · exp(β·z)
exp(β) is the hazard ratio: 1.5 means 50% more failure rate per unit of
that covariate, at any age. The key assumption is proportionality — the ratio
doesn't change over time. If a covariate matters more to old units than new
ones, that assumption is violated and the fit will average the two.
Accelerated failure time (*_aft)
Covariates stretch or compress the time axis, as though the clock runs faster.
t(z) = t₀ · exp(−β·z)
exp(β) is a time ratio. This is the natural frame for stress: doubling the
load doesn't just raise the instantaneous risk, it makes everything happen
sooner. It's also the model underneath accelerated life testing and
load-sharing.
Proportional odds (*_po)
Covariates multiply the odds of failure rather than the hazard.
F(t|z)/R(t|z) = exp(β·z) · F₀(t)/R₀(t)
exp(β) is an odds ratio. Useful when effects appear to converge over time
— proportional odds allows hazard ratios that shrink toward 1 with age, which
proportional hazards cannot.
Additive hazards (*_ah)
Covariates add to the hazard instead of scaling it.
h(t | z) = h₀(t) + β·z
Coefficients are read on the hazard's own scale (excess failures per unit time),
not as a ratio — which is often the more natural quantity for risk attribution.
Watch out: nothing constrains the total hazard to stay positive, so a large
negative coefficient can drive the cumulative hazard below zero and push
reliability above 1. Reliafy warns you when that happens; the fix is to choose a
different effect type rather than to trust the numbers.
Choosing between them
Start with proportional hazards — it's the convention, and the hazard ratio is
the most widely understood output. Move to AFT when the covariate is a stress
and you think in terms of accelerated clocks, to proportional odds when effects
fade with age, and to additive hazards when you want excess risk rather than a
ratio. If you only care about whether a covariate matters and not about
absolute lives, cox_ph makes the fewest assumptions of all.
Weibull PHweibull_ph
- Coefficients read as
- hazard ratio
A Weibull baseline — the usual choice, since its shape parameter already spans infant mortality, random and wear-out behaviour. Covariates act by multiplying the hazard — see proportional hazards above for how to read the coefficients (hazard ratio).
Exponential PHexponential_ph
- Coefficients read as
- hazard ratio
A constant-hazard baseline. The simplest option: all age-dependence is assumed away, so the covariates carry the entire story. Covariates act by multiplying the hazard — see proportional hazards above for how to read the coefficients (hazard ratio).
Lognormal PHlognormal_ph
- Coefficients read as
- hazard ratio
A lognormal baseline — right-skewed, with a hazard that rises then falls. Suits fatigue and degradation-driven failure. Covariates act by multiplying the hazard — see proportional hazards above for how to read the coefficients (hazard ratio).
Normal PHnormal_ph
- Coefficients read as
- hazard ratio
A Normal baseline — symmetric with a steadily rising hazard. Fits tight wear-out, but admits negative times. Covariates act by multiplying the hazard — see proportional hazards above for how to read the coefficients (hazard ratio).
Gamma PHgamma_ph
- Coefficients read as
- hazard ratio
A Gamma baseline, appropriate when failure follows an accumulation of shocks or stages. Covariates act by multiplying the hazard — see proportional hazards above for how to read the coefficients (hazard ratio).
Logistic PHlogistic_ph
- Coefficients read as
- hazard ratio
A logistic baseline — symmetric like Normal but heavier in the tails. Covariates act by multiplying the hazard — see proportional hazards above for how to read the coefficients (hazard ratio).
Gumbel PHgumbel_ph
- Coefficients read as
- hazard ratio
A smallest-extreme-value baseline — the weakest-link case, and the log-scale relative of the Weibull. Covariates act by multiplying the hazard — see proportional hazards above for how to read the coefficients (hazard ratio).
Cox PH (semi-parametric)cox_ph
- Coefficients read as
- hazard ratio
Semi-parametric. Estimates covariate effects without assuming any baseline shape — the baseline hazard is left completely unspecified and only the ratios are estimated.
Use it when you care about how much a covariate matters rather than about absolute lives: it makes the weakest assumption of anything here. The cost is that it can't give you an absolute reliability curve or an MTTF, because there's no baseline to integrate. Reach for a parametric PH model when you need those.
Weibull AFTweibull_aft
- Coefficients read as
- time ratio
A Weibull baseline — the usual choice, since its shape parameter already spans infant mortality, random and wear-out behaviour. Covariates act by scaling time to failure — see accelerated failure time above for how to read the coefficients (time ratio).
Exponential AFTexponential_aft
- Coefficients read as
- time ratio
A constant-hazard baseline. The simplest option: all age-dependence is assumed away, so the covariates carry the entire story. Covariates act by scaling time to failure — see accelerated failure time above for how to read the coefficients (time ratio).
Lognormal AFTlognormal_aft
- Coefficients read as
- time ratio
A lognormal baseline — right-skewed, with a hazard that rises then falls. Suits fatigue and degradation-driven failure. Covariates act by scaling time to failure — see accelerated failure time above for how to read the coefficients (time ratio).
Normal AFTnormal_aft
- Coefficients read as
- time ratio
A Normal baseline — symmetric with a steadily rising hazard. Fits tight wear-out, but admits negative times. Covariates act by scaling time to failure — see accelerated failure time above for how to read the coefficients (time ratio).
Gamma AFTgamma_aft
- Coefficients read as
- time ratio
A Gamma baseline, appropriate when failure follows an accumulation of shocks or stages. Covariates act by scaling time to failure — see accelerated failure time above for how to read the coefficients (time ratio).
Logistic AFTlogistic_aft
- Coefficients read as
- time ratio
A logistic baseline — symmetric like Normal but heavier in the tails. Covariates act by scaling time to failure — see accelerated failure time above for how to read the coefficients (time ratio).
Gumbel AFTgumbel_aft
- Coefficients read as
- time ratio
A smallest-extreme-value baseline — the weakest-link case, and the log-scale relative of the Weibull. Covariates act by scaling time to failure — see accelerated failure time above for how to read the coefficients (time ratio).
Weibull POweibull_po
- Coefficients read as
- odds ratio
A Weibull baseline — the usual choice, since its shape parameter already spans infant mortality, random and wear-out behaviour. Covariates act by multiplying the odds of failure — see proportional odds above for how to read the coefficients (odds ratio).
Exponential POexponential_po
- Coefficients read as
- odds ratio
A constant-hazard baseline. The simplest option: all age-dependence is assumed away, so the covariates carry the entire story. Covariates act by multiplying the odds of failure — see proportional odds above for how to read the coefficients (odds ratio).
Lognormal POlognormal_po
- Coefficients read as
- odds ratio
A lognormal baseline — right-skewed, with a hazard that rises then falls. Suits fatigue and degradation-driven failure. Covariates act by multiplying the odds of failure — see proportional odds above for how to read the coefficients (odds ratio).
Normal POnormal_po
- Coefficients read as
- odds ratio
A Normal baseline — symmetric with a steadily rising hazard. Fits tight wear-out, but admits negative times. Covariates act by multiplying the odds of failure — see proportional odds above for how to read the coefficients (odds ratio).
Gamma POgamma_po
- Coefficients read as
- odds ratio
A Gamma baseline, appropriate when failure follows an accumulation of shocks or stages. Covariates act by multiplying the odds of failure — see proportional odds above for how to read the coefficients (odds ratio).
Logistic POlogistic_po
- Coefficients read as
- odds ratio
A logistic baseline — symmetric like Normal but heavier in the tails. Covariates act by multiplying the odds of failure — see proportional odds above for how to read the coefficients (odds ratio).
Gumbel POgumbel_po
- Coefficients read as
- odds ratio
A smallest-extreme-value baseline — the weakest-link case, and the log-scale relative of the Weibull. Covariates act by multiplying the odds of failure — see proportional odds above for how to read the coefficients (odds ratio).
Weibull AHweibull_ah
A Weibull baseline — the usual choice, since its shape parameter already spans infant mortality, random and wear-out behaviour. Covariates act by adding to the hazard — see additive hazards above for how to read the coefficients (additive effect).
Exponential AHexponential_ah
A constant-hazard baseline. The simplest option: all age-dependence is assumed away, so the covariates carry the entire story. Covariates act by adding to the hazard — see additive hazards above for how to read the coefficients (additive effect).
Lognormal AHlognormal_ah
A lognormal baseline — right-skewed, with a hazard that rises then falls. Suits fatigue and degradation-driven failure. Covariates act by adding to the hazard — see additive hazards above for how to read the coefficients (additive effect).
Normal AHnormal_ah
A Normal baseline — symmetric with a steadily rising hazard. Fits tight wear-out, but admits negative times. Covariates act by adding to the hazard — see additive hazards above for how to read the coefficients (additive effect).
Gamma AHgamma_ah
A Gamma baseline, appropriate when failure follows an accumulation of shocks or stages. Covariates act by adding to the hazard — see additive hazards above for how to read the coefficients (additive effect).
Logistic AHlogistic_ah
A logistic baseline — symmetric like Normal but heavier in the tails. Covariates act by adding to the hazard — see additive hazards above for how to read the coefficients (additive effect).
Gumbel AHgumbel_ah
A smallest-extreme-value baseline — the weakest-link case, and the log-scale relative of the Weibull. Covariates act by adding to the hazard — see additive hazards above for how to read the coefficients (additive effect).
Additive hazards (Lin-Ying)additive_hazards
Semi-parametric additive hazards (Lin and Ying): covariates add to an
unspecified baseline hazard, h(t | z) = h₀(t) + β·z, the additive analogue of
cox_ph.
Each coefficient is the excess failure rate per unit of its covariate, with a
95% interval and p-value. There is no likelihood, so no AIC — judge it by how
well it ranks the units (Validation). Right-censored data only. Watch out:
nothing keeps the total hazard positive; Reliafy warns when the reliability
would rise above 1.
Proportional odds (semi-parametric)proportional_odds
- Coefficients read as
- odds ratio
Semi-parametric proportional odds: covariates multiply the odds of failure
over an unspecified baseline, the odds analogue of cox_ph. exp(β) is an
odds ratio, with intervals from the profile likelihood.
Use it when a covariate's effect fades with age. Right-censored data, with
delayed entry allowed.
Buckley-James AFTbuckley_james
- Coefficients read as
- time ratio
Semi-parametric AFT (Buckley and James): covariates scale log time, with
the error distribution left unspecified — the time-scale analogue of cox_ph.
exp(β) is a time ratio.
It has no standard errors in closed form, so the 95% intervals come from 200
bootstrap resamples (with a fixed seed, so they never change). No likelihood, so
no AIC; no hazard or density either, only the survival curve. Right-censored
data only.
Weibull PH, shared frailtyweibull_frailty
- Coefficients read as
- hazard ratio
Weibull PH with a shared frailty: every unit of a group — a site, a batch, a
customer — shares a random multiplier on its hazard, for what makes some groups
fail sooner that the covariates don't record. Choose the group column as
Group by.
Alongside the coefficients (hazard ratios, conditional on the frailty) you get
θ, the spread between groups, with a 95% profile-likelihood interval: one
that reaches 0 means the groups may not differ at all. Each group's frailty is
listed too — above 1 fails sooner than average. Right-censored data only.
Exponential PH, shared frailtyexponential_frailty
- Coefficients read as
- hazard ratio
An exponential baseline with a shared frailty over the Group by column — see
weibull_frailty for how to read θ and each group's frailty.
Lognormal PH, shared frailtylognormal_frailty
- Coefficients read as
- hazard ratio
A lognormal baseline with a shared frailty over the Group by column — see
weibull_frailty for how to read θ and each group's frailty.
Gamma PH, shared frailtygamma_frailty
- Coefficients read as
- hazard ratio
A gamma baseline (shape and rate) with a shared gamma frailty over the Group by
column — see weibull_frailty for how to read θ and each group's frailty.
Cox PH, shared frailtycox_frailty
- Coefficients read as
- hazard ratio
Cox PH with a shared frailty: the semi-parametric version, with no baseline
shape assumed. θ's 95% interval here is a Wald interval. As for cox_ph, it
gives covariate effects and the spread between groups rather than absolute
lives.