Apa alat yang tepat untuk pekerjaan itu?

Artikel ini berisi perjalanan saya dalam memahami dan menerapkan Model Kelangsungan Hidup, yang dapat digunakan untuk memprediksi kemungkinan suatu peristiwa terjadi seiring berjalannya waktu (misalnya, kesembuhan pasien). Saya telah bekerja sebagai ilmuwan data selama delapan tahun dan menerapkan Model Kelangsungan Hidup selama sekitar dua tahun. Model-model ini kurang dihargai di dunia pendidikan dan industri, sehingga tidak diketahui oleh sebagian besar ilmuwan data.

Jarang ada sumber daya yang melampaui dasar-dasarnya, jadi saya ingin berbagi pengalaman saya menggali lebih dalam model-model khusus ini. Terutama ketika menyangkut Evaluasi dan Model Dinamis (memperbarui prediksi dari waktu ke waktu), saya menemukan beberapa solusi yang belum pernah saya gunakan di tempat lain.

Artikel ini setidaknya memerlukan pengetahuan dasar tentang Model Pembelajaran Mesin yang Diawasi dan penerapannya, namun juga harus menarik bagi mereka yang memahami Model Bertahan Hidup untuk mempelajari atau mendiskusikan tantangan dalam penerapan dunia nyata.

Semua kode yang terkait dengan postingan ini dapat ditemukan di sini

Motivasi

Banyak yang akan mengetahui perasaan menghadapi masalah yang tidak diketahui yang belum kita miliki solusinya dan bahkan tidak tahu apakah masalah itu ada.

Pada tantangan perekrutan, saya dihadapkan pada prediksi churn pelanggan, yang menurut saya merupakan masalah yang sangat umum. Namun tak lama kemudian, saya mendapati diri saya bergumul dengan kenyataan bahwa pelanggan aktif saat ini dapat diberhentikan pada hari berikutnya. Saya mencoba memikirkan solusi dengan model ML klasik, namun rasanya tidak memuaskan.

Saya kemudian dipekerjakan pada pekerjaan itu dan belajar tentang pendekatan Survival, yang mempertimbangkan ketidakpastian status pelanggan - Sebuah momen berharga bagi saya tentang cara menyelesaikan masalah ini dan masalah kejadian lainnya.

Saat merekrut ilmuwan data lain menggunakan tantangan yang sama, saya melihat banyak orang berjuang dengan masalah yang sama. Seperti saya, mereka semua punya solusi, tapi sepertinya mereka perlu lebih optimal.

Saat mencoba mencari perpustakaan dan memecahkan masalah di bidang ini, saya menemukan bahwa sumber dayanya pasti ada, tetapi sumber daya tersebut jarang melampaui hal-hal mendasar. Ini bukan bagian dari perpustakaan populer seperti sklearn atau fast.ai atau memiliki implementasi terbatas seperti di perpustakaan xgboost

Di bidang pendidikan, misalnya, hanya ada sedikit kursus khusus tentang "Kursus" atau "Kamp Data". Namun tanpa topik ini disebutkan dalam kursus dasar, Anda mungkin tidak akan pernah tersandung pada topik tersebut. Selain itu, agenda kursus tersebut terasa dangkal dan ketinggalan jaman (misalnya hanya menggunakan model linier).

Meskipun prediksi tersebut tampaknya kurang dihargai dalam dunia pendidikan dan industri, ada banyak kasus penggunaan yang membuat prediksi waktu-ke-peristiwa dapat berguna:

  • Kematian atau pemulihan dalam perawatan medis
  • Kegagalan dalam sistem mekanis
  • Pergantian pelanggan
  • Akhir pemogokan
  • Akhir dari kekuasaan pemerintah

Model Kelangsungan Hidup

Teori

Nama “Survival” berasal dari asal muasal metode dalam bidang kedokteran. Meskipun saya akan mengusulkan istilah yang lebih umum seperti “Model Waktu untuk Peristiwa”, “Model Kelangsungan Hidup” atau “Analisis Kelangsungan Hidup” diterima secara luas, jadi saya akan tetap menggunakannya di sini.

Saya tidak ingin berbicara terlalu banyak tentang teori tetapi lebih fokus pada penerapan praktisnya. Dua sumber yang bagus untuk mengetahui dasar-dasarnya adalah “artikel” ini dan “pengantar perpustakaan garis hidup”.

Data dan Contoh

Saya terutama akan menggunakan satu "kumpulan data" untuk buku catatan dan contoh di artikel ini. Ini tentang masa pemerintahan rezim politik (demokrasi dan kediktatoran) di 202 negara dari tahun 1946 atau tahun kemerdekaan hingga tahun 2008.

Tujuannya adalah untuk memprediksi kemungkinan suatu pemerintah tetap berkuasa dari waktu ke waktu atau dengan kata lain. memprediksi terjadinya pergantian pemerintahan. Fitur mencakup sebagian besar informasi tentang kawasan (misalnya benua) dan jenis pemerintahan (misalnya demokrasi).

Target Kelangsungan Hidup

Kabar baik yang pertama: Dalam Model Survival, hanya target prediksi yang berubah, sementara fiturnya tetap sama seperti model ML klasik.

Ada dua data point of interest yang dijadikan target: Peristiwa dan durasi.

Peristiwa

Peristiwa dapat berupa apa saja, mulai dari pemulihan perawatan medis atau penghentian pelanggan hingga berakhirnya peraturan pemerintah. Kolom target menyimpan informasi apakah peristiwa tersebut diamati dan dalam banyak kasus akan bersifat biner (namun ada formulir khusus dengan beberapa peristiwa yang bersaing).

Jika peristiwa tersebut tidak teramati, berarti sampai suatu titik tertentu, peristiwa tersebut dapat terjadi di lain waktu. Ketidakpastian informasi peristiwa ini disebut penyensoran dan merupakan alasan utama mengapa model regresi dan klasifikasi tradisional bukanlah solusi terbaik.

Terdapat “berbagai bentuk penyensoran”, namun kami akan fokus pada bentuk penyensoran kanan yang paling umum di sini, yang berarti bahwa kami tidak mengetahui apa yang terjadi setelah jangka waktu tertentu.

Pertimbangkan contoh churn pelanggan ini:

  1. Kontrak pelanggan diakhiri: Peristiwa churn telah terjadi
  2. Pelanggan masih aktif: Peristiwa churn belum terjadi namun masih dapat terjadi di kemudian hari (disensor kanan)
  3. Pelanggan keluar karena keadaan eksternal (misalnya kematian): Peristiwa churn belum terjadi, dan pelanggan disensor kanan pada saat keadaan eksternal terjadi

Durasi

Kolom durasi menyimpan informasi mengenai berapa lama waktu yang dibutuhkan hingga peristiwa tersebut diamati atau pada titik tertentu lainnya (misalnya, tanggal analisis, keadaan eksternal) jika peristiwa tersebut belum teramati. Satuan durasi bergantung pada data dan dapat berupa apa saja mulai dari detik hingga tahun.

Pemodelan Sasaran

Mari kita lihat bagaimana kita dapat memodelkan target dalam Regresi, Klasifikasi (jika Anda belum mengetahuinya, periksa ini), dan Model Bertahan Hidup. Kode untuk bagian ini dapat ditemukan di sini.

Pemodelan sebagai Masalah Regresi

Model Regresi digunakan untuk memprediksi nilai kontinu.

Dalam contoh kita, ini hanya dapat menggunakan durasi sebagai target dan mengabaikan semua informasi tentang peristiwa tersebut. Event tersebut juga tidak bisa dijadikan fitur karena awalnya tidak diketahui. Selain itu, prediksi tersebut akan memberi Anda angka durasinya tanpa memberi tahu Anda tentang kemungkinan terjadinya suatu peristiwa.

Dalam banyak kasus, ini sepertinya bukan ide yang bagus.

Pemodelan sebagai masalah Klasifikasi

Model Klasifikasi digunakan untuk memprediksi nilai diskrit dan menetapkan probabilitas ke kelas.

Dalam contoh kita, hal ini dapat menggunakan suatu peristiwa sebagai target, namun juga dapat memasukkan durasi waktu yang tetap (misalnya, apakah peristiwa tersebut terjadi setelah satu tahun).

Kehilangan data mungkin terjadi karena baris tanpa kejadian peristiwa dan durasi lebih kecil dari durasi waktu tetap yang dipilih (misalnya, satu tahun) tidak dapat digunakan. Anda dapat menemukan contohnya di Buku Catatan Pemodelan Target).

Dengan menggunakan metode ini, beberapa model klasifikasi dapat menghasilkan keluaran yang mendekati Model Survival, namun hal ini menambah banyak kerumitan. Misalnya, perkiraan bulanan selama tiga tahun memerlukan 36 Model Klasifikasi dibandingkan dengan satu Model Survival (lihat bagian berikutnya).

Namun, ini mungkin merupakan pendekatan yang valid tergantung pada kasus penggunaan (misalnya, kami hanya tertarik pada kemungkinan terjadinya peristiwa pada t tertentu) dan ketersediaan data.

Pemodelan sebagai Masalah Kelangsungan Hidup

Mari kita lihat bagaimana kita bisa mengatasi kelemahan ini dengan menggunakan metode Survival:

Seperti yang Anda lihat, ini dapat menyertakan kedua target sebagai masukan ke model!

Meskipun keluaran Regresi bersifat kontinu dan keluaran Klasifikasi adalah probabilitas kelas, keluaran Model Survival lebih rumit. Ini bisa berupa nilai tunggal berkelanjutan yang merangkum risiko terjadinya peristiwa (bahaya) dan dapat “dikonversi” menjadi berbagai ukuran lainnya.

Menariknya lagi, keluarannya dapat diubah menjadi Kurva Bertahan Hidup dengan probabilitas kejadian seiring berjalannya waktu. Ada berbagai cara (parameter) berbeda untuk mengubah bahaya menjadi Kurva Bertahan Hidup, namun sebagian besar perpustakaan dapat menanganinya untuk Anda. Neural Nets bahkan dapat mengoptimalkan bentuk Kurva Kelangsungan Hidup dengan menggunakan satu neuron keluaran untuk setiap titik kurva. Probabilitas ini dari waktu ke waktu dapat digunakan untuk penghitungan metrik lainnya, misalnya, Nilai Seumur Hidup Pelanggan.

Berikut adalah Kurva Kelangsungan Hidup dengan probabilitas berakhirnya pemerintahan pemerintah selama 20 tahun ke depan. Misalnya, setelah sepuluh tahun, kemungkinan bahwa pemerintahan demokratis dari Oseania masih berkuasa adalah sekitar 23%:

Pendekatan Kelangsungan Hidup untuk Masalah Kelangsungan Hidup

Seperti yang Anda lihat, pendekatan Survival secara khusus dibuat untuk memasukkan informasi peristiwa dan waktu dan memberi kita probabilitas yang sangat bagus dari waktu ke waktu, menjadikannya pilihan terbaik untuk masalah seperti ini. Ada juga “artikel dengan kode” yang sangat bagus di mana penulis menjalankan ketiga pendekatan pemodelan dengan data aktual dan menyimpulkan bahwa pendekatan Survival mengungguli dua pendekatan lainnya.

Satu-satunya pengecualian adalah kasus penggunaan di mana kita hanya tertarik pada probabilitas pada waktu tertentu. Dalam hal ini, model klasifikasi juga akan berfungsi dengan baik.

Model dan Perpustakaan

Kabar Baik yang pertama: Model Survival mengadaptasi model ML klasik seperti Regresi Logistik, Pohon Keputusan, dan Jaringan Syaraf Tiruan. Seperti di bidang lain, perkembangan baru sebagian besar terjadi dengan Metode Pembelajaran Mendalam.

Ini adalah perpustakaan yang saya rekomendasikan saat bekerja dengan Survival Models:

  • lifelines: Model Linier dan banyak fungsi statistik. Ini adalah titik awal yang baik, namun seringkali tidak menghasilkan model yang paling akurat
  • pycox: Model Kelangsungan Hidup berdasarkan Jaringan Neural - Model ini terutama mengimplementasikan fungsi kerugian yang dapat ditempatkan di atas arsitektur pytorch apa pun
  • XGBSE: Implementasi Model Survival XGBoost dengan kompleksitas model yang berbeda

Anda dapat menemukan satu Notebook untuk setiap perpustakaan untuk melihat bagaimana data perlu disiapkan, dan model dapat dijalankan di sini (02/03/04).

Selain itu, Anda dapat menemukan “benchmark” untuk kumpulan data pemerintah dengan runtime dan metrik kualitas menggunakan perpustakaan ini. Berikut adalah scatterplot dari benchmark yang membandingkan waktu pelatihan dan Concordance (lihat bagian Evaluasi untuk penjelasan metrik ini):

Saya juga mencoba beberapa perpustakaan lain yang tidak memberi nilai tambah bagi saya:

  • xgboost: Hampir tidak ada dokumentasi untuk Fungsi Bertahan Hidup, hanya memprediksi Tingkat Bahaya (nilai tunggal)
  • scikit-survival: Perpustakaan bertahan hidup berdasarkan scikit-learn dengan model berbeda (CoxPH, Random Forests, Boosting). Implementasi non-linier sangat lambat dan tidak dapat diskalakan dengan baik
  • pySurvival: Saya terutama mencoba Random Survival Forests, yang sangat lambat dan skalanya tidak bagus

Evaluasi

Kabar Baik yang pertama: Jika Anda hanya tertarik pada peringkat risiko, yaitu observasi mana yang memiliki risiko lebih tinggi dibandingkan observasi lainnya, ini sangat mudah.

Selain itu, hal ini menjadi rumit dengan sangat cepat, dan menurut saya mengevaluasi Model Bertahan Hidup adalah salah satu tantangan terbesar.

Kode untuk bagian ini dapat ditemukan di sini.

Indeks Konkordansi

Indeks Konkordansi adalah metrik utama yang digunakan untuk mengevaluasi Model Kelangsungan Hidup, dan pada dasarnya Anda akan menemukannya di semua makalah ilmiah untuk membandingkan metode baru.

Ini menciptakan pasangan dan mengevaluasi apakah peringkat yang diprediksi dari dua observasi benar, sehingga menghasilkan persentase pasangan yang diberi peringkat dengan benar. Artikel ini memiliki beberapa contoh perhitungan yang bagus.

Metrik ini sangat intuitif dan dapat dengan mudah dikomunikasikan kepada orang non-teknis. Meskipun ini merupakan indikator yang baik untuk kualitas peringkat, hal ini bukan merupakan indikator besarnya risiko (seberapa besar kemungkinan terjadinya suatu peristiwa). Menurut saya, metrik ini tidak cukup sebagai metrik kualitas saja, namun sering kali digunakan seperti itu.

Kurva Kualitas Kelangsungan Hidup

Segalanya menjadi lebih kompleks ketika kita ingin mengevaluasi Kurva Kelangsungan Hidup, yaitu mencoba mengevaluasi kurva probabilitas yang diprediksi terhadap potensi terjadinya suatu peristiwa.

Jika peristiwa tersebut tidak terjadi, kurva idealnya adalah 100% hingga titik sensor. Di luar titik tersebut masih belum pasti:

Jika peristiwa tersebut benar-benar terjadi, kurva idealnya adalah 100% hingga peristiwa tersebut terjadi dan nol setelahnya:

Salah satu metrik yang umum digunakan untuk masalah ini adalah Skor Brier yang bergantung pada waktu. Ini adalah adaptasi Survival dari Brier Score atau Mean Squared Error (“lihat implementasi sklearn”).

Skor Brier dapat dengan mudah dihitung untuk satu observasi di mana peristiwa tersebut diamati. Dalam contoh ini, skor biasanya bergerak berlawanan arah dengan kurva yang diprediksi hingga peristiwa tersebut diamati. Dalam hal ini, probabilitas yang diperkirakan sudah cukup rendah pada saat terjadinya peristiwa tersebut, dan oleh karena itu, kerugiannya menurun drastis:

Metrik ini memiliki beberapa kelemahan:

  • Ini hanya dapat dihitung untuk satu pengamatan jika peristiwa itu diamati. Untuk kasus-kasus yang disensor, pendekatan ini menggunakan pendekatan kelompok, sehingga lebih sulit untuk dipahami dan dikomunikasikan
  • Brier bergantung pada durasi, yaitu observasi dengan durasi yang lebih lama biasanya memiliki skor yang lebih buruk dan sebaliknya

Ada metrik lain (misalnya, “AUC Dinamis”), namun saya belum menemukan metrik yang memuaskan dan mudah dikomunikasikan untuk mengevaluasi kualitas kurva Kelangsungan Hidup yang diprediksi dengan adanya sensor.

Bentuk Kurva Kelangsungan Hidup

Kualitas kurva diukur berdasarkan kejadiannya, namun hal ini mungkin tidak menjelaskan keseluruhan cerita. Model yang berbeda mungkin menghasilkan bentuk kurva yang berbeda (besarnya, laju penurunan, penurunan pada waktu tertentu) yang mungkin sangat mirip dalam metrik kualitas. Oleh karena itu, akan sangat membantu jika kita memvisualisasikan dan mengukur bentuk kurva yang diprediksi.

TODO Berikut beberapa hal yang perlu diperhatikan:

  • Besaran: Beberapa model mungkin menghasilkan kurva yang lebih optimis dibandingkan model lainnya
  • Tingkat penurunan
  • Kurva (dalam subgrup) turun ke 0 setelah beberapa waktu: Artinya, tidak ada prediksi peristiwa yang melampaui titik ini dan mungkin merupakan tanda tidak mencukupinya data pelatihan untuk kombinasi fitur ini
  • Penurunan tajam karena kemunculan peristiwa yang bersiklus, misalnya, langganan pelanggan tahunan atau siklus pemilu (dalam siklus pemilu empat tahun, seharusnya ada penurunan yang signifikan dalam Tingkat Kelangsungan Hidup setelah t=5, t=9, dll.)

Hal yang sangat mendasar adalah memplot rata-rata kurva secara keseluruhan dan untuk subkelompok yang diminati. Contoh ini menunjukkan bahwa model tersebut memperkirakan pemerintahan di Afrika akan memerintah lebih lama dibandingkan pemerintahan di Eropa. Interval kepercayaan menunjukkan bahwa penyebaran di negara-negara Afrika kurang stabil dibandingkan di Eropa:

Untuk mengukur besarnya kurva, kita dapat menghitung Area di bawah Kurva (AUC). Pendekatan ini dapat merangkum plot di atas:

Memvisualisasikan distribusi prediksi pada waktu tertentu dapat menunjukkan apakah kurva lebih tinggi atau lebih rendah dari yang diharapkan. Contohnya, ketika kita melihat prediksi probabilitas pada tahun pertama, kita bisa melihat bahwa prediksi tersebut sudah turun di bawah 60% berdasarkan banyak pengamatan, dan kita mungkin bertanya pada diri sendiri apakah hal ini realistis setelah hanya satu tahun pemerintahan pemerintah:

Bentuk kurva keluaran mungkin penting untuk pemilihan model, namun sulit untuk dimasukkan ke dalam metrik. Berikut adalah contoh tampilan kurva yang berbeda untuk setiap model, yang mungkin berbeda ceritanya dengan metrik kualitas sebenarnya:

Untuk Bahaya Logistik, kurva rata-rata turun menjadi nol setelah sekitar delapan tahun. Artinya, tidak ada pemerintahan yang berumur lebih dari sepuluh tahun, dan hal ini sepertinya bukan prediksi yang berguna.

DeepHit menunjukkan penurunan linier, sedangkan tiga model lainnya mengalami penurunan yang lebih tajam pada tahun-tahun pertama yang kemudian mendatar. Hal ini mungkin lebih masuk akal karena pemerintah mempunyai risiko yang lebih tinggi pada awalnya, dan kemudian menjadi datar setelah permulaan yang sukses.

Model Dinamis

Sejauh ini, kita telah melihat model yang memprediksi Kurva Kelangsungan Hidup dari titik awal pengamatan (misalnya, awal pemerintahan). Sebut saja ini Model Statis.

Dalam proyek dunia nyata, kami dapat memperbarui Kurva Kelangsungan Hidup dari waktu ke waktu dengan memproses informasi baru (misalnya, durasi pemerintahan yang telah berlalu, peringkat persetujuan, jajak pendapat terkini, skandal, dll.). Sebut saja ini Model Dinamis.

Kode untuk bagian ini dapat ditemukan di sini.

Statis vs Dinamis

Tabel berikut merangkum perbedaan antara kedua pendekatan ini:

Pendekatan Statis dan Dinamis dapat diterapkan pada semua model yang bergantung pada waktu (misalnya deret waktu). Seperti yang bisa kita lihat pada ikhtisar di atas, kita perlu membuat beberapa pemisahan selama pelatihan dalam skenario dinamis untuk mensimulasikan waktu prediksi. Dalam Time Series, kami dapat membagi setiap observasi pada jangka waktu prediksi yang diinginkan (misalnya tiga bulan). Ini tidak berfungsi untuk Survival karena pembagian prediksi tetap sudah membocorkan informasi tentang target durasi. Oleh karena itu, kita perlu memikirkan cara lain untuk membagi data.

Pemisahan

Apa itu perpecahan

Secara umum, ada dua jenis pemisahan untuk data kami:

  • Pemisahan evaluasi: Membagi data menjadi kumpulan pelatihan dan evaluasi — inilah yang selalu kami lakukan
  • Pembagian dinamis: Membagi observasi berdasarkan dimensi waktunya dan menghitung fitur-fitur pada titik pemisahan (misalnya, menggunakan lima tahun pertama masa pemerintahan sebagai masukan fitur untuk memprediksi di luar titik tersebut)

Pertimbangkan contoh berikut ini dengan pemerintahan enam pemerintahan yang berbeda:

Bagaimana kita dapat menerapkan Evaluasi dan Pemisahan Dinamis di sini? Pertama mari kita lihat Model Statis.

Statis

Dalam konteks statis, pembagian bergantung waktu tidak berlaku karena kami selalu memprediksi dari titik awal. Pembagian menjadi pelatihan dan pengujian sudah seperti yang diharapkan.

Untuk Pemisahan Evaluasi Acak, kami memasukkan subset yang diambil secara acak (misalnya, 20%) ke dalam set pengujian:

Hal ini memiliki keuntungan yang dipadukan dengan observasi lama, yang mungkin masih ingin kita prediksi dan evaluasi.

Kemungkinan kedua adalah Pembagian Evaluasi Waktu di mana kami memasukkan setiap observasi yang dimulai setelah titik pemisahan tertentu ke dalam set pengujian:

Ini berfokus pada evaluasi observasi baru. Tergantung pada titik pemisahan yang dipilih, mungkin diperlukan lebih banyak data untuk dievaluasi dan titik pemisahan perlu dimundurkan lebih jauh.

Karena pemisahan ini sudah banyak diketahui, saya tidak akan memasukkannya ke dalam penjelasan dinamis berikut dan hanya akan fokus pada pemisahan yang bergantung pada waktu.

Dinamis

Untuk kasus dinamis, titik pisah dapat berada di mana saja antara awal dan akhir observasi. Untuk prediksi, kami biasanya tertarik pada probabilitas kejadian mulai hari ini, namun selama pelatihan, kami perlu membuat titik prediksi buatan.

Ada berbagai cara untuk melakukan ini. Pendekatan pertama yang saya lihat diterapkan adalah pembagian waktu tetap yang membagi semua data pada titik yang sama untuk mensimulasikan "hari ini":

Pembagian waktu yang tetap memiliki kelemahan tertentu:

  • Kehilangan data: Hanya data yang dimulai sebelum titik tetap dan melampauinya yang dapat digunakan. Segala sesuatu yang lain harus dibuang! Pada grafik di atas, pengamatan ini ditandai sebagai Removed
  • Memperbaiki cakrawala prediksi model yang ditentukan oleh titik prediksi hingga hari ini

Berikut adalah tabel dengan contoh data dimana pembagiannya dihitung pada tahun 1988. Kolom split_time (split_year-start_year) akan menjadi fitur baru dan duration_split (duration-split_time atau end_year-split_year) akan menjadi target durasi baru:

Mari kita kembali ke kehilangan data: Jika kita tertarik pada jangka waktu prediksi 20 tahun, kita harus membaginya pada tahun 1988 (data berakhir pada tahun 2008, biasanya ini adalah today - prediction horizon). Kita harus membuang semua data jika tahun 1988 bukan antara tahun awal dan akhir, sehingga kita hanya mempunyai 8% data!

Untuk mengatasi kelemahan ini, saya membuat Random Split di mana setiap observasi dibagi pada titik acak antara tanggal mulai dan akhir:

Berikut adalah tabel dengan contoh data dimana split_time adalah bilangan bulat acak antara 1 dan durasinya. Seperti disebutkan di atas, kolom split_time akan menjadi fitur baru dan duration_split (duration-split_time) akan menjadi target durasi baru:

Keuntungan

  • Semua data dapat digunakan terlepas dari waktu mulainya
  • Cakrawala prediksi model yang fleksibel
  • Memungkinkan Anda menggunakan beberapa bentuk augmentasi data
  • Gunakan kembali pengamatan pada titik pemisahan yang berbeda
  • Direkomendasikan untuk menambahkan pengamatan secara khusus mulai dari waktu split 1 untuk meningkatkan Waktu Bertahan dalam Pelatihan. Hal ini mengatasi risiko prediksi yang lebih rendah karena target durasi yang lebih rendah

Kita dapat melihat dari contoh-contoh ini bahwa penghitungan fitur tidak hanya bergantung pada pemisahan, tetapi juga target durasinya berubah sementara target acara tetap sama.

Fitur Dinamis

Selain semua Fitur Statis (misalnya tipe benua atau pemerintahan), kita harus menambahkan Fitur Dinamis untuk menyempurnakan model. Berikut beberapa contohnya:

  • Durasi pemerintahan: Seperti yang kita lihat di atas, kita mendapatkan Fitur Dinamis secara gratis ketika kita membagi sepanjang dimensi waktu (split_time). Dalam contoh ini, jangka waktunya adalah masa pemerintahan pemerintah yang telah berlalu. Fitur ini saja mungkin mempunyai dampak yang kuat pada prediksi (lihat contoh dalam Evaluasi Dinamis di bawah)
  • Jajak pendapat saat ini dan peringkat persetujuan
  • pemilu lokal
  • Skandal

Beberapa fitur dapat bersifat statis dan dinamis, misalnya, kami dapat menyertakan peringkat persetujuan di awal waktu mulai dan pada titik prediksi. Saat menggunakan Pembelajaran Mendalam, kita dapat melangkah lebih jauh dan menambahkan seluruh rangkaian (misalnya, peringkat persetujuan dalam n bulan terakhir) menggunakan arsitektur RNN.

Perlu diingat bahwa penghitungan Fitur Dinamis memerlukan historisasi (kecuali split_time) semua data untuk mendapatkan nilai yang benar pada titik pemisahan.

Evaluasi Dinamis

Kompleksitas evaluasi meningkat dalam Model Dinamis bergantung pada cakrawala prediksi. Jika cakrawala kita adalah 20 tahun dan kita ingin memperbarui prediksi kita setiap tahun, maka hasilnya adalah 20 Kurva Kelangsungan Hidup per pengamatan (misalnya, pemerintah). Sekarang kita perlu memastikan adanya prediksi yang valid di setiap t, tidak hanya di awal, seperti pada Model Statis.

Kita dapat mensimulasikan prediksi pada waktu yang berbeda dengan mengganti fitur split time. Bagan pertama menunjukkan semua prediksi pada waktu berbeda yang dimulai dari titik yang sama, sedangkan bagan kedua menunjukkan titik awal sebenarnya:

Kita dapat mengamati bahwa Kurva Kelangsungan Hidup semakin tinggi seiring bertambahnya waktu split. Hal ini masuk akal karena semakin banyak waktu yang berlalu dengan pemerintahan yang masih berkuasa, sehingga prediksi dari titik tersebut menjadi semakin optimis.

Perlu diingat bahwa efek intuitif ini akan lebih sulit diamati ketika fitur yang lebih dinamis terlibat, yang mungkin juga berdampak negatif pada kurva (misalnya skandal).

Kesimpulan

Saya harap artikel ini berhasil memberikan wawasan tentang relevansi dan tantangan Model Survival. Ringkasnya, berikut adalah tiga tantangan utama yang saya lihat di bidang ini dan semoga artikel ini berkontribusi dalam mengatasinya:

  • Pendidikan: Penyertaan dalam kursus Ilmu Data Dasar dan perpustakaan populer (scikit-learn, fast.ai) untuk menyebarkan kesadaran dan membuatnya lebih mudah diakses. Selain itu, diperlukan konten yang lebih mendalam dan melampaui hal-hal mendasar. Ini adalah jenis konten yang saya coba buat dengan artikel ini
  • Evaluasi: Terlalu fokus pada satu metrik peringkat (Concordance), yang menurut saya tidak cukup. Secara umum terdapat kekurangan metrik intuitif untuk mengevaluasi kualitas dan bentuk Kurva Kelangsungan Hidup. Artikel saya memberikan beberapa contoh inspeksi visual dan saran tentang apa yang harus diwaspadai untuk mengurangi masalah ini
  • Model Dinamis: Memperbarui prediksi dari waktu ke waktu menjadi sangat kompleks dan bahkan lebih sulit untuk dievaluasi (metode evaluasi yang lebih baik dapat mengurangi hal ini). Sayangnya, hampir tidak ada sumber daya untuk mempelajari topik ini. Saya berbicara tentang tantangan khusus Model Dinamis vs Statis untuk Bertahan Hidup, membahas berbagai metode pemisahan, dan memberikan contoh evaluasi visual guna mengurangi kompleksitas. Sebagian besar konten ini belum saya temukan di tempat lain.

Ilmu data adalah bidang besar dengan banyak bidang, dan kita tidak boleh berambisi untuk memahami semuanya secara detail. Namun memiliki pengetahuan dasar yang luas adalah kunci untuk menerjemahkan masalah bisnis menjadi masalah data yang sesuai dan oleh karena itu dapat menghasilkan proyek yang sukses. Saya harap saya dapat berkontribusi pada artikel ini untuk mendapatkan lebih banyak apresiasi terhadap Model Survival, dan akan ada lebih banyak konten di komunitas data di masa mendatang.