lifelines
Complete survival analysis library in Python. Handles right-censored data, Kaplan-Meier curves, and Cox regression. Standard for clinical trial analysis and epidemiology.
What this skill does
# Lifelines - Survival Analysis In medicine, we often care about "Time to Event" (death, recovery, relapse). Lifelines handles the complexity of "censored" data (patients who left the study). ## When to Use - Analyzing clinical trial data (time to death, disease progression). - Comparing survival between treatment groups. - Identifying risk factors using Cox Proportional Hazards regression. - Building survival models for prognosis. - Epidemiology studies (time to infection, recovery). ## Core Principles ### Censoring Patients who haven't experienced the event by the end of the study are "censored". Lifelines properly accounts for this. ### Hazard Ratios In Cox regression, a hazard ratio > 1 means increased risk; < 1 means decreased risk. ### Survival Curves Kaplan-Meier estimates the probability of survival over time without assuming a distribution. ## Quick Reference ### Standard Imports ```python from lifelines import KaplanMeierFitter, CoxPHFitter from lifelines.statistics import logrank_test import pandas as pd ``` ### Basic Patterns ```python # 1. Kaplan-Meier (Visualizing survival) kmf = KaplanMeierFitter() kmf.fit(durations=df['days'], event_observed=df['died']) kmf.plot_survival_function() kmf.median_survival_time_ # Time when 50% have died # 2. Cox Proportional Hazards (Risk factors) cph = CoxPHFitter() cph.fit(df, duration_col='days', event_col='died') cph.print_summary() # See hazard ratios for age, drug type, etc. cph.plot_partial_effects_on_outcome(covariates=['age'], values=[30, 50, 70]) ``` ## Critical Rules ### ✅ DO - **Use event_observed correctly** - 1 = event occurred, 0 = censored. - **Check proportional hazards assumption** - Use `cph.check_assumptions()` to validate Cox model. - **Compare groups with logrank test** - Statistical test for survival curve differences. - **Plot confidence intervals** - Survival estimates have uncertainty, especially with small samples. ### ❌ DON'T - **Don't ignore censoring** - Treating censored patients as "survived" biases results. - **Don't use regular regression** - Time-to-event data requires specialized methods. - **Don't assume proportional hazards** - If violated, use stratified Cox or parametric models. ## Advanced Patterns ### Comparing Multiple Groups ```python from lifelines.statistics import multivariate_logrank_test # Compare survival across treatment groups results = multivariate_logrank_test(df['days'], df['group'], df['died']) print(results.p_value) ``` ### Parametric Models ```python from lifelines import WeibullFitter, ExponentialFitter # When you need to extrapolate beyond observed data wf = WeibullFitter() wf.fit(df['days'], df['died']) wf.plot() ``` Lifelines transforms complex survival data into actionable medical insights, enabling evidence-based decisions in clinical research and practice.
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.