causallib.survival.standardized_survival module

class causallib.survival.standardized_survival.StandardizedSurvival(survival_model: Any, stratify: bool = True, **kwargs)[source]

Bases: causallib.survival.base_survival.SurvivalBase

Standardization survival estimator. Computes parametric curve by fitting a time-varying hazards model that includes baseline covariates. :param survival_model: Two alternatives:

  1. Scikit-Learn estimator (needs to implement predict_proba) - compute parametric curve by fitting a

    time-varying hazards model that includes baseline covariates. Note that the model is fitted on a person-time table with all covariates, and might be computationally and memory expansive.

  2. lifelines RegressionFitter - use lifelines fitter to compute survival curves from baseline covariates,

    events and durations

Parameters

stratify (bool) – if True, fit a separate model per treatment group

estimate_individual_outcome(X: pandas.core.frame.DataFrame, a: pandas.core.series.Series, t: pandas.core.series.Series, y: Optional[Any] = None, timeline_start: Optional[int] = None, timeline_end: Optional[int] = None) pandas.core.frame.DataFrame[source]

Returns individual survival curves for each subject row in X/a/t

Parameters
  • X (pd.DataFrame) – Baseline covariate matrix of size (num_subjects, num_features).

  • a (pd.Series) – Treatment assignment of size (num_subjects,).

  • t (pd.Series) – Followup durations, size (num_subjects,).

  • y – NOT USED (for API compatibility only).

  • timeline_start (int) – Common start time-step. If provided, will generate survival curves starting from ‘timeline_start’ for all patients. If None, will predict from first observed event (t.min()).

  • timeline_end (int) – Common end time-step. If provided, will generate survival curves up to ‘timeline_end’ for all patients. If None, will predict up to last observed event (t.max()).

Returns

with time-step index, subject IDs (X.index) as columns and point survival as entries

Return type

pd.DataFrame

estimate_population_outcome(X: pandas.core.frame.DataFrame, a: pandas.core.series.Series, t: pandas.core.series.Series, y: Optional[Any] = None, timeline_start: Optional[int] = None, timeline_end: Optional[int] = None) pandas.core.frame.DataFrame[source]

Returns population averaged survival curves.

Parameters
  • X (pd.DataFrame) – Baseline covariate matrix of size (num_subjects, num_features).

  • a (pd.Series) – Treatment assignment of size (num_subjects,).

  • t (pd.Series) – Followup durations, size (num_subjects,).

  • y – NOT USED (for API compatibility only).

  • timeline_start (int) – Common start time-step. If provided, will generate survival curves starting from ‘timeline_start’ for all patients. If None, will predict from first observed event (t.min()).

  • timeline_end (int) – Common end time-step. If provided, will generate survival curves up to ‘timeline_end’ for all patients. If None, will predict up to last observed event (t.max()).

Returns

with time-step index, treatment values as columns and survival as entries

Return type

pd.DataFrame

fit(X: pandas.core.frame.DataFrame, a: pandas.core.series.Series, t: pandas.core.series.Series, y: pandas.core.series.Series, w: Optional[pandas.core.series.Series] = None, fit_kwargs: Optional[dict] = None)[source]

Fits parametric models and calculates internal survival functions.

Parameters
  • X (pd.DataFrame) – Baseline covariate matrix of size (num_subjects, num_features).

  • a (pd.Series) – Treatment assignment of size (num_subjects,).

  • t (pd.Series) – Followup duration, size (num_subjects,).

  • y (pd.Series) – Observed outcome (1) or right censoring event (0), size (num_subjects,).

  • w (pd.Series) – Optional subject weights.

  • fit_kwargs (dict) – Optional kwargs for fit call of survival model

Returns

self