Menerapkan analisis survival pada kelompok

Analisis Survival dengan Python

Shae Wang

Senior Data Scientist

Masalah hipotek

Nama 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: jenis rumah yang dibiayai hipotek (house atau apartment)

Apakah waktu pelunasan hipotek house dan apartment berbeda?
Analisis Survival dengan Python

Membandingkan distribusi survival antar kelompok

Kita sering menilai apakah ada perbedaan survival (atau peluang kejadian/survival) antar kelompok subjek.

  • Atribut dimensional tentang subjek
    • mis. jenis hipotek, merek ban berbeda
  • Kelompok eksperimen berbeda
    • mis. kelompok perlakuan vs. kontrol
  • Nilai berbeda untuk atribut yang sama
    • mis. rumah tangga berpendapatan tinggi vs. rendah
Analisis Survival dengan Python

Jenis perbandingan survival antarkelompok

1. Apakah ada perbedaan estimasi titik atau statistik survival?
  • Bandingkan probabilitas survival dua kelompok pada waktu tertentu
  • Bandingkan total proporsi subjek yang bertahan di dua kelompok
Analisis Survival dengan Python

Jenis perbandingan survival antarkelompok

2. Apakah distribusi dasarnya berbeda?
  • Memerlukan uji hipotesis formal
Analisis Survival dengan Python

Jenis perbandingan survival antarkelompok

3. Seberapa besar suatu atribut memengaruhi survival?
  • Memerlukan kerangka pemodelan berbasis regresi
Analisis Survival dengan Python

Memvisualisasikan perbedaan antarkelompok

Memasang fungsi survival Kaplan–Meier untuk tiap kelompok dan menampilkan kurvanya berdampingan.

Manfaat:

  • Mudah digunakan dan ditafsirkan.
  • Nonparametrik, jadi lebih fleksibel untuk berbagai distribusi survival.
  • Alat ilustratif yang berguna untuk menunjukkan perbedaan fungsi survival.
Analisis Survival dengan Python

Mengidentifikasi kelompok

Nama 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

Buat mask Boolean untuk tiap kelompok.

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

Jika hanya ada 2 kelompok, cukup 1 mask. Kelompok lain bisa dirujuk dengan negasi.

Analisis Survival dengan Python

Memasang dan memplot kurva survival

Buat satu figure dan instansiasi kelas KaplanMeierFitter.

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

Fit mortgage_kmf ke kelompok house dan plot pada figure ax.

mortgage_kmf.fit(duration=mortgage_df[house]["duration"], 
                 event_observed=mortgage_df[house]["paid_off"],
                 label="Houses")
mortgage_kmf.plot_survival_function(ax=ax)
Analisis Survival dengan Python

Memasang dan memplot kurva survival

Fit mortgage_kmf ke kelompok apartment dan plot pada figure ax.

mortgage_kmf.fit(duration=mortgage_df[apt]["duration"], 
                 event_observed=mortgage_df[apt]["paid_off"],
                 label="Apartments")
mortgage_kmf.plot_survival_function(ax=ax)
Analisis Survival dengan Python

Visualisasi berdampingan

plt.show()

Kurva survival Kaplan–Meier: apartment vs. house.

Analisis Survival dengan Python

Menafsirkan kurva survival per kelompok

Kurva survival Kaplan–Meier: apartment vs. house

  • Rata-rata, hipotek apartment tampak lebih cepat lunas dibanding house.
  • Pada durasi mana pun, proporsi yang melunasi apartment lebih tinggi daripada house.

Catatan: jika interval kepercayaan saling tumpang tindih di beberapa titik, kemungkinan perbedaan kurva tidak nyata.

Analisis Survival dengan Python

Ayo berlatih!

Analisis Survival dengan Python

Preparing Video For Download...