अपने Kaplan-Meier मॉडल का विज़ुअलाइज़ेशन

Python में Survival Analysis

Shae Wang

Senior Data Scientist

Kaplan-Meier सर्वाइवल कर्व कैसे बनाते हैं?

$n=5$ का टॉय डेटा:

duration observed
2 1
5 0
3 1
5 1
2 0

चरण 1: डेटा को बढ़ते क्रम में रखें। टाई होने पर, censored डेटा अनसेंसरड के बाद आए।

चरण 2: हर $t_i$ के लिए $d_i$, $n_i$, और $\big(1-\frac{d_i}{n_i}\big)$ निकालें

चरण 3: हर $t_i$ के लिए $\big(1-\frac{d_i}{n_i}\big)$ को $\big(1-\frac{d_{i-1}}{n_{i-1}}\big)$, $\big(1-\frac{d_{i-2}}{n_{i-2}}\big)$, ... , $\big(1-\frac{d_0}{n_0}\big)$ से गुणा करें

Python में Survival Analysis

Kaplan-Meier सर्वाइवल कर्व कैसे बनाते हैं?

चरण 1: durations को बढ़ते क्रम में रखें। टाई होने पर, censored डेटा अनसेंसरड के बाद आए।

duration
2
5+
3
5
2+

Censored डेटा दिखाने के लिए "+" का उपयोग करें: 2, 5+, 3, 5, 2+

Python में Survival Analysis

Kaplan-Meier सर्वाइवल कर्व कैसे बनाते हैं?

चरण 1: durations को बढ़ते क्रम में रखें। टाई होने पर, censored डेटा अनसेंसरड के बाद आए।

$t_i$
2, 2+
3
5, 5+
Python में Survival Analysis

Kaplan-Meier सर्वाइवल कर्व कैसे बनाते हैं?

चरण 2: हर $t_i$ के लिए $d_i$, $n_i$, और $\big(1-\frac{d_i}{n_i}\big)$ निकालें

$t_i$
2, 2+
3
5, 5+
Python में Survival Analysis

Kaplan-Meier सर्वाइवल कर्व कैसे बनाते हैं?

चरण 2: हर $t_i$ के लिए $d_i$, $n_i$, और $\big(1-\frac{d_i}{n_i}\big)$ निकालें

$t_i$ $d_i$
2, 2+ 1
3 1
5, 5+ 1
Python में Survival Analysis

Kaplan-Meier सर्वाइवल कर्व कैसे बनाते हैं?

चरण 2: हर $t_i$ के लिए $d_i$, $n_i$, और $\big(1-\frac{d_i}{n_i}\big)$ निकालें

$t_i$ $d_i$ $n_i$
2, 2+ 1 5
3 1 3
5, 5+ 1 2
Python में Survival Analysis

Kaplan-Meier सर्वाइवल कर्व कैसे बनाते हैं?

चरण 2: हर $t_i$ के लिए $d_i$, $n_i$, और $\big(1-\frac{d_i}{n_i}\big)$ निकालें

$t_i$ $d_i$ $n_i$ $\big(1-\frac{d_i}{n_i}\big)$
2, 2+ 1 5 $4/5$
3 1 3 $2/3$
5, 5+ 1 2 $1/2$
Python में Survival Analysis

Kaplan-Meier सर्वाइवल कर्व कैसे बनाते हैं?

चरण 3: हर $t_i$ के लिए $\big(1-\frac{d_i}{n_i}\big)$ को $\big(1-\frac{d_{i-1}}{n_{i-1}}\big)$, $\big(1-\frac{d_{i-2}}{n_{i-2}}\big)$, ... , $\big(1-\frac{d_0}{n_0}\big)$ से गुणा करें

$t_i$ $d_i$ $n_i$ $\big(1-\frac{d_i}{n_i}\big)$ $S(t_i)$
2, 2+ 1 5 4/5 4/5 = 0.8
3 1 3 2/3 4/5 $\cdot$ 2/3 = 0.53
5, 5+ 1 2 1/2 4/5 $\cdot$ 2/3 $\cdot$ 1/2 = 0.27
Python में Survival Analysis

Kaplan-Meier सर्वाइवल कर्व कैसे बनाते हैं?

$t_i$ $d_i$ $n_i$ $\big(1-\frac{d_i}{n_i}\big)$ $S(t_i)$
2, 2+ 1 5 $4/5$ 0.8
3 1 3 $2/3$ 0.53
5, 5+ 1 2 $1/2$ 0.27

टेबल से Kaplan-Meier कर्व.

Python में Survival Analysis

सर्वाइवल कर्व की व्याख्या

टेबल से Kaplan-Meier कर्व.

  • 0 से 5 के बीच हर समय पर सर्वाइवल प्रॉबेबिलिटीज।

  • आम गलतफ़हमी: अगर कर्व 0 तक जाता है, तो कोई विषय नहीं बचा।

  • कर्व 0 पर तभी गिरेगा जब आखिरी ऑब्ज़र्वेशन censored न हो (सच्चा event duration ज्ञात हो)।
Python में Survival Analysis

Kaplan-Meier सर्वाइवल कर्व को प्लॉट करना

from lifelines import KaplanMeierFitter
import matplotlib.pyplot as plt

kmf = KaplanMeierFitter()
kmf.fit(durations, event_observed)
kmf.survival_function_.plot()
plt.show()
Python में Survival Analysis

मॉर्टगेज समस्या उदाहरण

DataFrame नाम: mortgage_df

id duration paid_off
1 25 0
2 17 1
3 5 0
... ... ...
100 30 1
from lifelines import KaplanMeierFitter
from matplotlib import pyplot as plt
mortgage_kmf = KaplanMeierFitter()
mortgage_kmf.fit(duration=mortgage_df["duration"], 
        event_observed=mortgage_df["paid_off"])
mortgage_kmf.survival_function_.plot()
Python में Survival Analysis

मॉर्टगेज समस्या उदाहरण

plt.show()

मॉर्टगेज समस्या का सर्वाइवल कर्व विज़ुअलाइज़ेशन.

Python में Survival Analysis

सर्वाइवल कर्व का कॉन्फिडेंस इंटरवल

mortgage_kmf.plot_survival_function()
plt.show()

कॉन्फिडेंस इंटरवल के साथ मॉर्टगेज सर्वाइवल कर्व विज़ुअलाइज़ेशन.

Python में Survival Analysis

कॉन्फिडेंस इंटरवल उपयोगी क्यों है?

  • हर पॉइंट-एस्टिमेट की अनिश्चितता को मापने का तरीका
  • चौड़ा कॉन्फिडेंस इंटरवल मतलब कम निश्चितता, अक्सर छोटा सैंपल साइज कारण होता है
  • संकरा कॉन्फिडेंस इंटरवल मतलब ज़्यादा निश्चितता, अक्सर बड़ा सैंपल साइज कारण होता है
Python में Survival Analysis

Kaplan-Meier सर्वाइवल कर्व प्लॉट करने के तरीके

सर्वाइवल फंक्शन के पॉइंट एस्टिमेट्स को कंटीन्यस लाइन के रूप में प्लॉट करें।

kmf.survival_function_.plot()
plt.show()

कंटीन्यस लाइन के रूप में सर्वाइवल फंक्शन प्लॉट.

कॉन्फिडेंस इंटरवल के बिना सर्वाइवल फंक्शन को स्टेप्ड लाइन के रूप में प्लॉट करें।

kmf.plot(ci_show=False)
plt.show()

स्टेप्ड लाइन के रूप में सर्वाइवल फंक्शन प्लॉट.

Python में Survival Analysis

Kaplan-Meier सर्वाइवल कर्व प्लॉट करने के तरीके

कॉन्फिडेंस इंटरवल के साथ सर्वाइवल फंक्शन को स्टेप्ड लाइन के रूप में प्लॉट करें।

kmf.plot()
plt.show()

कॉन्फिडेंस इंटरवल के साथ स्टेप्ड लाइन में सर्वाइवल फंक्शन प्लॉट.

एक और तरीका...

kmf.plot_survival_function()
plt.show()
Python में Survival Analysis

अभ्यास करते हैं!

Python में Survival Analysis

Preparing Video For Download...