Як можна використовувати моделі машинного навчання (GBM, NN тощо) для аналізу виживання?


13

Я знаю, що традиційні статистичні моделі, такі як регресія пропорційних ризиків Кокса та деякі моделі Каплана-Мейєра, можуть використовуватися для прогнозування днів до наступного виникнення події, наприклад, відмови тощо, тобто аналізу виживання

Запитання

  1. Як можна використовувати регресійну версію моделей машинного навчання, таких як GBM, нейронні мережі тощо, для прогнозування днів до настання події?
  2. Я вважаю, що використання днів до виникнення як цільової змінної та простого запуску регресійної моделі не вийде? Чому це не працює і як це можна виправити?
  3. Чи можемо ми перетворити задачу аналізу виживання в класифікацію і потім отримати ймовірності виживання? Якщо тоді як створити змінну бінарної цілі?
  4. Які плюси та мінуси підходу до машинного навчання проти регресії пропорційних небезпек Кокса та моделей Каплана-Меєра тощо?

Уявіть, що вибіркові вхідні дані мають наступний формат

введіть тут опис зображення

Примітка:

  • Датчик записує дані з інтервалом в 10 хвилин, але часом дані можуть бути відсутніми через випуск мережі тощо, як це представлено рядком з NA.
  • var1, var2, var3 - це предиктори, пояснювальні змінні.
  • fail_flag повідомляє, вийшла з ладу машина чи ні.
  • Ми маємо дані за останні 6 місяців через кожні 10 хв інтервалу для кожної машини

Редагувати:

Очікуване прогнозування виходу має бути у форматі нижче введіть тут опис зображення

Примітка. Я хочу передбачити ймовірність виходу з ладу для кожної з машин протягом наступних 30 днів на щоденному рівні.


1
Я думаю, що це допоможе, якби ви могли пояснити, чому це дані про події; який саме відповідь ви хочете моделювати?
Кліф АВ

Я відредагував та додав таблицю прогнозування очікуваного виходу, щоб зробити це зрозумілим. Повідомте мене, якщо у вас є додаткові запитання.
GeorgeOfTheRF

1
Існують способи перетворення даних про виживання у бінарні результати в деяких випадках, наприклад, дискретні моделі небезпеки в часі: statisticshorizons.com/wp-content/uploads/Allison.SM82.pdf . Деякі методи машинного навчання, такі як випадкові ліси, можуть моделювати час для подій, наприклад, використовуючи статистику ранжування журналу як критерій розщеплення.
dsaxton

@dsaxton Дякую Чи можете ви пояснити, як перетворити вищезазначені дані про виживання у бінарні результати?
GeorgeOfTheRF

Після більш детального ознайомлення, здається, у вас вже є двійкові результати з failure_flag.
dsaxton

Відповіді:


6

Що стосується нейронних мереж, це перспективний підхід: WTTE-RNN - Менш прогноз хакі-хор .

Суть цього методу полягає у використанні періодичної нейронної мережі для прогнозування параметрів розподілу Weibull на кожному етапі та оптимізації мережі за допомогою функції втрат, яка враховує цензуру.

Автор також випустив свою реалізацію на Github .


2

Погляньте на ці посилання:

https://www.stats.ox.ac.uk/pub/bdr/NNSM.pdf

http://pcwww.liv.ac.uk/~afgt/eleuteri_lyon07.pdf

Також зауважте, що традиційні моделі на основі небезпеки, такі як пропорційна небезпека Кокса (CPH), не розроблені для прогнозування часу та події, а для того, щоб зробити висновок про вплив змінних (залежність) від i) спостережень за подіями і, отже, ii) кривою виживання . Чому? Подивіться на MLE CPH.

Отже, якщо ви хочете більш прямо передбачити щось на кшталт "днів до появи", CPH може не доцільно; інші моделі можуть краще виконувати ваше завдання, як зазначено у вищезгаданих двох посиланнях.


1

Як сказав @dsaxton, ви можете побудувати дискретну модель часу. Ви налаштували його для прогнозування p (невдача в цей день, зберігся до попереднього дня). Ваші входи - поточний день (у будь-якому представленні, яке ви хочете), наприклад, одне гаряче кодування, ціле число, .. сплайн ..., а також будь-які інші незалежні змінні, які вам можуть захотіти

Таким чином, ви створюєте рядки даних для кожного зразка, який дожив до часу t-1, чи вмирав він в момент t (0/1).

Тож тепер ймовірність вижити до часу Т є добутком p (не вмирати в той час, коли не дано вмирати при t-1) при t = 1 до T. Тобто ви робите прогнози T у вашій моделі, а потім множимо разом.

Я б сказав, що її не така ідея прямо передбачити час до невдачі - через приховану структуру проблеми. Наприклад, що ви вводите для машин, які не вийшли з ладу. Базова структура фактично є незалежними подіями: невдача в момент часу, задана не вийшла з ладу до t-1. Так, наприклад, якщо ви вважаєте, що він постійний, то ваша крива виживання стає експоненціальною (див. Моделі небезпеки)

Зауважте, у випадку, якщо ви можете моделювати з 10-хвилинним інтервалом або зібрати проблему класифікації до денного рівня.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.