समूहों पर सर्वाइवल एनालिसिस लागू करना

Python में Survival Analysis

Shae Wang

Senior Data Scientist

Mortgage समस्या

DataFrame नाम: mortgage_df

id property type duration paid_off
1 house 25 0
2 apartment 17 1
3 apartment 5 0
... ... ... ...
100 house 30 1

Property type: वह घर का प्रकार जिसे mortgage से फाइनेंस किया गया है (house या apartment)

क्या house और apartment mortgages के payoff समय में फर्क है?
Python में Survival Analysis

समूहों की survival distributions की तुलना

अक्सर हम देखना चाहते हैं कि अलग-अलग समूहों के subjects में survival (या event/survival probabilities) में अंतर है या नहीं।

  • Subjects के बारे में dimensional attributes
    • जैसे: mortgages के अलग प्रकार, टायरों के अलग ब्रांड
  • अलग experiment समूह
    • जैसे: treatment बनाम control समूह
  • उसी dimensional attribute के अलग मान
    • जैसे: high बनाम low income households
Python में Survival Analysis

Survival समूह तुलना के प्रकार

1. क्या कोई point estimates या survival statistics अलग हैं?
  • किसी विशिष्ट समय पर दो समूहों की survival probabilities की तुलना करें
  • दो समूहों में कुल बचे subjects के अनुपात की तुलना करें
Python में Survival Analysis

Survival समूह तुलना के प्रकार

2. क्या आधारभूत distributions अलग हैं?
  • इसके लिए औपचारिक hypothesis testing चाहिए
Python में Survival Analysis

Survival समूह तुलना के प्रकार

3. कोई attribute survival को कितना प्रभावित करता है?
  • इसके लिए regression-आधारित modeling frameworks चाहिए
Python में Survival Analysis

समूह अंतरों का विज़ुअलाइज़ेशन

हर समूह के लिए Kaplan-Meier survival function फिट करें और survival curves को साथ-साथ visualize करें।

लाभ:

  • इस्तेमाल और interpretation में सरल और सीधा.
  • Non-parametric होने से अलग-अलग survival distributions के लिए अधिक लचीला.
  • Survival functions में अंतर दिखाने के लिए उपयोगी illustrative टूल.
Python में Survival Analysis

समूह पहचानना

DataFrame नाम: mortgage_df

id property type duration paid_off
1 house 25 0
2 apartment 17 1
3 apartment 5 0
... ... ... ...
100 house 30 1

हर समूह के लिए एक Boolean mask बनाएँ।

house = (mortgage_df["property_type"]=="house")
apt = (mortgage_df["property_type"]=="apartment")

यदि केवल 2 समूह हैं, तो 1 mask ही काफ़ी है. दूसरे समूह को negation से संदर्भित कर सकते हैं.

Python में Survival Analysis

Survival curves फिट और plot करना

एक figure बनाएँ और KaplanMeierFitter class instantiate करें।

ax = plt.subplot(111)
mortgage_kmf = KaplanMeierFitter()

mortgage_kmf को house समूह पर fit करें और figure ax पर plot करें।

mortgage_kmf.fit(duration=mortgage_df[house]["duration"], 
                 event_observed=mortgage_df[house]["paid_off"],
                 label="Houses")
mortgage_kmf.plot_survival_function(ax=ax)
Python में Survival Analysis

Survival curves फिट और plot करना

mortgage_kmf को apartment समूह पर fit करें और figure ax पर plot करें।

mortgage_kmf.fit(duration=mortgage_df[apt]["duration"], 
                 event_observed=mortgage_df[apt]["paid_off"],
                 label="Apartments")
mortgage_kmf.plot_survival_function(ax=ax)
Python में Survival Analysis

साथ-साथ विज़ुअलाइज़ करना

plt.show()

Apartment बनाम house Kaplan-Meier survival curves.

Python में Survival Analysis

समूहों की survival curves की व्याख्या

Apartment बनाम house Kaplan-Meier survival curves

  • औसतन apartment mortgages, house mortgages से तेज़ payoff होती दिखती हैं।
  • किसी भी दिए गए duration पर, apartment mortgages चुकाने वालों का अनुपात house mortgages से अधिक है।

ध्यान दें: यदि कुछ बिंदुओं पर confidence intervals overlap करते हैं, तो curves में वास्तविक अंतर होने की संभावना कम होती है।

Python में Survival Analysis

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

Python में Survival Analysis

Preparing Video For Download...