Gruplara sağkalım analizi uygulama

Python ile Survival Analysis

Shae Wang

Senior Data Scientist

İpotek problemi

DataFrame adı: 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: ipotekle finanse edilen konut türü (house veya apartment)

House ve apartment ipoteklerinde ödeme süresi farklı mı?
Python ile Survival Analysis

Grupların sağkalım dağılımlarını karşılaştırma

Sıklıkla, farklı denek grupları arasında sağkalım (veya olay/sağkalım olasılıkları) farklı mı diye inceleriz.

  • Deneklere ait boyutsal nitelikler
    • ör. farklı ipotek türleri, farklı lastik markaları
  • Farklı deney grupları
    • ör. tedavi ve kontrol grupları
  • Aynı boyutsal niteliğin farklı değerleri
    • ör. yüksek ve düşük gelirli haneler
Python ile Survival Analysis

Sağkalım grupları için karşılaştırma türleri

1. Herhangi bir noktasal tahmin veya sağkalım istatistiği farklı mı?
  • İki grubun belirli bir zamandaki sağkalım olasılıklarını karşılaştırın
  • İki grup arasında toplam sağ kalan oranını karşılaştırın
Python ile Survival Analysis

Sağkalım grupları için karşılaştırma türleri

2. Altta yatan dağılımlar farklı mı?
  • Resmi hipotez testi gerekir
Python ile Survival Analysis

Sağkalım grupları için karşılaştırma türleri

3. Bir nitelik sağkalımı ne kadar etkiler?
  • Regresyon temelli modelleme gerekir
Python ile Survival Analysis

Grup farklarını görselleştirme

Her grup için bir Kaplan-Meier sağkalım fonksiyonu uydurun ve eğrileri yan yana görselleştirin.

Yararları:

  • Kullanımı ve yorumlaması basit ve doğrudandır.
  • Parametrik olmayan yapı, farklı sağkalım dağılımları için daha esnektir.
  • Sağkalım fonksiyonları arasındaki farkları göstermede yararlı bir araçtır.
Python ile Survival Analysis

Grupları tanımlama

DataFrame adı: mortgage_df

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

Her grup için Boole maskesi oluşturun.

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

Yalnızca 2 grup varsa, 1 maske yeterlidir. Diğeri olumsuzlama ile belirtilebilir.

Python ile Survival Analysis

Sağkalım eğrilerini uydurma ve çizme

Tek bir şekil oluşturun ve KaplanMeierFitter sınıfını başlatın.

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

mortgage_kmf'yi house grubuna uydurun ve ax üzerinde çizin.

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 ile Survival Analysis

Sağkalım eğrilerini uydurma ve çizme

mortgage_kmf'yi apartment grubuna uydurun ve ax üzerinde çizin.

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 ile Survival Analysis

Yan yana görselleştirme

plt.show()

Apartment ve house Kaplan-Meier sağkalım eğrileri.

Python ile Survival Analysis

Grupların sağkalım eğrilerini yorumlama

Apartment ve house Kaplan-Meier sağkalım eğrileri

  • Ortalama olarak apartment ipotekleri house ipoteklerinden daha hızlı ödeniyor gibi görünüyor.
  • Herhangi bir sürede, apartment ipoteğini ödeyenlerin oranı house'a göre daha yüksektir.

Not: Güven aralıkları bazı noktalarda örtüşürse, eğriler arasında gerçek bir fark olma olasılığı daha düşüktür.

Python ile Survival Analysis

Hadi pratik yapalım!

Python ile Survival Analysis

Preparing Video For Download...