Вопрос или проблема
Возможно ли построить модель склонности (т.е. вероятность того, что пользователь купит товар), используя только положительные значения?
Например, у меня есть множество данных о Клиентах (людях, которые что-то купили) и Пользователях (людях, которые еще ничего не купили). Я хочу узнать вероятность того, что Пользователь станет Клиентом.
Кажется, единственный способ сделать это — обучить модель, используя данные Клиентов, тем самым используя только положительные значения.
Модель, построенная только на положительных значениях, будет смещена в сторону положительных значений и всегда будет предсказывать для Клиентов, которые что-либо купили ранее. Но для клиентов, которые ничего не купили, модель не сможет сделать никаких предсказаний.
Тип модели зависит от данных.
Если данные включают временной момент, когда некоторые люди конвертировались, то анализ может выявить характеристики, связанные с конверсией. Один из вариантов — оценка Каплана–Мейера для конверсии / не конверсии.
Если в данных нет времени конверсии, но каждая строка помечена как клиент / неклиент, то это можно представить как бинарную классификацию. Можно использовать любую традиционную модель классификации; популярные модели включают бустированные деревья и линейные модели.
Если данные содержат только клиентов, то можно выполнить классификацию одного класса.
Ответ или решение
Создание модели предсказания склонности (или вероятности того, что пользователь купит товар) на основе только положительных данных представляет собой сложную задачу, но это возможно с некоторыми ограничениями и подходами.
Проблема
Вы имеете данные только о клиентах (люди, которые совершили покупку), но у вас нет информации о пользователях, которые не совершили покупку. В этом контексте основная проблема заключается в том, что модель, обученная только на положительных примерах (т.е. клиентах), будет иметь тенденцию предсказывать вероятность покупки только для тех, кто уже купил. Это может привести к предвзятости модели, которую следует учитывать при интерпретации результатов.
Подходы к решению
-
Использование временных меток: Если у вас есть временные метки для данных о клиентах (например, время, когда они совершили покупку), вы можете использовать методы анализа времени до события, такие как оценка Каплана-Мейера. Эти методы позволяют оценивать вероятность события (в данном случае, конверсии) и могут помочь идентифицировать характеристики клиентов, которые были связаны с конверсией.
-
Преобразование задачи в бинарную классификацию: Если у вас есть метки для клиентов (например, «клиент» или «не клиент»), но нет временных меток, вы можете рассматривать задачу как задачу бинарной классификации. Для этого можно использовать традиционные модели классификации, такие как градиентные деревья Boosting (например, XGBoost) или линейные модели. Однако необходимо учитывать, что модели, обученные на положительных примерах, могут не обеспечивать адекватные предсказания для пользователей, которые не являются клиентами.
-
Одноклассовая классификация: Если данные содержат только положительные примеры (т.е. только клиенты), можно рассмотреть использование методов одноклассовой классификации. Эти методы предназначены для работы только с одним классом и могут использоваться для выявления отклонений от обычного поведения клиентов. Например, вы можете использовать алгоритмы, такие как SVM с одноклассным подходом, которые пытаются создать границу решения для позитивного класса и игнорируют отрицательные примеры.
-
Синтетические данные: Если возможно, вы также можете рассмотреть создание синтетических данных для пользователей, которые не стали клиентами. С использованием методов генерации данных, таких как SMOTE (Synthetic Minority Over-sampling Technique), можно создать примеры, которые будут представлять пользователей, не купивших товар. Это позволит улучшить обучаемость модели и снизить предвзятость.
Заключение
Создание модели предсказания склонности с использованием только положительных данных — это сложная задача, и подход, который вы выберете, будет зависеть от доступности данных и контекста задачи. Важно помнить о рисках предвзятости и учитывать их на каждом этапе построения модели. Подход к задаче должен быть гибким, с возможностью обсуждения различных методов, чтобы лучше адаптироваться к системам данных, которые у вас есть.