التنبؤ من وقت الحدث مع Pytorch

ابدأ • الطرق • معايير التقييم • مجموعات البيانات • التثبيت • المراجع
Pycox هي حزمة Python لتحليل البقاء على قيد الحياة والتنبؤ بالوقت مع Pytorch ، مبنية على حزمة Torchtuples لتدريب نماذج Pytorch. يتوفر إصدار R من هذه الحزمة في AstravalModels.
تحتوي الحزمة على تطبيقات لنماذج البقاء المختلفة ، وبعض مقاييس التقييم المفيدة ، ومجموعة من مجموعات بيانات وقت الحدث. بالإضافة إلى ذلك ، تتوفر بعض أدوات المعالجة المسبقة المفيدة في وحدة pycox.preprocessing .
للبدء ، تحتاج أولاً إلى تثبيت Pytorch. يمكنك بعد ذلك تثبيت Pycox عبر PIP:
pip install pycoxأو عبر كوندا:
conda install -c conda-forge pycox نوصي بالبدء بـ 01_introduction.ipynb ، وهو ما يفسر الاستخدام العام للحزمة من حيث المعالجة المسبقة ، وإنشاء الشبكات العصبية ، والتدريب النموذجي ، وإجراءات التقييم. يستخدم دفتر الملاحظات طريقة LogisticHazard للتوضيح ، ولكن معظم المبادئ تعميم على الأساليب الأخرى.
بدلاً من ذلك ، هناك العديد من الأمثلة المدرجة في مجلد الأمثلة ، أو يمكنك متابعة البرنامج التعليمي بناءً على LogisticHazard :
01_introduction.ipynb: الاستخدام العام للحزمة من حيث المعالجة المسبقة ، وإنشاء الشبكات العصبية ، والتدريب النموذجي ، وإجراءات التقييم.
02_introduction.ipynb: مخطط التقدير القائم على الكمية ، tuples المتداخلة مع tt.tuplefy ، دمج الكيان من المتغيرات الفئوية ، ومعدلات التعلم الدورية.
03_network_architectures.ipynb: تمديد الإطار مع الشبكات المخصصة ووظائف الخسارة المخصصة. يجمع المثال بين الشفرات التلقائية مع شبكة البقاء على قيد الحياة ، ويعتبر الخسارة التي تجمع بين فقدان الشفرات التلقائية وفقدان LogisticHazard .
04_mnist_dataloaders_cnn.ipynb: باستخدام dataloaders والشبكات التلافيفية لمجموعة بيانات MNIST. نكرر عمليات محاكاة [8] حيث يحدد كل رقم معلمة مقياس التوزيع الأسي.
تتوفر الطرق التالية في وحدة pycox.methods .
| طريقة | وصف | مثال |
|---|---|---|
| كوكتيم | Cox-Time هو نموذج مخاطر نسبي يمتد انحدار Cox إلى ما يتجاوز المخاطر النسبية [1]. | دفتر |
| Coxcc | COX-CC هي نسخة نسبية من طراز COX-Time [1]. | دفتر |
| Coxph (DeepSurv) | Coxph هو نموذج مخاطر Cox النسبية يشار إليه أيضًا باسم DeepSurv [2]. | دفتر |
| Pchazard | يفترض نموذج الخطر الثابت (PC-Hazard) [12] أن وظيفة خطر الوقت المستمر ثابتة في فترات محددة مسبقًا. إنه مشابه للنماذج الأسية المجزأة [11] و Peann [14] ، ولكن مع تنشيط softplus بدلاً من الوظيفة الأسية. | دفتر |
| طريقة | وصف | مثال |
|---|---|---|
| Logistichazard (NNET-SURVIVAL) | طريقة Hazard اللوجستية تعرض المخاطر المنفصلة وتحسين احتمال البقاء على قيد الحياة [12] [7]. ويسمى أيضًا الانحدار اللوجستي الجزئي [13] و NNET-SURVIVAL [8]. | دفتر |
| PMF | تقوم طريقة PMF بصياغة وظيفة كتلة الاحتمال (PMF) وتحسين احتمال البقاء على قيد الحياة [12]. إنه أساس أساليب مثل Deephit و MTLR. | دفتر |
| DEPTHIT ، DEPEHITSINGLE | DEPTHIT هي طريقة PMF مع خسارة لتحسين التصنيف الذي يمكنه التعامل مع المخاطر المتنافسة [3]. | منافسة واحدة |
| MTLR (N-MTLR) | الانحدار اللوجستي متعدد المهام (العصبي) هو طرق PMF التي اقترحها [9] و [10]. | دفتر |
| bcesurv | طريقة تمثل مجموعة من المصنفات الثنائية التي تزيل الأفراد عند الرقابة [15]. الخسارة هي الانتروبيا المتقاطعة الثنائية لتقديرات البقاء في مجموعة من الأوقات المنفصلة ، مع أهداف هي مؤشرات على البقاء في كل مرة. | bs_example |
تتوفر مقاييس التقييم التالية مع pycox.evalutation.EvalSurv .
| متري | وصف |
|---|---|
| concordance_td | تم تقييم مؤشر التوافق المعتمد على الوقت في أوقات الحدث [4]. |
| brier_score | درجة IPCW Brier (الاحتمال العكسي للرقابة على درجة Brier الموزونة) [5] [6] [15]. انظر القسم 3.1.2 من [15] للحصول على التفاصيل. |
| NBLL | IPCW (سلبي) احتمال الحدين [5] [1]. أي ، هذا هو ناقص احتمالية سجل الحدين ويجب عدم الخلط بينه وبين التوزيع السلبي ذي الحدين. يتم تنفيذ الترجيح كما في القسم 3.1.2 من [15] للحصول على التفاصيل. |
| integrated_brier_score | درجة IPCW المتكاملة Brier. التكامل العددي لـ `brier_score` [5] [6]. |
| integrated_nbll | IPCW المتكامل (السلبي) الحدين المحتملة. التكامل العددي لـ `nbll` [5] [1]. |
| brier_score_admin integrated_brier_score_admin | درجة بريير الإدارية [15]. يعمل بشكل جيد للبيانات مع الرقابة الإدارية ، مما يعني أن جميع أوقات الرقابة لوحظ. انظر هذا المثال دفتر ملاحظات. |
| nbll_admin integrated_nbll_admin | الإدارية (السلبية) الحدين احتمال احتمال [15]. يعمل بشكل جيد للبيانات مع الرقابة الإدارية ، مما يعني أن جميع أوقات الرقابة لوحظ. انظر هذا المثال دفتر ملاحظات. |
تتوفر مجموعة من مجموعات البيانات من خلال وحدة pycox.datasets . على سبيل المثال ، سوف يقوم الرمز التالي بتنزيل مجموعة بيانات metabric وتحميلها في شكل ملف بيانات Pandas
from pycox import datasets
df = datasets . metabric . read_df () ستخزن وحدة datasets مجموعات البيانات ضمن دليل التثبيت افتراضيًا. يمكنك تحديد دليل مختلف عن طريق تعيين متغير بيئة PYCOX_DATA_DIR .
| مجموعة البيانات | مقاس | مجموعة البيانات | مصدر البيانات |
|---|---|---|---|
| فلشين | 6524 | مقايسة مجموعة بيانات السلسلة الخفيفة الخالية من المصل (FLCHAIN). انظر [1] للمعالجة المسبقة. | مصدر |
| GBSG | 2،232 | مجموعة دراسة روتردام وسرطان الثدي الألماني. انظر [2] للحصول على التفاصيل. | مصدر |
| kkbox | 2،814،735 | مجموعة بيانات البقاء على قيد الحياة تم إنشاؤها من تحدي التنبؤ في WSDM - KKBox في 2017 مع الرقابة الإدارية. انظر [1] و [15] للحصول على التفاصيل. مقارنة بـ KKBox_V1 ، تحتوي مجموعة البيانات هذه على المزيد من المتغيرات وأوقات الرقابة. ملاحظة: تحتاج إلى بيانات اعتماد Kaggle للوصول إلى مجموعة البيانات. | مصدر |
| kkbox_v1 | 2646،746 | مجموعة بيانات البقاء على قيد الحياة تم إنشاؤها من تحدي التنبؤ في WSDM - KKBOX لعام 2017. انظر [1] للحصول على التفاصيل. ليس هذا هو الإصدار المفضل من مجموعة البيانات هذه. استخدم KKBox بدلاً من ذلك. ملاحظة: تحتاج إلى بيانات اعتماد Kaggle للوصول إلى مجموعة البيانات. | مصدر |
| استقلاب | 1،904 | التصنيف الجزيئي لكونسورتيوم سرطان الثدي الدولي (استقلاب). انظر [2] للحصول على التفاصيل. | مصدر |
| NWTCO | 4،028 | بيانات من ورم ويلم الوطني (NWTCO). | مصدر |
| يدعم | 8،873 | ادرس لفهم نتائج التفضيلات التي تفضيلها ومخاطر العلاج (الدعم). انظر [2] للحصول على التفاصيل. | مصدر |
| مجموعة البيانات | مقاس | مجموعة البيانات | مصدر البيانات |
|---|---|---|---|
| rr_nl_nph | 25000 | مجموعة البيانات من دراسة المحاكاة في [1]. هذه هي دراسة محاكاة مستمرة مع أوقات الأحداث المستمدة من نموذج المخاطر غير الخطية غير الخطية غير الخطية (RRNLNPH). | Simstudynononearnonph |
| SAC3 | 100،000 | مجموعة البيانات من دراسة المحاكاة في [12]. هذه مجموعة بيانات وقت منفصلة مع 1000 من أوقات الحدث. | simstudysaccensorConst |
| sac_admin5 | 50000 | مجموعة البيانات من دراسة المحاكاة في [15]. هذه مجموعة بيانات وقت منفصلة مع 1000 من أوقات الحدث. يشبه إلى حد كبير "sac3" ، ولكن مع وجود عدد أقل من المتغيرات المشتركة والرقابة الإدارية التي تحددها 5 المتغيرات. | Simstudysacadmin |
ملاحظة: لا تزال هذه الحزمة في مراحلها المبكرة من التطوير ، لذا يرجى عدم التردد في الإبلاغ عن أي مشاكل قد تواجهها.
الحزمة تعمل فقط لبيثون 3.6+.
قبل تثبيت Pycox ، يرجى تثبيت Pytorch (الإصدار> = 1.1). يمكنك بعد ذلك تثبيت الحزمة مع
pip install pycox بالنسبة لإصدار حافة النزف ، يمكنك بدلاً من ذلك التثبيت مباشرة من Github (فكر في إضافة --force-reinstall ):
pip install git+git://github.com/havakv/pycox.gitيعتمد التثبيت من المصدر على Pytorch ، لذا تأكد من تثبيته. بعد ذلك ، استنساخ وتثبيت مع
git clone https://github.com/havakv/pycox.git
cd pycox
pip install .[1] Håvard Kvamme ، Ørnulf Borgan ، و Ida Scheel. التنبؤ بوقت الحدث مع الشبكات العصبية وانحدار كوكس. مجلة أبحاث التعلم الآلي ، 20 (129): 1-30 ، 2019. [ورقة]
[2] جاريد ل. كاتزمان ، أوري شاهام ، ألكساندر كلونينجر ، جوناثان بيتس ، تينغتينغ جيانغ ، ويوفال كلوغر. DeepSurv: نظام التوصية المعالجة الشخصية باستخدام شبكة Neural Teportional COX. منهجية البحوث الطبية BMC ، 18 (1) ، 2018. [ورقة]
[3] Changhee Lee و William R Zame و Jinsung Yoon و Mihaela van der Schaar. DEPTHIT: نهج التعلم العميق لتحليل البقاء على قيد الحياة مع المخاطر المتنافسة. في مؤتمر AAAI الثاني والثلاثين حول الذكاء الاصطناعي ، 2018. [ورقة]
[4] لورا أنوليني ، باتريزيا بوراكي ، وإيليا بيانزولي. مؤشر التمييز المعتمد على الوقت لبيانات البقاء على قيد الحياة. إحصائيات في الطب ، 24 (24): 3927-3944 ، 2005. [ورقة]
[5] إريكا جراف ، كلوديا شمور ، ويلي سويربري ، ومارتن شوماخر. تقييم ومقارنة مخططات التصنيف النذير لبيانات البقاء على قيد الحياة. إحصائيات في الطب ، 18 (17-18): 2529-2545 ، 1999. [ورقة]
[6] توماس أ. جيردز ومارتن شوماخر. تقدير ثابت لنتيجة Brier المتوقعة في نماذج البقاء على قيد الحياة بشكل عام مع أوقات الأحداث التي يتم تربيتها اليمنى. مجلة Biometrical ، 48 (6): 1029-1040 ، 2006. [ورقة]
[7] تشارلز سي براون. حول استخدام متغيرات المؤشر لدراسة الاعتماد على الوقت للمعلمات في نموذج وقت الاستجابة. القياسات الحيوية ، 31 (4): 863-872 ، 1975. [ورقة]
[8] مايكل ف. جينشايمر وبالاسوبرامانيان ناراسيمهان. نموذج البقاء على قيد الحياة قابلة للتطوير للشبكات العصبية. Peerj ، 7: E6257 ، 2019. [ورقة]
[9] Chun-Nam Yu ، Russell Greiner ، Hsiu-Chin Lin ، و Vickie Baracos. تعلم توزيعات بقاء السرطان الخاصة بالمرضى كتسلسل للتراجعات التابعة. في التقدم في أنظمة معالجة المعلومات العصبية 24 ، الصفحات 1845-1853. Curran Associates ، Inc. ، 2011. [ورقة]
[10] ستيفان فوتو. الشبكات العصبية العميقة لتحليل البقاء على قيد الحياة بناءً على إطار عمل متعدد المهام. Arxiv preprint Arxiv: 1801.05512 ، 2018. [ورقة]
[11] مايكل فريدمان. النماذج الأسية مقصورة لبيانات البقاء على قيد الحياة مع المتغيرات المشتركة. حوليات الإحصاء ، 10 (1): 101-113 ، 1982. [ورقة]
[12] Håvard Kvamme و Ørnulf Borgan. التنبؤ على قيد الحياة المستمر والمنفصل مع الشبكات العصبية. Arxiv preprint Arxiv: 1910.06724 ، 2019. [ورقة]
[13] إيليا بيانزولي ، باتريزيا بوراكي ، لويجي مارياني ، وإيتور ماروبيني. تغذية الشبكات العصبية إلى الأمام لتحليل بيانات البقاء على قيد الحياة الخاضعة للرقابة: نهج الانحدار اللوجستي الجزئي. إحصائيات في الطب ، 17 (10): 1169-1186 ، 1998. [ورقة]
[14] ماركو فورنيلي ، فيديريكو أمبروجي ، باتريزيا بوراكي ، وإيليا بيانزولي. الشبكات العصبية الاصطناعية الأسية للقطاع (PEANN) لنمذجة وظيفة خطر مع البيانات المناسبة الخاضعة للرقابة. طرق الذكاء الحسابي للمعلوماتية الحيوية والإحصاء الحيوي ، الصفحات 125-136 ، 2014. [ورقة]
[15] Håvard Kvamme و Ørnulf Borgan. النتيجة Brier تحت الرقابة الإدارية: المشاكل والحلول. Arxiv Preprint Arxiv: 1912.08581 ، 2019. [ورقة]