Recent Releases of lifelines
lifelines - v0.28.0
0.28.0 - 2023-01-03
- Fixes bins that are far into the future with using
survival_table_from_events, see #1587 - Removed
sklean_adaptor. It was a terrible hack, and causing more confusion and support debt than I want. This cleans up our API and simplifies the library. ✨ There's no replacement, and I doubt I'll introduce one ✨ - Fix pandas>=2.0 compatibility.
- Fix overflow issue in NelsonAalenfitter, #1585
- officially drop support for < py3.9
- update some dependencies (pandas >= 1.2)
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 2 years ago
lifelines - v0.27.3
0.27.3
New features
- Fixed and silenced a lot of warnings
Bug fixes
- Migrate to newer Pandas
Stylerforto_latex
API Changes
- There were way too many functions on the summary objects, so I've hidden
to_*on them.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 3 years ago
lifelines - v0.27.1
0.27.1 - 2022-03-15
New features
- all
fit_methods now accept afit_optionsdict that allows one to pass kwargs to the underlying fitting algorithm.
API Changes
step_sizeis removed from Cox modelsfit. Seefit_optionsabove.
Bug fixes
- fixed Cox models when "trival" matrix was passed in (one with no covariates)
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 3 years ago
lifelines - v0.27.0
0.27.0 - 2022-03-15
Dropping Python3.6 support.
Bug fixes
- Fix late entry in
add_at_risk_counts.
New features
add_at_risk_countshas a new flag to determine to use start or end-of-period at risk counts.- new column in fitter's
summarythat display the number the parameter is being compared against.
API Changes
plot_lifetimes'sdurationarg has the interpretation of "relative time the subject died (since birth)", instead of the old "time observed for". These interpretations are different when there is late entry.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 4 years ago
lifelines - v0.26.1
0.26.1 - 2021-09-15
API Changes
t_0inlogrank_testnow will not remove data, but will instead censor all subjects that experience the event afterwards.- update
statuscolumn inlifelines.datasets.load_lungto be more standard coding: 0 is censored, 1 is event.
Bug fixes
- Fix using formulas with
AalenAdditiveFitter.predict_cumulative_hazard - Fix using formulas with
CoxPHFitter.score
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 4 years ago
lifelines - 0.26.0
0.26.0 - 2021-05-26
New features
.BIC_is now present on fitted models.CoxPHFitterwith spline baseline can accept pre-computed knot locations.- Left censoring fitting in KaplanMeierFitter is now "expected". That is,
predictalways predicts the survival function (as does every other model),confidence_interval_is always the CI for the survival function (as does every other model), and so on. In summary: the API for estimates doesn't change depending on what your censoring your dataset is.
Bug fixes
- Fixed an annoying bug where at_risk-table label's were not aligning properly when data spanned large ranges. See merging PR for details.
- Fixed a bug in
find_best_parametric_modelwhere the wrong BIC value was being computed. - Fixed regression bug when using an array as a penalizer in Cox models.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 4 years ago
lifelines - v0.25.11
0.25.11 - 2021-04-06
A previous release (on Github) was missing correct metadata and was deleted.
Bug fixes
- Fix integer-valued categorical variables in regression model predictions.
- numpy > 1.20 is allowed.
- Bug fix in the elastic-net penalty for Cox models that wasn't weighting the terms correctly.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 4 years ago
lifelines - v0.25.8
0.25.8 - 2021-01-22
Important: we dropped Patsy as our formula framework, and adopted Formulaic. Will the latter is less mature than Patsy, we feel the core capabilities are satisfactory and it provides new opportunities.
New features
- Parametric models with formulas are able to be serialized now.
- a
_scipy_callbackfunction is available to use in fitting algorithms.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 5 years ago
lifelines - v0.25.7
0.25.7 - 2020-12-09
API Changes
- Adding
cumulative_hazard_at_timesto NelsonAalenFitter
Bug fixes
- Fixed error in
CoxPHFitterwhen entry time == event time. - Fixed formulas in AFT interval censoring regression.
- Fixed
concordance_index_when no events observed - Fixed label being overwritten in ParametricUnivariate models
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon about 5 years ago
lifelines - v0.25.6
0.25.6 - 2020-10-26 New features Parametric Cox models can now handle left and interval censoring datasets. Bug fixes "improved" the output of addatriskcounts by removing a call to plt.tightlayout() - this works better when you are calling addatriskcounts on multiple axes, but it is recommended you call plt.tightlayout() at the very end of your script. Fix bug in KaplanMeierFitter's interval censoring where max(lower bound) < min(upper bound).
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon about 5 years ago
lifelines - v0.25.5
0.25.5 - 2020-09-23
API Changes
check_assumptionsnow returns a list of list of axes that can be manipulated
Bug fixes
- fixed error when using
plot_partial_effectswith categorical data in AFT models - improved warning when Hessian matrix contains NaNs.
- fixed performance regression in interval censoring fitting in parametric models
weightswasn't being applied properly in NPMLE
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.25.4
0.25.4 - 2020-08-26
New features
- New baseline estimator for Cox models:
piecewise - Performance improvements for parametric models'
log_likelihood_ratio_test()andprint_summary() - Better step-size defaults for Cox model -> more robust convergence.
Bug fixes
- fix
check_assumptionswhen using formulas.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.25.3
0.25.3 - 2020-08-24
New features
survival_difference_at_fixed_point_in_time_testnow accepts fitters instead of raw data, meaning that you can use this function on left, right or interval censored data.
API Changes
- See note on
survival_difference_at_fixed_point_in_time_testabove.
Bug fixes
- fix
StatisticalResultprinting in notebooks - fix Python error when calling
plot_covariate_groups - fix dtype mismatches in
plot_partial_effects_on_outcome.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.25.2
0.25.2 - 2020-08-08
New features
- Spline
CoxPHFittercan now usestrata.
API Changes
- a small parameterization change of the spline
CoxPHFitter. The linear term in the spline part was moved to a newInterceptterm in thebeta_. n_baseline_knotsin the splineCoxPHFitternow refers to all knots, and not just interior knots (this was confusing to me, the author.). So add 2 ton_baseline_knotsto recover the identical model as previously.
Bug fixes
- fix splines
CoxPHFitterwith whenpredict_hazardwas called. - fix some exception imports I missed.
- fix log-likelihood p-value in splines
CoxPHFitter
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.25.1
0.25.1 - 2020-08-01
Bug fixes
- ok actually ship the out-of-sample calibration code
- fix
labels=Falseinadd_at_risk_counts - all for specific rows to be shown in
add_at_risk_counts - put
patsyas a proper dependency. - suppress some Pandas 1.1 warnings.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.25.0
0.25.0 - 2020-07-27
New features
- Formulas! lifelines now supports R-like formulas in regression models. See docs here.
plot_covariate_groupnow can plot other y-values like hazards and cumulative hazards (default: survival function).CoxPHFitternow accepts late entries viaentry_col.calibration.survival_probability_calibrationnow works with out-of-sample data.print_summarynow accepts acolumnargument to filter down the displayed values. This helps with clutter in notebooks, latex, or on the terminal.add_at_risk_countsnow follows the cool new KMunicate suggestions
API Changes
- With the introduction of formulas, all models can be using formulas under the hood.
- For both custom regression models or non-AFT regression models, this means that you no longer need to add a constant column to your DataFrame (instead add a
1as a formula string in theregressorsdict). You may also need to remove the T and E columns fromregressors. I've updated the models in the\examplesfolder with examples of this new model building.
- For both custom regression models or non-AFT regression models, this means that you no longer need to add a constant column to your DataFrame (instead add a
- Unfortunately, if using formulas, your model will not be able to be pickled. This is a problem with an upstream library, and I hope to have it resolved in the near future.
plot_covariate_groupshas been deprecated in favour ofplot_partial_effects_on_outcome.- The baseline in
plot_covariate_groupshas changed from the mean observation (including dummy-encoded categorical variables) to median for ordinal (including continuous) and mode for categorical. - Previously, lifelines used the label
"_intercept"to when it added a constant column in regressions. To align with Patsy, we are now using"Intercept". - In AFT models,
ancillary_dfkwarg has been renamed toancillary. This reflects the more general use of the kwarg (not always a DataFrame, but could be a boolean or string now, too). - Some column names in datasets shipped with lifelines have changed.
- The never used "lifelines.metrics" is deleted.
- With the introduction of formulas,
plot_covariate_groups(now calledplot_partial_effects_on_outcome) behaves differently for transformed variables. Users no longer need to add "derivatives" features, and encoding is done implicitly. See docs here. - all exceptions and warnings have moved to
lifelines.exceptions
Bug fixes
- The p-value of the log-likelihood ratio test for the CoxPHFitter with splines was returning the wrong result because the degrees of freedom was incorrect.
- better
print_summarylogic in IDEs and Jupyter exports. Previously it should not be displayed. - p-values have been corrected in the
SplineFitter. Previously, the "null hypothesis" was no coefficient=0, but coefficient=0.01. This is now set to the former. - fixed NaN bug in
survival_table_from_eventswith intervals when no events would occur in a interval.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.24.16
0.24.16 - 2020-07-09
New features
- improved algorithm choice for large Dataframes for Cox models. Should see a significant performance boost.
Bug fixes
- fixed
utils.median_survival_timenot accepting Pandas Series.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.24.15
0.24.15 - 2020-07-07
Bug fixes
- fixed an edge case in
KaplanMeierFitterwhere a really late entry would occur after all other population had died. - fixed
plotinBreslowFlemingtonHarrisFitter - fixed bug where using
conditional_afterandtimesinCoxPHFitter("spline")prediction methods would be ignored.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.24.14
0.24.14 - 2020-07-02
Bug fixes
- fixed a bug where using
conditional_afterandtimesin prediction methods would result in a shape error - fixed a bug where
scorewas not able to be used in splinedCoxPHFitter - fixed a bug where some columns would not be displayed in
print_summary
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.24.13
0.24.13 - 2020-06-22
Bug fixes
- fixed a bug where
CoxPHFitterwould ignore inputedalphalevels for confidence intervals - fixed a bug where
CoxPHFitterwould fail with working withsklearn_adapter
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.24.11
0.24.11 - 2020-06-17
New features
- new spline regression model
CRCSplineFitterbased on the paper "A flexible parametric accelerated failure time model" by Michael J. Crowther, Patrick Royston, Mark Clements. - new survival probability calibration tool
lifelines.calibration.survival_probability_calibrationto help validate regression models. Based on “Graphical calibration curves and the integrated calibration index (ICI) for survival models” by P. Austin, F. Harrell, and D. van Klaveren.
API Changes
- (and bug fix) scalar parameters in regression models were not being penalized by
penalizer- we now penalizing everything except intercept terms in linear relationships.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.24.10
0.24.10
New features
- New improvements when using splines model in CoxPHFitter - it should offer much better prediction and baseline-hazard estimation, including extrapolation and interpolation.
API Changes
- Related to above: the fitted spline parameters are now available in the
.summaryand.print_summarymethods.
Bug fixes
- fixed a bug in initialization of some interval-censoring models -> better convergence.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.24.9
0.24.9 - 2020-06-05
New features
- Faster NPMLE for interval censored data
- New weightings available in the
logrank_test:wilcoxon,tarone-ware,peto,fleming-harrington. Thanks @sean-reed - new interval censored dataset:
lifelines.datasets.load_mice
Bug fixes
- Cleared up some mislabeling in
plot_loglogs. Thanks @sean-reed! - tuples are now able to be used as input in univariate models.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.24.8
0.24.8
New features
- Non parametric interval censoring is now available, experimentally. Not all edge cases are fully checked, and some features are missing. Try it under
KaplanMeierFitter.fit_interval_censoring
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.24.7
0.24.7
New features
find_best_parametric_modelcan handle left and interval censoring. Also allows for more fitting options.AIC_is a property on parametric models, andAIC_partial_is a property on Cox models.penalizerin all regression models can now be an array instead of a float. This enables new functionality and better control over penalization. This is similar (but not identical) topenalty.factorsin glmnet in R.- some convergence tweaks which should help recent performance regressions.
Bug fixes
- fixed bug where
cdf_plotandqq_plotwere not factoring in the weights correctly.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - 0.24.6
0.24.6 - 2020-05-05
New features
- At the cost of some performance, convergence is improved in many models.
- New
lifelines.plotting.plot_interval_censored_lifetimesfor plotting interval censored data - thanks @sean-reed!
Bug fixes
- fixed bug where
cdf_plotandqq_plotwere not factoring in the weights correctly.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.24.5
New features
plot_lifetimesaccepts pandas Series.
Bug fixes
- Fixed important bug in interval censoring models. Users using interval censoring are strongly advised to upgrade.
- Improved
at_risk_countsfor subplots. - More data validation checks for
CoxTimeVaryingFitter
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.24.4
0.24.4 - 2020-04-13
Bug fixes
- Improved stability of interval censoring in parametric models.
- setting a dataframe in
ancillary_dfworks for interval censoring .scoreworks for interval censored models
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 5 years ago
lifelines - v0.24.3
0.24.3 - 2020-03-25
New features
- new
logxkwarg in plotting curves - PH models have
compute_followup_hazard_ratiosfor simulating what the hazard ratio would be at previous times. This is useful because the final hazard ratio is some weighted average of these.
Bug fixes
- Fixed error in HTML printer that was hiding concordance index information.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 6 years ago
lifelines - v0.24.2
0.24.2 - 2020-03-15
Bug fixes
- Fixed bug when no covariates were passed into
CoxPHFitter. See #975 - Fixed error in
StatisticalResultwhere the test name was not displayed correctly. - Fixed a keyword bug in
plot_covariate_groupsfor parametric models.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 6 years ago
lifelines - v0.24.1
0.24.1 - 2020-03-05
New features
- Stability improvements for GeneralizedGammaRegressionFitter and CoxPHFitter with spline estimation.
Bug fixes
- Fixed bug with plotting hazards in NelsonAalenFitter.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 6 years ago
lifelines - v0.24.0
0.24.0 - 2020-02-20
This version and future versions of lifelines no longer support py35. Pandas 1.0 is fully supported, along with previous version. Minimum Scipy has been bumped to 1.2.0
New features
CoxPHFitterandCoxTimeVaryingFitterhas support for an elastic net penalty, which includes L1 and L2 regression.CoxPHFitterhas new baseline survival estimation methods. Specifically,splinenow estimates the coefficients and baseline survival using splines. The traditional method,breslow, is still the default however.- Regression models have a new
scoremethod that will score your model against a dataset (ex: a testing or validation dataset). The default is to evaluate the log-likelihood, but also the concordance index can be chose. - New
MixtureCureFitterfor quickly creating univariate mixture models. - Univariate parametric models have a
plot_density,density_at_times, and propertydensity_that computes the probability density function estimates. - new dataset for interval regression involving C. Botulinum.
- new
lifelines.fitters.mixins.ProportionalHazardMixinthat implements proportional hazard checks.
API Changes
- Models' prediction method that return a single array now return a Series (use to return a DataFrame). This includes
predict_median,predict_percentile,predict_expectation,predict_log_partial_hazard, and possibly others. - The penalty in Cox models is now scaled by the number of observations. This makes it invariant to changing sample sizes. This change also make the penalty magnitude behave the same as any parametric regression model.
score_on models has been renamedconcordance_index_- models'
.variance_matrix_is now a DataFrame. CoxTimeVaryingFitterno longer requires anid_col. It's optional, and some checks may be done for integrity if provided.- Significant changes to
utils.k_fold_cross_validation. - removed automatically adding
inffromPiecewiseExponentialRegressionFitter.breakpointsandPiecewiseExponentialFitter.breakpoints tie_methodwas dropped from Cox models (it was always Efron anyways...)- Mixins are moved to
lifelines.fitters.mixins find_best_parametric_modelevaluationkwarg has been changed toscoring_method.- removed
_score_andpathfrom Cox model.
Bug fixes
- Fixed
show_censorswithKaplanMeierFitter.plot_cumulative_densitysee issue #940. - Fixed error in
"BIC"code path infind_best_parametric_model - Fixed a bug where left censoring in AFT models was not converging well
- Cox models now incorporate any penalizers in their
log_likelihood_
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 6 years ago
lifelines - v0.23.9
0.23.9 - 2020-01-28
Bug fixes
- fixed important error when a parametric regression model would not assign the correct labels to fitted
parameters' variances. See more here: https://github.com/CamDavidsonPilon/lifelines/issues/931. Users of
GeneralizedGammaRegressionFitterand any custom regression models should update their code as soon as possible.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 6 years ago
lifelines - v0.23.8
Bug fixes
- fixed important error when a parametric regression model would not assign the correct labels to fitted parameters. See more here: https://github.com/CamDavidsonPilon/lifelines/issues/931. Users of
GeneralizedGammaRegressionFitterand any custom regression models should update their code as soon as possible.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 6 years ago
lifelines - v0.23.6
0.23.6 - 2020-01-07
New features
- New univariate model,
SplineFitter, that uses cubic splines to model the cumulative hazard. - To aid users with selecting the best parametric model, there is a new
lifelines.utils.find_best_parametric_modelfunction that will iterate through the models and return the model with the lowest AIC (by default). - custom parametric regression models can now do left and interval censoring.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 6 years ago
lifelines - v0.23.5
0.23.5 - 2020-01-05
New features
- New
predict_hazardfor parametric regression models. - New lymph node cancer dataset, originally from H.F. for the German Breast Cancer Study Group (GBSG) (1994)
Bug fixes
- fixes error thrown when converge of regression models fails.
kwargsis now used inplot_covariate_groups- fixed bug where large exponential numbers in
print_summarywere not being suppressed correctly.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 6 years ago
lifelines - v0.23.2
0.23.2
New features
- new
lifelines.plotting.rmst_plotfor pretty figures of survival curves and RMSTs. - new variance calculations for
lifelines.utils.resticted_mean_survival_time - performance improvements on regression models' preprocessing. Should make datasets with high number of columns more performant.
Bug fixes
- fixed
print_summaryfor AAF class. - fixed repr for
sklearn_adapterclasses. - fixed
conditional_afterin Cox model with strata was used.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon about 6 years ago
lifelines - v0.23.1
0.23.1
New features
- new
print_summaryoptionstyleto print HTML, LaTeX or ASCII output - performance improvements for
CoxPHFitter- up to 30% performance improvements for some datasets.
Bug fixes
- fixed bug where computed statistics were not being shown in
print_summaryfor HTML output. - fixed bug where "None" was displayed in models'
__repr__ - fixed bug in
StatisticalResult.print_summary - fixed bug when using
print_summarywith left censored models. - lots of minor bug fixes.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon about 6 years ago
lifelines - v0.23.0
0.23.0
New features
- new
print_summaryabstraction that allows HTML printing in Jupyter notebooks! - silenced some warnings.
Bug fixes
- The "comparison" value of some parametric univariate models wasn't standard, so the null hypothesis p-value may have been wrong. This is now fixed.
- fixed a NaN error in confidence intervals for KaplanMeierFitter
API Changes
- To align values across models, the column names for the confidence intervals in parametric univariate models
summaryhave changed. - Fixed typo in
ParametricUnivariateFittername. median_has been removed in favour ofmedian_survival_time_.left_censorshipinfithas been removed in favour offit_left_censoring.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon about 6 years ago
lifelines - v0.22.10
0.22.10
The tests were re-factored to be shipped with the package. Let me know if this causes problems.
Bug fixes
- fixed error in plotting models with "lower" or "upper" was in the label name.
- fixed bug in plotcovariategroups for AFT models when >1d arrays were used for values arg.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon about 6 years ago
lifelines - v0.22.9
0.22.9 - 2019-10-30
Bug fixes
- fixed
predict_methods in AFT models whentimelinewas not specified. - fixed error in
qq_plot - fixed error when submitting a model in
qth_survival_time CoxPHFitternow displays correct columns values when changing alpha param.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon about 6 years ago
lifelines - v0.22.8
0.22.8
New features
- Serializing lifelines is better supported. Packages like joblib and pickle are now supported. Thanks @AbdealiJK!
conditional_afternow available inCoxPHFitter.predict_median- Suppressed some unimportant warnings.
Bug fixes
- fixed initial_point being ignored in AFT models.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon about 6 years ago
lifelines - v0.22.7
Changelog
0.22.7
New features
- new
ApproximationWarningto tell you if the package is making an potentially bad approximation.
Bug fixes
- fixed a bug in parametric prediction for interval censored data.
- realigned values in
print_summary. - fixed bug in
survival_difference_at_fixed_point_in_time_test
API Changes
utils.qth_survival_timeno longer takes acdfargument - users should take the compliment (1-cdf).- Some previous
StatisticalWarningshave been replaced byApproximationWarning
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon about 6 years ago
lifelines - v0.22.6
0.22.6
New features
conditional_afterworks forCoxPHFitterprediction models 😅
Bug fixes
API Changes
CoxPHFitter.baseline_cumulative_hazard_'s column is renamed"baseline cumulative hazard"- previously it was"baseline hazard". (Only applies if the model has no strata.)utils.dataframe_interpolate_at_timesrenamed toutils.interpolate_at_times_and_return_pandas.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 6 years ago
lifelines - v0.22.5
0.22.5 - 2019-09-20
New features
- Improvements to the repr of models that takes into accounts weights.
- Better support for predicting on Pandas Series
Bug fixes
- Fixed issue where
fit_interval_censoringwouldn't accept lists. - Fixed an issue with
AalenJohansenFitterfailing to plot confidence intervals.
API Changes
_get_initial_valuein parametric univariate models is renamed_create_initial_point
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 6 years ago
lifelines - v0.22.4
0.22.4 - 2019-09-04
New features
- Some performance improvements to regression models.
- lifelines will avoid penalizing the intercept (aka bias) variables in regression models.
- new
utils.restricted_mean_survival_timethat approximates the RMST using numerical integration against survival functions.
API changes
KaplanMeierFitter.survival_function_'s' index is no longer given the name "timeline".
Bug fixes
- Fixed issue where
concordance_indexwould never exit if NaNs in dataset.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 6 years ago
lifelines - v0.22.3
0.22.3
New features
- model's now expose a
log_likelihood_property. - new
conditional_afterargument onpredict_*methods that make prediction on censored subjects easier. - new
lifelines.utils.safe_expto makeexpoverflows easier to handle. - smarter initial conditions for parametric regression models.
- New regression model:
GeneralizedGammaRegressionFitter
API changes
- removed
lifelines.utils.gamma- useautograd_gammalibrary instead. - removed bottleneck as a dependency. It offered slight performance gains only in Cox models, and only a small fraction of the API was being used.
Bug fixes
- AFT log-likelihood ratio test was not using weights correctly.
- corrected (by bumping) scipy and autograd dependencies
- convergence is improved for most models, and many
expoverflow warnings have been eliminated. - Fixed an error in the
predict_percentileofLogLogisticAFTFitter. New tests have been added around this.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 6 years ago
lifelines - v0.22.2
0.22.2
New features
- lifelines is now compatible with scipy>=1.3.0
Bug fixes
- fixed printing error when using robust=True in regression models
GeneralizedGammaFitteris more stable, maybe.- lifelines was allowing old version of numpy (1.6), but this caused errors when using the library. The correctly numpy has been pinned (to 1.14.0+)
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 6 years ago
lifelines - v0.22.1
0.22.1
New features
- New univariate model,
GeneralizedGammaFitter. This model contains many sub-models, so it is a good model to check fits. - added a warning when a time-varying dataset had instantaneous deaths.
- added a
initial_pointoption in univariate parametric fitters. initial_pointkwarg is present in parametric univariate fitters.fitevent_tableis now an attribute on all univariate fitters (if right censoring)- improvements to
lifelines.utils.gamma
API changes
- In AFT models, the column names in
confidence_intervals_has changed to include the alpha value. - In AFT models, some column names in
.summaryand.print_summaryhas changed to include the alpha value. - In AFT models, some column names in
.summaryand.print_summaryincludes confidence intervals for the exponential of the value.
Bug fixes
- when using
censors_showin plotting functions, the censor ticks are now reactive to the estimate being shown. - fixed an overflow bug in
KaplanMeierFitterconfidence intervals - improvements in data validation for
CoxTimeVaryingFitter
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 6 years ago
lifelines - v0.22.0
New features
- Ability to create custom parametric regression models by specifying the cumulative hazard. This enables new and extensions of AFT models.
percentile(p)method added to univariate models that solves the equationp = S(t)fort- for parametric univariate models, the
conditional_time_to_event_is now exact instead of an approximation.
API changes
- In Cox models, the attribute
hazards_has been renamed toparams_. This aligns better with the other regression models, and is more clear (what is a hazard anyways?) - In Cox models, a new
hazard_ratios_attribute is available which is the exponentiation ofparams_. - In regression models, the column names in
confidence_intervals_has changed to include the alpha value. - In regression models, some column names in
.summaryand.print_summaryhas changed to include the alpha value. - In regression models, some column names in
.summaryand.print_summaryincludes confidence intervals for the exponential of the value. - Significant changes to internal AFT code.
- A change to how
fit_interceptworks in AFT models. Previously one could setfit_interceptto False and not have to setancillary_df- now one must specify a DataFrame.
Bug fixes
- for parametric univariate models, the
conditional_time_to_event_is now exact instead of an approximation.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 6 years ago
lifelines - v0.21.3
0.21.3 - 2019-06-04
New features
- include in lifelines is a scikit-learn adapter so lifeline's models can be used with scikit-learn's API. See documentation here.
CoxPHFitter.plotnow accepts ahazard_ratios(boolean) parameter that will plot the hazard ratios (and CIs) instead of the log-hazard ratios.CoxPHFitter.check_assumptionsnow accepts acolumnsparameter to specify only checking a subset of columns.
Bug fixes
covariates_from_event_matrixhandle nulls better
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 6 years ago
lifelines - v0.21.2
0.21.2 - 2019-05-16
New features
- New regression model:
PiecewiseExponentialRegressionFitteris available. See blog post here: https://dataorigami.net/blogs/napkin-folding/churn - Regression models have a new method
log_likelihood_ratio_testthat computes, you guessed it, the log-likelihood ratio test. Previously this was an internal API that is being exposed.
API changes
- The default behavior of the
predictmethod on non-parametric estimators (KaplanMeierFitter, etc.) has changed from (previous) linear interpolation to (new) return last value. Linear interpolation is still possible with theinterpolateflag. - removing
_compute_likelihood_ratio_teston regression models. Uselog_likelihood_ratio_testnow.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 6 years ago
lifelines - v0.21.1
0.21.1 - 2019-04-26
New features
- users can provided their own start and stop column names in
add_covariate_to_timeline - PiecewiseExponentialFitter now allows numpy arrays as breakpoints
API changes
- output of
survival_table_from_eventswhen collapsing rows to intervals now removes the "aggregate" column multi-index.
Bug fixes
- fixed bug in CoxTimeVaryingFitter when ax is provided, thanks @j-i-l!
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 6 years ago
lifelines - v0.21.0
0.21.0
New features
weightsis now a optional kwarg for parametric univariate models.- all univariate and multivariate parametric models now have ability to handle left, right and interval censored data (the former two being special cases of the latter). Users can use the
fit_right_censoring(which is an alias forfit),fit_left_censoringandfit_interval_censoring. - a new interval censored dataset is available under
lifelines.datasets.load_diabetes
API changes
left_censorshipon all univariate fitters has been deprecated. Please use the new apimodel.fit_left_censoring(...).invert_y_axisinmodel.plot(...has been removed.entriesproperty in multivariate parametric models has a new Series name:entry
Bug fixes
- lifelines was silently converting any NaNs in the event vector to True. An error is now thrown instead.
- Fixed an error that didn't let users use Numpy arrays in prediction for AFT models
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 6 years ago
lifelines - v0.20.5
0.20.5 - 2019-04-08
New features
- performance improvements for
print_summary.
API changes
utils.survival_events_from_tablereturns an integer weight vector as well as durations and censoring vector.- in
AalenJohansenFitter, thevarianceparameter is renamed tovariance_to align with the usual lifelines convention.
Bug fixes
- Fixed an error in the
CoxTimeVaryingFitter's likelihood ratio test when using strata. - Fixed some plotting bugs with
AalenJohansenFitter
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon over 6 years ago
lifelines - v0.20.4
0.20.4
New features
- left-truncation support in AFT models, using the
entry_colkwarg infit() generate_datasets.piecewise_exponential_survival_datafor generating piecewise exp. data- Faster
print_summaryfor AFT models.
API changes
- Pandas is now correctly pinned to >= 0.23.0. This was always the case, but not specified in setup.py correctly.
Bug fixes
- Better handling for extremely large numbers in
print_summary PiecewiseExponentialFitteris available withfrom lifelines import *.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.20.3
0.20.3
New features
- Now
cumulative_density_&survival_function_are always present on a fittedKaplanMeierFitter. - New attributes/methods on
KaplanMeierFitter:plot_cumulative_density(),confidence_interval_cumulative_density_,plot_survival_functionandconfidence_interval_survival_function_.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.20.2
0.20.2
New features
- Left censoring is now supported in univariate parametric models:
.fit(..., left_censorship=True). Examples are in the docs. - new dataset:
lifelines.datasets.load_nh4() - Univariate parametric models now include, by default, support for the cumulative density function:
.cumulative_density_,.confidence_interval_cumulative_density_,plot_cumulative_density(),cumulative_density_at_times(t). - add a
lifelines.plotting.qq_plotfor univariate parametric models that handles censored data.
API changes
plot_lifetimesno longer reverses the order when plotting. Thanks @vpolimenov!- The
Ccolumn inload_lcddataset is renamed toE.
Bug fixes
- fixed a naming error in
KaplanMeierFitterwhenleft_censorshipwas set to True,plot_cumulative_density_()is nowplot_cumulative_density(). - added some error handling when passing in timedeltas. Ideally, users don't pass in timedeltas, as the scale is ambiguous. However, the error message before was not obvious, so we do some conversion, warn the user, and pass it through.
qth_survival_timesfor a truncated CDF would returnnp.infif the q parameter was below the truncation limit. This should have been-np.inf
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.20.1
0.20.1
- Some performance improvements to
CoxPHFitter(about 30%). I know it may seem silly, but we are now about the same or slighty faster than the Cox model in R'ssurvivalpackage (for some testing datasets and some configurations). This is a big deal, because 1) lifelines does more error checking prior, 2) R's cox model is written in C, and we are still pure Python/NumPy, 3) R's cox model has decades of development. - suppressed unimportant warnings
API changes
- Previously, lifelines always added a 0 row to
cph.baseline_hazard_, even if there were no event at this time. This is no longer the case. A 0 will still be added if there is a duration (observed or not) at 0 occurs however.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.20.0
Changelog
0.20.0
- Starting with 0.20.0, only Python3 will be supported. Over 75% of recent installs where Py3.
- Updated minimum dependencies, specifically Matplotlib and Pandas.
New features
- smarter initialization for AFT models which should improve convergence.
API changes
inital_betain Cox model's.fitis nowinitial_point.initial_pointis now available in AFT models andCoxTimeVaryingFitter- the DataFrame
confidence_intervals_for univariate models is transposed now (previous parameters where columns, now parameters are rows).
Bug fixes
- Fixed a bug with plotting and
check_assumptions.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.19.5
0.19.5
New features
-
plot_covariate_groupcan accept multiple covariates to plot. This is useful for columns that have implicit correlation like polynomial features or categorical variables. - Convergence improvements for AFT models.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.19.3
0.19.3
New features
- new AFT models:
LogNormalAFTFitterandLogLogisticAFTFitter. - AFT models now accept a
weights_colargument tofit. - Robust errors (sandwich errors) are now avilable in AFT models using the
robust=Truekwarg infit. - Performance increase to
print_summaryin theCoxPHFitterandCoxTimeVaryingFittermodel.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.19.2
0.19.2
New features
ParametricUnivariateFitters, likeWeibullFitter, have smoothed plots when plotting (vs stepped plots)
Bug fixes
- The
ExponentialFitterlog likelihood value was incorrect - inference was correct however. - Univariate fitters are more flexiable and can allow 2-d and DataFrames as inputs.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.19.1
0.19.1
New features
- improved stability of
LogNormalFitter - Matplotlib for Python3 users are not longer forced to use 2.x.
API changes
- Important: we changed the parameterization of the
PiecewiseExponentialto the same asExponentialFitter(from\lambda * ttot / \lambda).
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.19.0
0.19.0
New features
- New regression model
WeibullAFTFitterfor fitting accelerated failure time models. Docs have been added to our documentation about how to useWeibullAFTFitter(spoiler: it's API is similar to the other regression models) and how to interpret the output. CoxPHFitterperformance improvements (about 10%)CoxTimeVaryingFitterperformance improvements (about 10%)
API changes
- Important: we changed the
.hazards_and.standard_errors_on Cox models to be pandas Series (instead of Dataframes). This felt like a more natural representation of them. You may need to update your code to reflect this. See notes here: https://github.com/CamDavidsonPilon/lifelines/issues/636 - Important: we changed the
.confidence_intervals_on Cox models to be transposed. This felt like a more natural representation of them. You may need to update your code to reflect this. See notes here: https://github.com/CamDavidsonPilon/lifelines/issues/636 - Important: we changed the parameterization of the
WeibullFitterandExponentialFitterfrom\lambda * ttot / \lambda. This was for a few reasons: 1) it is a more common parameterization in literature, 2) it helps in convergence. - Important: in models where we add an intercept (currently only
AalenAdditiveModel), the name of the added column has been changed frombaselineto_intercept - Important: the meaning of
alphain all fitters has changed to be the standard interpretation of alpha in confidence intervals. That means that the default for alpha is set to 0.05 in the latest lifelines, instead of 0.95 in previous versions.
Bug Fixes
- Fixed a bug in the
_log_likelihood_property ofParametericUnivariateFittermodels. It was showing the "average" log-likelihood (i.e. scaled by 1/n) instead of the total. It now displays the total. - In model
print_summarys, correct a label erroring. Instead of "Likelihood test", it should have read "Log-likelihood test". - Fixed a bug that was too frequently rejecting the dtype of
eventcolumns. - Fixed a calculation bug in the concordance index for stratified Cox models. Thanks @airanmehr!
- Fixed some Pandas <0.24 bugs.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.18.6
0.18.6
- some improvements to the output of
check_assumptions.show_plotsis turned toFalseby default now. It only showsrankandkmp-values now. - some performance improvements to
qth_survival_time.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.18.5
0.18.5
- added new plotting methods to parametric univariate models:
plot_survival_function,plot_hazardandplot_cumulative_hazard. The last one is an alias forplot. - added new properties to parametric univarite models:
confidence_interval_survival_function_,confidence_interval_hazard_,confidence_interval_cumulative_hazard_. The last one is an alias forconfidence_interval_. - Fixed some overflow issues with
AalenJohansenFitter's variance calculations when using large datasets. - Fixed an edgecase in
AalenJohansenFitterthat causing some datasets with to be jittered too often. - Add a new kwarg to
AalenJohansenFitter,calculate_variancethat can be used to turn off variance calculations since this can take a long time for large datasets. Thanks @pzivich!
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.18.4
0.18.4
- fixed confidence intervals in cumulative hazards for parametric univarite models. They were previously serverly depressed.
- adding left-truncation support to parametric univarite models with the
entrykwarg in.fit
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.18.3
0.18.3
- Some performance improvements to parametric univariate models.
- Suppressing some irrelevant NumPy and autograd warnings, so lifeline warnings are more noticeable.
- Improved some warning and error messages.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.18.2
0.18.2
- New univariate fitter
PiecewiseExponentialFitterfor creating a stepwise hazard model. See docs online. - Ability to create novel parametric univariate models using the new
ParametericUnivariateFittersuper class. See docs online for how to do this. - Unfortunately, parametric univariate fitters are not serializable with
pickle. The librarydillis still useable. - Complete overhaul of all internals for parametric univariate fitters. Moved them all (most) to use
autograd. LogNormalFitterno longer modelslog_sigma.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.18.1
0.18.1
- bug fixes in
LogNormalFittervariance estimates - improve convergence of
LogNormalFitter. We now model the log of sigma internally, but still expose sigma externally. - use the
autogradlib to help with gradients. - New
LogLogisticFitterunivariate fitter available.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.18.0
0.18.0
LogNormalFitteris a new univariate fitter you can use.WeibullFitternow correctly returns the confidence intervals (previously returned only NaNs)WeibullFitter.print_summary()displays p-values associated with its parameters not equal to 1.0 - previously this was (implicitly) comparing against 0, which is trivially always true (the parameters must be greater than 0)ExponentialFitter.print_summary()displays p-values associated with its parameters not equal to 1.0 - previously this was (implicitly) comparing against 0, which is trivially always true (the parameters must be greater than 0)ExponentialFitter.plotnow displays the cumulative hazard, instead of the survival function. This is to make it easier to compare toWeibullFitterandLogNormalFitter- Univariate fitters'
cumulative_hazard_at_times,hazard_at_times,survival_function_at_timesreturn pandas Series now (use to be numpy arrays) - remove
alphakeyword from all statistical functions. This was never being used. - Gone are astericks and dots in
print_summaryfunctions that represent signficance thresholds. - In models'
summary(includingprint_summary), thelog(p)term has changed to-log2(p). This is known as the s-value. See https://lesslikely.com/statistics/s-values/ - introduce new statistical tests between univariate datasets:
survival_difference_at_fixed_point_in_time_test,... - new warning message when Cox models detects possible non-unique solutions to maximum likelihood.
- Generally: clean up lifelines exception handling. Ex: catch
LinAlgError: Matrix is singular.and report back to the user advice.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.17.2
v0.17.2
- Another round of serious performance improvements for the Cox models. Up to 2x faster for CoxPHFitter and CoxTimeVaryingFitter. This was mostly the result of using NumPy's
einsumto simplify a previousforloop. The downside is the code is more esoteric now.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.17.1
0.17.1
- adding bottleneck as a dependency. This library is highly-recommended by Pandas, and in lifelines we see some nice performance improvements with it too. (~15% for
CoxPHFitter) - There was a small bug in
CoxPHFitterwhen usingbatch_modethat was causing coefficients to deviate from their MLE value. This bug eluded tests, which means that it's discrepancy was less than 0.0001 difference. It's fixed now, and even more accurate tests are added. - Faster
CoxPHFitter._compute_likelihood_ratio_test() - Fixes a Pandas performance warning in
CoxTimeVaryingFitter. - Performances improvements to
CoxTimeVaryingFitter.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.17.0
0.17.0
- corrected behaviour in
CoxPHFitterwherescore_was not being refreshed on every newfit. - Reimplentation of
AalenAdditiveFitter. There were significant changes to it:- implementation is at least 10x faster, and possibly up to 100x faster for some datasets.
- memory consumption is way down
- removed the time-varying component from
AalenAdditiveFitter. This will return in a future release. - new
print_summary weights_colis addednn_cumulative_hazardis removed (may add back)
- new dataset add:
multicenter_aids_cohort_studyfrom Cole SR, Hudgens MG. Survival analysis in infectious disease research: describing events in time. AIDS. 2010;24(16):2423-31.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.16.2
0.16.2
- Fixed
CoxTimeVaryingFitterto allow more than one variable to be stratafied - Significant performance improvements for
CoxPHFitterwith dataset has lots of duplicate times. See https://github.com/CamDavidsonPilon/lifelines/issues/591
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - v0.16.0
0.16.0
- Drop Python 3.4 support.
- introduction of residual calculations in
CoxPHFitter.compute_residuals. Residuals include "schoenfeld", "score", "deltabeta", "deviance", "martingale", and "scaledschoenfeld". - removes
estimationnamespace for fitters. Should be usingfrom lifelines import xFitternow. Thanks @usmanatron - removes
predict_log_hazard_relative_to_meanfrom Cox model. Thanks @usmanatron StatisticalResulthas be generalized to allow for multiple results (ex: from pairwise comparisons). This means a slightly changed API that is mostly backwards compatible. See doc string for how to use it.statistics.pairwise_logrank_testnow returns aStatisticalResultobject instead of a nasty NxN DataFrame 💗- Display log(p-values) as well as p-values in
print_summary. Also, p-values below thesholds will be truncated. The orignal p-values are still recoverable using.summary. - Floats
print_summaryis now displayed to 2 decimal points. This can be changed using thedecimalkwarg. - removed
standardizedfromCoxmodel plotting. It was confusing. - visual improvements to Cox models
.plot print_summarymethods accepts kwargs to also be displayed.CoxPHFitterhas a new human-readable method,check_assumptions, to check the assumptions of your Cox proportional hazard model.- A new helper util to "expand" static datasets into long-form:
lifelines.utils.to_episodic_format. CoxTimeVaryingFitternow acceptsstrata.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon almost 7 years ago
lifelines - 0.15.3
0.15.3
- Only allow matplotlib less than 3.0.
0.15.2
- API changes to
plotting.plot_lifetimes cluster_colandstratacan be used together inCoxPHFitter- removed
entryfromExponentialFitterandWeibullFitteras it was doing nothing.
Scientific Software - Peer-reviewed
- Python
Published by CamDavidsonPilon about 7 years ago