# Glossary

Terms used throughout the Greenwood documentation, listed alphabetically. Where a term has a direct counterpart in Greenwood's API, the relevant class or function is noted.

Accelerated failure time (AFT)  
A parametric regression model for survival data that represents the log of the event time as a linear function of covariates. Covariates "accelerate" or "decelerate" time to the event rather than scaling the hazard. The coefficient e^\beta is an acceleration factor. Greenwood provides AFT with Weibull, exponential, log-normal, and log-logistic distributions via [AFT](../reference/AFT.md#greenwood.AFT).

Aalen-Johansen estimator  
A non-parametric estimator of the cumulative incidence function (CIF) in a competing-risks setting. It generalizes Kaplan-Meier to multiple event types by accumulating cause-specific hazard increments weighted by the overall survival probability. The sum of CIFs across all causes plus the censoring probability equals 1 at every time point. Available via [AalenJohansen](../reference/AalenJohansen.md#greenwood.AalenJohansen). The estimator is sometimes called the **Kalbfleisch-Prentice estimator** after Kalbfleisch and Prentice (1980), who derived the same product-limit CIF formula from first principles. Both names refer to an identical computation: \hat{F}\_j(t) = \sum\_{s \le t} \hat{S}(s^-)\\ d_j(s)/n(s), where \hat{S} is the overall Kaplan-Meier survival treating any event type as an event. Software such as SAS `PROC LIFETEST` uses the Kalbfleisch-Prentice label for what Greenwood exposes as [AalenJohansen](../reference/AalenJohansen.md#greenwood.AalenJohansen).

At-risk / risk set  
The set of subjects who are still under observation and have not yet experienced an event or been censored just before a given time t. The size of the risk set, n(t), is the denominator in most survival estimators. See also **event table**.

Baseline hazard  
The hazard function h_0(t) for a subject whose covariates are all zero (or at their reference level) in a Cox model. It is left unspecified by the Cox partial likelihood and estimated non-parametrically from the data. In Greenwood, [CoxPH.baseline_hazard()](../reference/CoxPH.md#greenwood.CoxPH.baseline_hazard) returns the Breslow estimator of the cumulative baseline hazard.

Breslow estimator  
"Breslow" refers to two related but distinct quantities in Cox regression, both introduced by Norman Breslow. The first is the **cumulative baseline hazard estimator**: a non-parametric step function that estimates H_0(t) from a fitted Cox model. At each event time t_i it increments by d_i / \sum\_{j \in R(t_i)} \exp(x_j^\top \hat\beta), where d_i is the number of events and the denominator is the sum of risk scores over the risk set. The baseline survival S_0(t) = \exp(-H_0(t)) follows directly. This estimator underlies [CoxPH.baseline_hazard()](../reference/CoxPH.md#greenwood.CoxPH.baseline_hazard) in Greenwood regardless of which tie method is used. The second is the **Breslow tie approximation** for the Cox partial likelihood: when multiple subjects share the same event time, the partial likelihood treats the risk set as unchanged across all tied events (i.e., the denominator is computed once using the full risk set). This is computationally simple but can be noticeably biased when the fraction of tied event times is large. The **Efron approximation** is more accurate in those situations and is preferred in practice (see **tied event times** for a comparison). In Greenwood, `ties="breslow"` selects the Breslow approximation and `ties="efron"` (the default) selects the Efron approximation.

Brier score  
A proper scoring rule that measures the mean squared difference between predicted survival probabilities and observed binary outcomes at a single time horizon. In the censored setting, observations are reweighted by the inverse probability of censoring (IPCW) to account for unobserved event times. Lower is better, and a naive constant-survival model gives an upper benchmark. Available via [brier_score()](../reference/brier_score.md#greenwood.brier_score).

C-statistic  
See **concordance index**.

Censoring  
The situation in which the exact event time is not observed for a subject. Censoring is the defining feature of survival data. Standard regression methods that ignore it are biased. Greenwood supports four censoring types: **right censoring**, **left censoring**, **interval censoring**, and the **counting-process form** for left truncation and time-varying covariates.

Concordance index (C-statistic, Harrell's C)  
A measure of a model's ability to rank subjects by their event times. It is the proportion of all comparable pairs of subjects (one who had an event before the other) for which the model assigns a higher risk score to the subject who had the event first. A value of 0.5 corresponds to random ranking, whereas 1.0 is perfect discrimination. Available via [concordance_index()](../reference/concordance_index.md#greenwood.concordance_index).

Competing risks  
A study setting in which subjects can experience one of several mutually exclusive events. Experiencing one event precludes the others from occurring. Standard Kaplan-Meier applied to a single cause in the presence of competing risks overestimates the cause-specific probability. The correct quantity is the **cumulative incidence function**, estimated by [AalenJohansen](../reference/AalenJohansen.md#greenwood.AalenJohansen) and used as the basis for [FineGray](../reference/FineGray.md#greenwood.FineGray) regression.

Conditional survival  
The probability of surviving beyond time t given that a subject has already survived to a landmark time c: P(T \> t \mid T \> c) = S(t) / S(c) for t \> c. Conditional survival is useful in landmark analyses, where subjects are only evaluated if they are event-free at a fixed point after study entry. In Greenwood, `CoxPH.predict(type="survival", conditional_after=c)` computes conditional survival curves.

Counting-process form  
A representation of survival data as a set of intervals (s_i, t_i\] with an event indicator at t_i. It is the natural way to encode **left truncation** (late entry: s_i \> 0) and **time-varying covariates** (a subject contributes multiple rows with s_i = end of previous interval). Built with `Surv.counting(start, stop, event)`.

Covariate  
A measured characteristic of a subject (also called a predictor, feature, or independent variable) used to explain or predict variation in survival outcomes. In a regression model such as [CoxPH](../reference/CoxPH.md#greenwood.CoxPH) or [AFT](../reference/AFT.md#greenwood.AFT), each covariate has an associated coefficient \beta_j whose exponentiated value e^{\beta_j} is the **hazard ratio** (or acceleration factor in AFT) for a one-unit increase in that variable. Covariates are passed as the `X` argument to `model.fit(y, X)`. Covariates are distinct from **strata**. A covariate enters the model parametrically: its effect is summarized by a single estimated coefficient that applies uniformly across all subjects, and the model assumes that effect is constant over time (the **proportional hazards assumption**). A stratification variable, by contrast, is handled non-parametrically: a completely separate **baseline hazard** is estimated for each stratum, allowing the hazard shape to differ freely between groups. The practical consequence is that stratification absorbs a variable's effect rather than quantifying it (you get no coefficient or hazard ratio for a stratification variable). Use stratification when a variable's time-varying effect violates proportional hazards and you do not need to estimate its magnitude. Use a covariate when you want an interpretable effect estimate. See also **stratification**.

Cox proportional hazards model  
A semi-parametric regression model that expresses the hazard as h(t \mid x) = h_0(t) \exp(\beta^\top x), where h_0(t) is an unspecified baseline hazard and \exp(\beta_j) is the **hazard ratio** for covariate j. Coefficients are estimated by maximizing the partial likelihood, which eliminates h_0(t). Available via [CoxPH](../reference/CoxPH.md#greenwood.CoxPH). See also **proportional hazards assumption**.

CoxNet  
A penalized Cox proportional hazards model that adds an elastic-net penalty (\alpha \\\beta\\\_1 + (1-\alpha)\\\beta\\\_2^2) to the partial likelihood. Setting \alpha = 1 gives **lasso** (automatic variable selection through coefficient shrinkage to zero). Using \alpha = 0 gives **ridge** (shrinks all coefficients without dropping them). Useful when the number of covariates is large relative to the number of events. Available via [CoxNet](../reference/CoxNet.md#greenwood.CoxNet).

Cross-validation (k-fold)  
A resampling procedure for estimating model performance or selecting hyperparameters. The data are partitioned into k roughly equal-sized folds; the model is trained on k - 1 folds and evaluated on the held-out fold, rotating through all k folds so every observation is used for evaluation exactly once. The k evaluation scores are then averaged to give a single performance estimate. In survival analysis, **stratified** k-fold splits preserve the event rate across folds so that no fold is dominated by censored observations. In Greenwood, [cv_coxnet()](../reference/cv_coxnet.md#greenwood.cv_coxnet) uses k-fold cross-validation to select the optimal **penalizer** for [CoxNet](../reference/CoxNet.md#greenwood.CoxNet) by maximising concordance or minimising the integrated Brier score.

Cumulative hazard function  
The integral of the hazard function over time: H(t) = \int_0^t h(u)\\du. It is related to the survival function by S(t) = \exp(-H(t)). The **Nelson-Aalen estimator** targets H(t) directly, while the **Kaplan-Meier estimator** targets S(t).

Cumulative incidence function (CIF)  
The probability of experiencing a specific cause of failure by time t, accounting for competing causes: F_k(t) = P(T \le t,\\ \text{cause} = k). Unlike the naive one-minus-Kaplan-Meier approach, the CIF is not biased by competing events. Estimated non-parametrically by [AalenJohansen](../reference/AalenJohansen.md#greenwood.AalenJohansen) and modeled by [FineGray](../reference/FineGray.md#greenwood.FineGray).

dfbeta residuals  
Approximate influence statistics that measure how much each subject's data changes each estimated coefficient. The dfbeta for subject i and coefficient j is the difference between \hat{\beta}\_j fitted on the full data and \hat{\beta}\_j fitted with subject i removed, approximated without refitting the model. In the Cox model, dfbeta residuals are derived from the score (gradient) residuals and the observed information matrix. They are useful for identifying subjects who have disproportionate influence on a specific coefficient. Greenwood's `_score_residuals()` method computes the score-residual building blocks used to form dfbeta values and the **Lin-Wei** robust variance.

Endpoint  
The specific outcome a study is designed to measure, defined in advance as the criterion for declaring that an **event** has occurred. A study may have a single primary endpoint (e.g., all-cause death) or multiple endpoints (e.g., recurrence and death analyzed separately or as competing events). Choosing the endpoint determines which column or combination of columns in the data encodes the event indicator and which time column to use. In multi-endpoint datasets such as `colon` (recurrence vs. death, stored in separate rows via `etype`) and `mgus2` (progression vs. death, stored in separate column pairs), each endpoint must be extracted and analyzed independently before passing to [Surv](../reference/Surv.md#greenwood.Surv).

Event  
The outcome of interest in a survival study: death, disease progression, machine failure, customer churn, or any other well-defined, non-repeating endpoint. An observation for which the event occurred within the follow-up period is called an **event observation**; one for which it did not (or could not be confirmed) is **censored**.

Event table  
A tabulation that, at each distinct event time, records the number of subjects at risk (n\_\text{risk}), the number of events (n\_\text{event}), and the number of censorings (n\_\text{censor}). It is the common foundation for Kaplan-Meier, the log-rank test, and Cox regression. Available via [event_table()](../reference/event_table.md#greenwood.event_table).

Efron approximation  
A method for handling **tied event times** in the Cox partial likelihood. When multiple subjects have the same event time, the exact partial likelihood requires summing over all possible orderings, which is computationally infeasible for large ties. The Efron approximation averages the risk-set contributions over the tied events, producing a correction that is close to the exact result and substantially more accurate than the simpler **Breslow** approximation when ties are frequent. It is the default in R's `coxph()` and in Greenwood's [CoxPH](../reference/CoxPH.md#greenwood.CoxPH) (`ties="efron"`).

Elastic-net penalty  
A regularization penalty that blends **lasso** (L1) and **ridge** (L2) penalties: \lambda\[\alpha \\\beta\\\_1 + (1 - \alpha)\\\beta\\\_2^2\], where \lambda is the overall regularization strength (the **penalizer**) and \alpha (the `l1_ratio`) is the mixing parameter. Setting \alpha = 1 gives pure lasso; \alpha = 0 gives pure ridge. Values strictly between 0 and 1 blend both penalties: lasso's sparsity (some coefficients are driven exactly to zero) is combined with ridge's stability when predictors are correlated. The elastic-net is the penalty used by Greenwood's [CoxNet](../reference/CoxNet.md#greenwood.CoxNet), with `l1_ratio=1.0` (lasso) as the default.

Fine-Gray model  
A regression model for competing-risks data based on the **subdistribution hazard** of a specific cause. It models how covariates affect the cumulative incidence function directly, rather than the cause-specific hazard. Implemented in Greenwood as [FineGray](../reference/FineGray.md#greenwood.FineGray), which accepts a multi-state [Surv](../reference/Surv.md#greenwood.Surv) response and a target cause.

FISTA (Fast Iterative Shrinkage-Thresholding Algorithm)  
A proximal gradient optimization algorithm used to minimize composite objectives of the form f(\beta) + g(\beta), where f is a smooth, differentiable loss (such as the negative Cox partial likelihood) and g is a convex but non-smooth penalty (such as the lasso L1 term). FISTA extends basic proximal gradient descent with a Nesterov-style momentum correction that accelerates convergence from O(1/k) to O(1/k^2) in the objective value, where k is the iteration count. In Greenwood, FISTA is the solver underlying [CoxNet](../reference/CoxNet.md#greenwood.CoxNet) and `max_iter=` and `tol=` control the iteration limit and convergence tolerance for each inner fit during **cross-validation** and the final model.

Fleming-Harrington test  
A family of weighted log-rank tests parameterized by (\rho, \gamma) that apply time-varying weights W(t) = \hat{S}(t^-)^\rho (1 - \hat{S}(t^-))^\gamma to each event time. Setting \rho = 0, \gamma = 0 gives the standard log-rank test whereas \rho = 1, \gamma = 0 gives the Peto-Peto test, which emphasizes early differences. Available via [logrank_test()](../reference/logrank_test.md#greenwood.logrank_test) with `rho=` and `gamma=` arguments.

Follow-up  
The period of observation during which a subject is monitored for the occurrence of the **event**. Follow-up begins at study entry (or, in a **counting-process** analysis, at the subject's delayed entry time) and ends either at the event or at **censoring** (whichever comes first). The follow-up time is what is recorded in the `time` column of a survival dataset. The total follow-up of a study is often summarized as the median or total person-time across all subjects. Loss to follow-up (subjects who withdraw or become unreachable before the study ends) is the most common source of **right censoring**.

Forest plot  
A graphical display of point estimates and confidence intervals (typically hazard ratios from a Cox model) for multiple subgroups or covariates arranged in rows. Each row shows a symbol for the estimate and a horizontal line for the interval, making it easy to compare effect sizes and their uncertainty at a glance. In Greenwood, [plot_forest()](../reference/plot_forest.md#greenwood.plot_forest) produces an interactive forest plot from a fitted [CoxPH](../reference/CoxPH.md#greenwood.CoxPH) model.

Greenwood's formula  
The standard variance estimator for the Kaplan-Meier survival curve: \widehat{\text{Var}}(\hat{S}(t)) = \hat{S}(t)^2 \sum\_{t_i \le t} \frac{d_i}{n_i(n_i - d_i)}, where d_i and n_i are the events and risk-set size at time t_i. Confidence intervals are derived from this variance on a transformed scale (`log`, `log-log`, or `plain`). Greenwood uses this formula by default in [KaplanMeier](../reference/KaplanMeier.md#greenwood.KaplanMeier).

Hazard function (hazard rate)  
The instantaneous rate of an event at time t, given survival to that time: h(t) = \lim\_{\delta \to 0} P(t \le T \< t + \delta \mid T \ge t) / \delta. It is not a probability but a rate (events per unit time). The hazard is related to the survival function by S(t) = \exp\\\left(-\int_0^t h(u)\\du\right).

Hazard ratio  
The ratio of the hazard functions of two groups or covariate levels, typically assumed constant over time under the **proportional hazards assumption**. In a Cox model, e^{\beta_j} is the hazard ratio associated with a one-unit increase in covariate j. Values greater than 1 indicate higher hazard (shorter survival) for the group with the higher covariate value.

Integrated Brier score (IBS)  
The **Brier score** averaged over a range of evaluation times, providing a single summary of overall predictive accuracy across the follow-up period. Available via [integrated_brier_score()](../reference/integrated_brier_score.md#greenwood.integrated_brier_score).

Interval censoring  
A censoring mechanism in which the event is known only to have occurred within a time interval \[\ell_i, u_i\], rather than at an exact time. Built with `Surv.interval(lower, upper)`. Use `numpy.inf` as the upper bound to represent right censoring within this form.

IPCW (inverse probability of censoring weighting)  
A technique for correcting for informative censoring in prediction metrics. Observations that are censored before the evaluation time are upweighted by the inverse of their probability of remaining uncensored, estimated by a censoring Kaplan-Meier curve. Brier scores, time-dependent AUC, and concordance index in Greenwood use IPCW by default.

Kaplan-Meier estimator (product-limit estimator)  
The standard non-parametric estimator of the survival function. It is a step function that drops at each event time by the conditional probability of the event at that time: \hat{S}(t) = \prod\_{t_i \le t} \left(1 - \frac{d_i}{n_i}\right). Confidence intervals use **Greenwood's formula**. Available via [KaplanMeier](../reference/KaplanMeier.md#greenwood.KaplanMeier).

Left censoring  
A censoring mechanism in which the event is known to have occurred before the observation time (the event time is at most t_i, not at least t_i). Less common than right censoring. Built with `Surv.left(time, event)`.

Lasso (L1 penalty)  
A regularization method that adds a penalty proportional to the sum of absolute coefficient values, \lambda \\\beta\\\_1, to the model's log-likelihood or loss function. As the penalty strength \lambda increases, lasso shrinks coefficients toward zero and sets some exactly to zero, performing automatic variable selection. This is in contrast to **ridge** (L2) regularization, which shrinks all coefficients but rarely zeroes them out. In the survival context, lasso is especially useful when the number of covariates is large relative to the number of events. In Greenwood, lasso is obtained from [CoxNet](../reference/CoxNet.md#greenwood.CoxNet) by setting `alpha=1`. Intermediate values of `alpha` blend lasso and **ridge** in an elastic-net penalty.

Left truncation (late entry)  
A form of selection bias in which a subject is only observed because they survived long enough to enter the study. The subject only joins the risk set at their entry time s_i \> 0. If their event had occurred before s_i, they would not be in the data at all. Handled via the **counting-process form** `Surv.counting(start, stop, event)`.

Lin-Wei sandwich estimator  
A robust variance estimator for the Cox model, also known as the sandwich or "robust" variance. It replaces the model-based (inverse information) variance with \hat{V} = I^{-1} M I^{-1}, where I is the observed information matrix and M is the outer product of score residuals summed across subjects (the "meat" of the sandwich). The Lin-Wei estimator is consistent even when the Cox model is misspecified, and it generalizes to clustered data by summing score residuals within clusters before forming M. Activated in Greenwood via `CoxPH.fit(..., robust=True)` or by supplying `cluster=`.

Log-rank test  
A non-parametric test for equality of survival curves across two or more groups. It sums the (observed − expected) event counts at each event time, where expected counts are computed under the null hypothesis of equal hazard rates. The log-rank test is most powerful when hazards are proportional over time. Use **Fleming-Harrington** weights for alternatives. Available via [logrank_test()](../reference/logrank_test.md#greenwood.logrank_test).

Multi-state model  
A model in which subjects can occupy one of several states and transition between them over time. Competing risks is a special case (one transient state, multiple absorbing states). More general structures (for example, a "healthy -\> sick -\> dead" illness-death model) are represented with [Surv.multistate](../reference/Surv.md#greenwood.Surv.multistate) and fitted with [MultiState](../reference/MultiState.md#greenwood.MultiState).

Nelson-Aalen estimator  
A non-parametric estimator of the **cumulative hazard function**: \hat{H}(t) = \sum\_{t_i \le t} \frac{d_i}{n_i}. A survival estimate can be recovered as \hat{S}(t) = \exp(-\hat{H}(t)), though Kaplan-Meier is usually preferred for direct survival estimation. Available via [NelsonAalen](../reference/NelsonAalen.md#greenwood.NelsonAalen).

Non-parametric model  
A model that makes no assumptions about the shape of the underlying survival or hazard function. Instead of fitting a fixed parametric family, it lets the data determine the function's form at each observed event time, producing a step function. Non-parametric estimators are highly flexible and robust to distributional misspecification, but they cannot extrapolate beyond the last observed event time and have no compact summary (such as a scale or shape parameter). The **Kaplan-Meier** and **Nelson-Aalen** estimators and the **Aalen-Johansen** cumulative incidence function are all non-parametric. Contrast with **parametric model** and **semi-parametric model**.

Pairwise log-rank test  
An extension of the log-rank test that performs all pairwise group comparisons when there are more than two groups, with an optional multiplicity correction (e.g., Holm). Avoids inflating the type I error rate that would result from running separate two-group tests. Available via [pairwise_logrank_test()](../reference/pairwise_logrank_test.md#greenwood.pairwise_logrank_test).

Pairwise RMST test  
An extension of the **restricted mean survival time** comparison that performs all pairwise group contrasts, with optional multiplicity correction. Available via [pairwise_rmst_test()](../reference/pairwise_rmst_test.md#greenwood.pairwise_rmst_test).

Parametric model  
A model that assumes the survival or hazard function follows a specific distributional family (such as Weibull, exponential, log-normal, or log-logistic) characterized by a fixed number of parameters. Parametric models are more statistically efficient than non-parametric alternatives when the distributional assumption holds, and they allow smooth hazard estimation, extrapolation beyond the observed follow-up window, and closed-form expressions for quantities such as the mean survival time. The trade-off is that a poorly chosen distribution can lead to bias. The **AFT** and **Royston-Parmar** models in Greenwood are parametric (or, for Royston-Parmar, flexibly parametric). Contrast with **non-parametric model** and **semi-parametric model**.

Partial likelihood  
The likelihood function used to estimate Cox model coefficients. It conditions on the observed event times and considers only the identity of the subject who had the event relative to those still at risk, thereby eliminating the unspecified **baseline hazard** from the estimation.

Penalizer  
The regularization strength parameter \lambda that scales the penalty added to a model's log-likelihood. A larger penalizer shrinks coefficients more aggressively toward zero, increasing bias but reducing variance and guarding against overfitting; a penalizer of zero recovers the unpenalized model. In Greenwood's [CoxNet](../reference/CoxNet.md#greenwood.CoxNet) the penalizer is the primary tuning parameter, and [cv_coxnet()](../reference/cv_coxnet.md#greenwood.cv_coxnet) selects it automatically via **cross-validation** over a log-spaced grid spanning from a data-derived maximum (\lambda\_{\max}, below which at least one coefficient becomes non-zero) down to `eps * lambda_max`. See also **elastic-net penalty**, **lasso**, and **ridge**.

Proportional hazards assumption  
The assumption in the Cox model that the hazard ratio between any two subjects is constant over time (that is, the hazard functions are parallel on a log scale). It can be tested formally with the **Schoenfeld residual** correlation test, available via `CoxPH.zph()` which returns a [ZPHResult](../reference/ZPHResult.md#greenwood.ZPHResult).

Restricted mean survival time (RMST)  
The expected event-free survival time up to a pre-specified time horizon \tau: \text{RMST}(\tau) = \int_0^\tau S(t)\\dt. It is the area under the survival curve to \tau and has a direct clinical interpretation as "average time alive and event-free up to \tau." Available via [KaplanMeier.rmst()](../reference/KaplanMeier.md#greenwood.KaplanMeier.rmst), and tested between groups with [rmst_test()](../reference/rmst_test.md#greenwood.rmst_test).

Response (`y`)  
The outcome variable passed to a survival model, consisting of event times paired with their censoring or event-type status. In Greenwood, the response is always a [Surv](../reference/Surv.md#greenwood.Surv) object. It is conventionally named `y` in model-fitting code, carrying over the standard statistical notation for the dependent variable: in ordinary regression y = X\beta + \varepsilon, `y` is the vector of outcomes and `X` is the covariate matrix. Survival analysis adopts the same convention even though the response is a composite (time and status) rather than a single scalar. Throughout the documentation and examples you will see the pattern `y = gw.Surv.right(time, event)` followed by `model.fit(y, X)`, deliberately mirroring the y, X split familiar from regression.

Ridge (L2 penalty)  
A regularization method that adds a penalty proportional to the sum of squared coefficient values, \lambda \\\beta\\\_2^2, to the model's log-likelihood or loss function. Ridge shrinks all coefficients toward zero as the penalty strength \lambda increases, but unlike **lasso** it rarely sets any coefficient exactly to zero. This makes ridge well suited to situations where many covariates each contribute a small signal: all of them are retained in the model but their estimates are stabilized. In Greenwood, ridge is obtained from [CoxNet](../reference/CoxNet.md#greenwood.CoxNet) by setting `alpha=0`. Intermediate values of `alpha` blend ridge and lasso in an elastic-net penalty.

Right censoring  
The most common censoring mechanism. An observation is right-censored if the event had not yet occurred by the time the subject left the study or the study ended. All that is known is that the true event time exceeds the observed time t_i. Built with `Surv.right(time, event)`.

Royston-Parmar model  
A flexible parametric survival model that uses restricted cubic splines to represent the log cumulative hazard (or log cumulative odds of the event), allowing smooth, data-driven hazard shapes rather than the rigid forms imposed by exponential or Weibull models. It bridges the gap between fully parametric models and the non-parametric Cox approach: parameters are fully estimated so extrapolation and smooth hazard curves are possible. Available via [RoystonParmar](../reference/RoystonParmar.md#greenwood.RoystonParmar).

Schoenfeld residuals  
Residuals from a fitted Cox model used to assess the **proportional hazards assumption**. At each event time, the Schoenfeld residual for a covariate is the observed covariate value of the subject who had the event minus the risk-set weighted mean. A significant correlation between Schoenfeld residuals and time indicates non-proportional hazards. Scaled Schoenfeld residuals (divided by the risk-set covariance at each event time) are the basis of the Grambsch-Therneau test, which regresses them on time to produce a formal chi-squared test per covariate. Computed by [CoxPH.cox_zph()](../reference/CoxPH.md#greenwood.CoxPH.cox_zph), returned as a [ZPHResult](../reference/ZPHResult.md#greenwood.ZPHResult).

Semi-parametric model  
A model that combines a non-parametric component with a parametric one. The **Cox proportional hazards model** is the canonical example: the baseline hazard h_0(t) is left completely unspecified (non-parametric), while covariate effects are estimated through a finite-dimensional parameter vector \beta (parametric). This separation is what makes the **partial likelihood** possible: \beta can be estimated without ever specifying h_0(t). Semi-parametric models are more flexible than fully **parametric models** while retaining interpretable covariate effects, at the cost of not being able to compute quantities (such as mean survival time) that require integrating the full hazard function.

Strata  
See **stratification**. In Greenwood's API, the `by=` argument to [CoxPH.fit()](../reference/CoxPH.md#greenwood.CoxPH.fit), [KaplanMeier.fit()](../reference/KaplanMeier.md#greenwood.KaplanMeier.fit), [NelsonAalen.fit()](../reference/NelsonAalen.md#greenwood.NelsonAalen.fit), and related methods identifies the column or array whose distinct values define the strata.

Stratification  
A technique in which separate **baseline hazards** are estimated for each level of a stratification variable, while covariate effects (log-hazard-ratio coefficients) remain shared across strata. It is a flexible way to relax the proportional hazards assumption for a known confounder without estimating its coefficient. Specified via the `by=` argument to [CoxPH.fit()](../reference/CoxPH.md#greenwood.CoxPH.fit).

Subdistribution hazard  
The hazard function underlying the **Fine-Gray model**, defined over the entire follow-up time for a specific cause. Subjects who experience a competing event remain in the "at risk" set with a weight of zero rather than being removed, which means the subdistribution hazard has a direct relationship to the **cumulative incidence function**.

Survival function  
The probability that the event has not yet occurred by time t: S(t) = P(T \> t). It is a non-increasing function starting at S(0) = 1 and approaching 0 as t \to \infty. Estimated non-parametrically by **Kaplan-Meier** or derived from the **Nelson-Aalen** cumulative hazard as \exp(-\hat{H}(t)).

Surv object  
The response type in Greenwood that bundles event times with their status codes and validates them eagerly. Every estimator and model in Greenwood consumes a [Surv](../reference/Surv.md#greenwood.Surv) object. Built with [Surv.right()](../reference/Surv.md#greenwood.Surv.right), [Surv.counting()](../reference/Surv.md#greenwood.Surv.counting), [Surv.left()](../reference/Surv.md#greenwood.Surv.left), [Surv.interval()](../reference/Surv.md#greenwood.Surv.interval), or [Surv.multistate()](../reference/Surv.md#greenwood.Surv.multistate) depending on the censoring and event structure of the data.

Time-dependent AUC  
The area under the ROC curve at a specific time horizon, measuring a model's ability to distinguish subjects who had the event before that time from those who did not. IPCW weighting is applied to handle censoring. Available via [time_dependent_auc()](../reference/time_dependent_auc.md#greenwood.time_dependent_auc) and [integrated_auc()](../reference/integrated_auc.md#greenwood.integrated_auc).

Time-varying covariates  
Covariates whose values change during a subject's follow-up period. They are handled by splitting each subject into multiple rows in the **counting-process form**, where each row covers the interval during which a particular covariate value applies.

Tied event times (ties)  
The situation in which two or more subjects experience an event at the same recorded time. Ties are common when time is measured in coarse units (whole days, months) or when a registry records all events within a batch. They create an ambiguity in the Cox partial likelihood, which is derived under the assumption that event times are strictly ordered. Two approximations are widely used: the **Breslow** method treats tied events as if they occurred in an arbitrary sequence, which is fast but biased when the tie fraction is large. The **Efron** method averages over the possible orderings of the tied events, which is more accurate and is the default in both R's `coxph` and Greenwood's [CoxPH](../reference/CoxPH.md#greenwood.CoxPH). The tie-handling method is set via the `ties=` argument to [CoxPH](../reference/CoxPH.md#greenwood.CoxPH).

Trend test  
A non-parametric test for a monotone (ordered) trend in survival across three or more groups with a natural ordering, such as disease stages, dose levels, or age bands. It is more powerful than the omnibus log-rank test when the alternative is a trend rather than an arbitrary difference. Supports **Fleming-Harrington** weights and stratification. Available via [trend_test()](../reference/trend_test.md#greenwood.trend_test).

Truncation  
A form of selection in which a subject's inclusion in the study depends on their event time. **Left truncation** (late entry) is the most common form: subjects who experienced the event before they could enter the study are not observed at all, biasing estimates if not accounted for. The **counting-process form** corrects for left truncation by having subjects enter the risk set only at their entry time.

Weibull distribution  
A two-parameter family of probability distributions widely used in parametric survival analysis. Its hazard function is h(t) = \lambda \kappa t^{\kappa - 1}, where \lambda \> 0 is the scale and \kappa \> 0 is the shape. When \kappa = 1 it reduces to the exponential distribution (constant hazard). \kappa \> 1 gives an increasing hazard over time whereas \kappa \< 1 a decreasing one. The Weibull is the only distribution that satisfies both the **accelerated failure time** and the **proportional hazards** parameterizations, making it the default distribution in many AFT implementations including Greenwood's [AFT](../reference/AFT.md#greenwood.AFT).
