Я знаю, что традиционные статистические модели, такие как регрессия пропорциональных рисков Кокса и некоторые модели Каплана-Мейера, могут использоваться для прогнозирования дней до следующего возникновения события, скажем, провала и т. Д., Т. Е. Анализа выживания
Вопросов
- Как можно использовать регрессионную версию моделей машинного обучения, таких как GBM, нейронные сети и т. Д., Для прогнозирования дней до наступления события?
- Я полагаю, что использование дней до появления в качестве целевой переменной и упрощение работы регрессионной модели не сработает? Почему это не работает и как это можно исправить?
- Можем ли мы преобразовать проблему анализа выживания в классификацию и затем получить вероятности выживания? Если тогда как создать двоичную целевую переменную?
- Каковы плюсы и минусы подхода машинного обучения по сравнению с регрессией пропорциональных рисков Кокса, моделями Каплана-Мейера и т. Д.?
Представьте пример входных данных в формате ниже
Замечания:
- Датчик проверяет данные с интервалами в 10 минут, но иногда данные могут отсутствовать из-за проблем с сетью и т. Д., Как показано строкой с NA.
- var1, var2, var3 являются предикторами, объясняющими переменными.
- fail_flag сообщает, произошел сбой или нет.
- У нас есть данные за последние 6 месяцев через каждые 10 минут для каждого идентификатора машины.
РЕДАКТИРОВАТЬ:
Ожидаемый выходной прогноз должен быть в следующем формате
Примечание: я хочу предсказать вероятность отказа для каждой из машин на следующие 30 дней на ежедневном уровне.
machine-learning
classification
survival
cox-model
kaplan-meier
GeorgeOfTheRF
источник
источник
failure_flag
.Ответы:
Для случая нейронных сетей это многообещающий подход: WTTE-RNN - Менее предсказуемое предсказание оттока .
Суть этого метода заключается в том, чтобы использовать рекуррентную нейронную сеть для прогнозирования параметров распределения Вейбулла на каждом временном шаге и оптимизировать сеть, используя функцию потерь, которая учитывает цензуру.
Автор также выпустил свою реализацию на Github .
источник
Посмотрите на эти ссылки:
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 может быть нежелательным; другие модели могут лучше служить вашей задаче, как отмечено в приведенных выше двух ссылках.
источник
Как сказал @dsaxton, вы можете построить модель с дискретным временем. Вы устанавливаете это, чтобы предсказать p (сбой в этот день, учитывая, выжил до предыдущего дня). Ваши входные данные - текущий день (в любом представлении, которое вы хотите), например, одно горячее кодирование, целое число, .. Сплайн ... Как и любые другие независимые переменные, которые вы можете захотеть
Таким образом, вы создаете строки данных, для каждого образца, которые выжили до времени t-1, умер ли он в момент времени t (0/1).
Таким образом, теперь вероятность выживания до момента времени T является произведением p (не умирай в момент времени t, заданный, не умирал в момент времени t-1) при t = 1 до T. Т.е. вы делаете T прогнозы из своей модели, а затем умножить вместе.
Я бы сказал, что причина не в том, чтобы напрямую предсказать время до отказа, а из-за скрытой структуры проблемы. Например, что вы вводите для машин, которые не вышли из строя. Базовая структура - это, по сути, независимые события: сбой в момент времени t не повредил до t-1. Так, например, если вы предполагаете, что оно постоянное, тогда ваша кривая выживания становится экспоненциальной (см. Модели риска)
Обратите внимание, что в вашем случае вы можете моделировать с 10-минутным интервалом или агрегировать проблему классификации до уровня дня.
источник