Я разрабатываю приложение для прогнозирования, цель которого - позволить импортеру прогнозировать спрос на свою продукцию от своей сети дистрибьюторов. Данные о продажах являются довольно хорошим показателем спроса, если имеется достаточный запас для удовлетворения спроса. Однако, когда инвентарь сокращается до нуля (ситуация, которую мы ищем, чтобы помочь нашим покупателям избежать), мы не знаем, насколько сильно мы не достигли цели. Сколько продаж совершил бы клиент, если бы у него было достаточно поставок? Стандартные подходы ML, основанные на регрессии, которые используют Sales в качестве простой целевой переменной, будут давать противоречивые оценки взаимосвязи между временем, моими описательными переменными и спросом.
Моделирование тобитов - наиболее очевидный способ решения проблемы: http://en.wikipedia.org/wiki/Tobit_model . Меня интересует адаптация ML случайных лесов, GBMS, SVM и нейронных сетей, которые также учитывают левостороннюю цензурированную структуру данных.
Короче говоря, как я могу применить инструменты машинного обучения к регрессионным данным с левой цензурой, чтобы получить согласованные оценки отношений между моими зависимыми и независимыми переменными? Первым предпочтением будут решения, доступные в R, а затем в Python.
Ура,
Аарон
Ответы:
Если вы можете записать вероятность и повернуть знак минус, то у вас есть функция потери, которую можно использовать для многих моделей машинного обучения. В градиентном повышении это обычно называют повышением модели . См., Например, Алгоритмы повышения: регуляризация, прогнозирование и подгонка модели .
В качестве примера с моделью Tobit см. Модели тобитов с градиентным деревом для прогнозной бумаги по умолчанию . Метод должен быть доступен с веткой scikit-learn, упомянутой в статье.
Та же идея используется для правостороннего цензурированных данных в например,
gbm
иmboost
пакеты в R для правостороннего цензурированных данных.Вышеуказанная идея может быть применена с другими методами (например, нейронная сеть). Тем не менее, это особенно легко с повышением градиента, поскольку вам просто нужно вычислить градиент функции потерь (отрицательная логарифмическая вероятность). Затем вы можете применить любой метод, который вы предпочитаете, чтобы подогнать отрицательный градиент с потерями .L 2
источник