ehrapy.tools.nelson_aalen

ehrapy.tools.nelson_aalen(adata, duration_col, event_col=None, *, timeline=None, entry=None, label=None, alpha=None, ci_labels=None, weights=None, fit_options=None, censoring='right')[source]

Employ the Nelson-Aalen estimator to estimate the cumulative hazard function from censored survival data

The Nelson-Aalen estimator is a non-parametric method used in survival analysis to estimate the cumulative hazard function. This technique is particularly useful when dealing with censored data, as it accounts for the presence of individuals whose event times are unknown due to censoring. By estimating the cumulative hazard function, the Nelson-Aalen estimator allows researchers to assess the risk of an event occurring over time, providing valuable insights into the underlying dynamics of the survival process. See https://lifelines.readthedocs.io/en/latest/fitters/univariate/NelsonAalenFitter.html

Parameters:
  • adata (AnnData) – AnnData object with necessary columns duration_col and event_col.

  • duration_col (str) – The name of the column in the AnnData objects that contains the subjects’ lifetimes.

  • event_col (str | None, default: None) – The name of the column in anndata that contains the subjects’ death observation. If left as None, assume all individuals are uncensored.

  • timeline (list[float] | None, default: None) – Return the best estimate at the values in timelines (positively increasing)

  • entry (str | None, default: None) – Relative time when a subject entered the study. This is useful for left-truncated (not left-censored) observations. If None, all members of the population entered study when they were “born”.

  • label (str | None, default: None) – A string to name the column of the estimate.

  • alpha (float | None, default: None) – The alpha value in the confidence intervals. Overrides the initializing alpha for this call to fit only.

  • ci_labels (list[str] | None, default: None) – Add custom column names to the generated confidence intervals as a length-2 list: [<lower-bound name>, <upper-bound name>] (default: <label>_lower_<1-alpha/2>).

  • weights (list[float] | None, default: None) – If providing a weighted dataset. For example, instead of providing every subject as a single element of durations and event_observed, one could weigh subject differently.

  • fit_options (dict | None, default: None) – Additional keyword arguments to pass into the estimator.

  • censoring (Literal['right', 'left'], default: 'right') – ‘right’ for fitting the model to a right-censored dataset. (default, calls fit). ‘left’ for fitting the model to a left-censored dataset (calls fit_left_censoring).

Return type:

NelsonAalenFitter

Returns:

Fitted NelsonAalenFitter.

Examples

>>> import ehrapy as ep
>>> adata = ep.dt.mimic_2(encoded=False)
>>> # Flip 'censor_fl' because 0 = death and 1 = censored
>>> adata[:, ["censor_flg"]].X = np.where(adata[:, ["censor_flg"]].X == 0, 1, 0)
>>> naf = ep.tl.nelson_aalen(adata, "mort_day_censored", "censor_flg")