Cycle transition probability from the rise in cumulative hazard across a cycle

Gives the probability that a person event free at the start of a model cycle has the event by its end, from the cumulative hazard at the end of the cycle and at its start. Because survival is exp(minus H), the ratio S(t) / S(t minus Delta) is exp of minus the rise in H, so the conversion is exact for any hazard shape and the cohort trace reproduces the fitted curve. Time t runs from the origin of the fitted curve, so in a cohort model it is the time since model start at the cycle's end. With a constant hazard it reduces to HE-FM-TP-001.

Signature

p_t = 1 - exp(-(H_t - H_prev))
Inputs
InputsDefinitionUnit
H_tCumulative hazard of the fitted curve at the end of the cycle, time tnone
H_prevCumulative hazard of the same curve at the start of the cycle, time t minus Delta, not above H_t; zero for the first cyclenone
Output
p_tProbability of the event during the cycle ending at time t for a person event free at the cycle's startprobability

Function

Cumulative hazard function linking the hazard, survival and cycle probabilities

Maps a hazard function over follow-up to its running total from the time origin, the cumulative hazard H(t). Survival is the exponential of minus H(t), so H(t) can be read off a survival curve and turned back into survival, and the rise in H(t) across a model cycle gives the probability of the event in that cycle for people event free at its start. On the log scale a Weibull cumulative hazard is a straight line in log time, which is the basis of the log-cumulative hazard plot. The notation follows the Cumulative Hazard article.

Computational function

  • Computational function: Markov cycle probabilities and survival trace from a Weibull cumulative hazard

    Takes the parameters of a fitted Weibull curve written as H(t) = lambda t^gamma, the model's cycle length and number of cycles, and an optional hazard ratio, and returns for every cycle the cumulative hazard at its end, survival, the cumulative hazard increment, the control cycle probability (HE-FM-CUMH-002) and the treated probability under proportional hazards (as HE-FM-HR-004). The inputs differ from the formula's: it builds the whole column of H values from two curve parameters before converting each increment.

    Inputs and outputs: lambda: Weibull scale in the TSD 21 form lambda t^gamma; required, above zero. Unit: per year^gamma.; gamma: Weibull shape; required, above zero. Unit: none.; Delta: Cycle length in the curve's time unit; required, above zero. Unit: years.; n_cyc: Number of cycles; required, positive integer.; HR: Hazard ratio applied to the control curve; optional, default 1. Unit: ratio.; H_k, S_k: Cumulative hazard and survival at the end of cycle k.; dH_k: Cumulative hazard increment in cycle k.; p_k, p_T_k: Control and treated cycle probabilities. Unit: probability.

    Assumption: The Weibull curve holds over the whole horizon in the TSD 21 parameterisation, the event is the only exit from the state, time runs from model start, and the hazard ratio is constant and comes from the same parametric model fitted with treatment as a covariate.

    Worked example (Article's curve H(t) = 0.10 t^1.5 with six annual cycles): Cycle probabilities rise from 0.0952 to 0.2965, the trace ends at the fitted year 6 survival of 0.2300, and with a hazard ratio of 0.70 the treated year 3 probability is about 0.1527, as in the article. lambda = 0.1; gamma = 1.5; Delta = 1; n_cyc = 6; HR = 0.7; p_k = [0.0952, 0.1671, 0.2108, 0.2445, 0.2724, 0.2965]; S_6 = 0.2300; p_T_3 = 0.1527

    Worked example (Same curve with half-year cycles): Twelve cycles of 0.5 years give a first-cycle probability of about 0.0347 and a last of about 0.1646, and survival at year 6 is still 0.2300, because the cumulative hazard at shared time points does not depend on the cycle length (computed here for illustration). lambda = 0.1; gamma = 1.5; Delta = 0.5; n_cyc = 12; HR = 1; p_1 = 0.0347; p_12 = 0.1646; S_12 = 0.2300

    Excel: With Lambda, Gamma and CycleLen named and cycle numbers 0, 1, 2 and so on in column A from A2, =Lambda*(A2*CycleLen)^Gamma in B2 filled down gives H, =EXP(-B2) in C2 gives survival, =1-EXP(-(B3-B2)) in D3 gives the control probability and =1-EXP(-HazardRatio*(B3-B2)) in E3 the treated probability.

    R: cumhaz_cycles <- function(lambda, gamma, Delta, n_cyc, HR = 1) { t <- (0:n_cyc)*Delta; H <- lambda*t^gamma; dH <- diff(H); list(H = H[-1], S = exp(-H[-1]), dH = dH, p = 1-exp(-dH), p_T = 1-exp(-HR*dH)) } Returns p of 0.095163, 0.167101, 0.210829, 0.244507, 0.272422 and 0.296481 and a final S of 0.229996 for the first example.

    Python: def cumhaz_cycles(lam, gam, Delta, n_cyc, HR=1): import math; H = [lam*(k*Delta)**gam for k in range(n_cyc+1)]; dH = [H[k]-H[k-1] for k in range(1, n_cyc+1)]; return {"H": H[1:], "S": [math.exp(-h) for h in H[1:]], "p": [1-math.exp(-d) for d in dH], "p_T": [1-math.exp(-HR*d) for d in dH]} Returns the same values as the R function.

    Test (Trace equals the fitted survival at the horizon): The product of 1 minus p over all cycles equals exp of minus the final cumulative hazard. Expected result: TRUE. Excel check, with the probabilities in a range named CycleProbs and the last H in FinalCumHaz: =ABS(SUMPRODUCT(LN(1-CycleProbs))+FinalCumHaz)<1E-9

    Test (Hazard ratio of 1 leaves the probabilities unchanged): With HR set to 1 the treated and control columns are identical. Expected result: TRUE. Excel check, with the columns named ControlProbs and TreatedProbs: =SUMPRODUCT(--(ABS(TreatedProbs-ControlProbs)>1E-12))=0

    Common error (Weibull scale entered in the other parameterisation): The DARTH tutorial writes the cumulative hazard as (lambda t)^gamma. Entering the TSD 21 scale of 0.1 into that form gives H(4) of about 0.2530 instead of 0.8; the same curve needs a scale of 0.1^(1/1.5), about 0.2154, in the DARTH form (computed here for illustration).

    Source: Alarid-Escudero F, Krijkamp E, Enns EA, Yang A, Hunink MGM, Pechlivanoglou P, Jalal H. A tutorial on time-dependent cohort state-transition models in R using a cost-effectiveness analysis example. Medical Decision Making. 2023;43(1):21-41. Section 4.2, equations 2 to 6. Rutherford MJ, Lambert PC, Sweeting MJ, Pennington B, Crowther MJ, Abrams KR, Latimer NR. NICE DSU Technical Support Document 21: Flexible methods for survival analysis. Sheffield: Decision Support Unit, ScHARR, University of Sheffield; 2020. Section 3.2.2, equation 1, for the lambda t^gamma form.

    t_k = k * Delta; H_k = lambda * t_k^gamma; dH_k = H_k - H_(k-1); S_k = exp(-H_k); p_k = 1 - exp(-dH_k); p_T_k = 1 - exp(-HR * dH_k)

Try this function

Implementations

  • Excel

    Cycle probabilities from a column of cumulative hazards

    With the cumulative hazard at the start of the model in B2 (0 at time zero) and at successive cycle ends in B3 downwards, the formula in C3, filled down, returns each cycle's probability. For one cycle from named cells CumHazStart and CumHazEnd, the second formula returns the probability, held in a cell named CycleProb.

    =1-EXP(-(B3-B2)); =1-EXP(-(CumHazEnd-CumHazStart))

Assumptions

  • Single exit from the state for the cumulative hazard conversion

    The event is the only way out of the starting state. When a state has competing exits, a cause-specific cumulative hazard cannot be converted on its own, because people removed by another exit cannot have the event; the joint calculation is HE-FM-TP-004.

  • Clock measured from the origin of the fitted curve

    H_t and H_prev are read at times since the curve's own origin, such as randomisation, which in a cohort model is time since model start. When risk depends on time spent in a state, the clock restarts on entry and the model needs tunnel states, as in the DARTH tutorial.

  • Fitted curve describes the modelled population

    The cumulative hazard comes from a curve fitted to, or validated for, the population and event the model represents, over the whole horizon, including any extrapolated part.

Worked examples

  • Year 3 probability of 0.2108 from a Weibull cumulative hazard

    With H(t) = 0.10 t^1.5, the cumulative hazard is 0.5196 at year 3 and 0.2828 at year 2. The rise of 0.2368 gives a probability of death in year 3 of about 0.2108 among those alive at its start, as in the article.

    H_t = 0.519615; H_prev = 0.282843; p_t = 0.2108
  • Year 6 probability of 0.2965 as the hazard rises

    At year 6 the cumulative hazard is 1.4697 against 1.1180 at year 5, a rise of 0.3517 and a cycle probability of about 0.2965, larger than in year 3 for the same cycle length because the hazard is rising.

    H_t = 1.469694; H_prev = 1.118034; p_t = 0.2965
  • First annual cycle starting from a cumulative hazard of zero

    In the first cycle the starting cumulative hazard is 0, so the probability is 1 minus exp(minus 0.1), about 0.0952.

    H_t = 0.1; H_prev = 0; p_t = 0.0952

Common errors

  • Using cumulative hazard increments as cycle probabilities

    Treating each rise in H as the cycle probability overstates deaths in every cycle: in the article's example, survival at year 6 falls to 0.1786 instead of the fitted 0.2300. The gap grows with cycle length and risk.

  • Using cumulative event probability as a per-cycle probability

    Taking 1 minus S(t) as the probability for the cycle ending at t applies the risk accumulated since time zero to one cycle: 0.2464 in year 2 instead of 0.1671 in the article's example.

Sources

  • Transition probability from the difference in cumulative hazards between cycles

    Alarid-Escudero F, Krijkamp E, Enns EA, Yang A, Hunink MGM, Pechlivanoglou P, Jalal H. A tutorial on time-dependent cohort state-transition models in R using a cost-effectiveness analysis example. Medical Decision Making. 2023;43(1):21-41. Section 4.2, equations 2 to 6: the rate in cycle tau is the difference in cumulative hazards between consecutive cycles, H(tau) minus H(tau minus 1), and the cycle-specific transition probability is 1 minus exp of minus that rate; substituting a Weibull cumulative hazard gives the tunnel-state probabilities.

    View source →

  • Applying a hazard ratio to a parametric control curve in TSD 14

    Latimer NR. NICE DSU Technical Support Document 14: Survival analysis for economic evaluations alongside clinical trials, extrapolation with patient-level data. Sheffield: Decision Support Unit, ScHARR, University of Sheffield; June 2011, last updated March 2013. Section 2.9: only the hazard ratio from the chosen parametric model, fitted with treatment as a covariate, should be applied to the control curve from that model, not one from a different parametric model or a Cox model.

    View source →

Canonical Identity