Задачи регрессии
Задачи регрессии — это задачи машинного обучения при использовании числового целевого столбца. В следующем примере показано, как четко сформулировать бизнес-задачу, а затем собрать набор данных для обучения, в котором все признаки будут равноценны. Он предлагает хорошую основу для создания прогнозной регрессионной модели.
Пример регрессии: пожизненная ценность клиента
Для начала предположим, что после обучения на исторических данных клиентов модель машинного обучения обучится прогнозировать пожизненную ценность клиента с помощью нескольких признаков, которые оказывают влияние на результат прогнозирования. Для этого мы собираем набор данных с историческими сведениями обо всех прошлых и текущих клиентах. Каждому клиенту соответствует одна строка, а в столбцах представлены признаки, описывающие клиента: ИД клиента, пол, возраст, дата, когда он стал клиентом, почтовый индекс, количество совершенных покупок и общая сумма покупок.
Образцы собранных данных

Пожизненную ценность клиента можно определить как общую сумму покупок. Собранные данные передаются алгоритму машинного обучения, чтобы он научился прогнозировать общую сумму покупок. По мере появления новых клиентов в будущем этот обученный алгоритм можно будет использовать для прогнозирования того, какую сумму они принесут компании в течение всего жизненного цикла клиента. Однако при таком подходе существует ряд проблем.
-
Набор данных может включать людей, которые были клиентами в течение одного дня, одного месяца или одного года. Значение общей суммы покупок отражает не то, сколько клиент потратит, а то, сколько он потратил на данный момент.
-
Клиент, чья учетная запись существует один день, возможно, станет клиентом с высокой пожизненной ценностью. Но поскольку он стал клиентом только вчера, он совершил всего одну покупку и не потратил много денег. Если включить такого клиента в набор данных для обучения, после обучения алгоритм машинного обучения будет ошибочно считать его клиентом, который не приносит много денег.
-
Допустим, у нас появился новый клиент, который в первый месяц заказывал товары три раза в неделю, в общей сложности он сделал 12 покупок. Другой клиент, который совершал покупку раз в месяц в течение одного года, возможно, потратил такую же сумму денег. Алгоритм машинного обучения будет считать этих двух клиентов равноценными с точки зрения пожизненной ценности клиента, тогда как на самом деле клиент, который сделал много покупок в первый месяц, может быть значительно более ценным в долгосрочной перспективе.
Чтобы избежать этих проблем, необходимо четко сформулировать задачу для определения пожизненной ценности клиента и подготовить подходящий набор данных для решения этой задачи. Для этого рекомендуется включить фактор времени в формулировку задачи.
Включение фактора времени
Чтобы включить фактор времени, сначала определим сумму покупок за первый год как общую сумму денег, потраченных клиентом в его первый год обслуживания в компании. После этого можно использовать поведение клиента в течение первых трех месяцев в качестве признаков, чтобы спрогнозировать общую сумму его покупок в течение первого года. Сумма покупок за первый год — это точное определение представляющей интерес метрики, которое включает в себя интервал времени. Преимущество создания такой точной метрики заключается в том, что она делает все примеры из нашего набора данных для обучения равноценными.
Обратите внимание, что поскольку сейчас рассматривается общая сумма денег, потраченных клиентами в течение их первого года обслуживания в компании, необходимо ограничить набор данных для обучения и включить в него только тех, кто является клиентом компании не менее одного года. Набор данных можно представить следующим образом:
Набор данных, включающий фактор времени

В этой таблице каждая строка представляет человека, который является клиентом компании не менее одного года. Столбцы включают признаки, описывающие человека в момент, когда он стал клиентом, а также признаки, отражающие его активность в течение выбранного интервала времени.
Активность измеряется количеством покупок, совершенных за первые три месяца, и общей суммой покупок за первые три месяца. Целевой столбец показывает общую сумму денег, потраченных в первый год. Это и есть сумма покупок за первый год, и мы должны научить алгоритм машинного обучения прогнозировать ее.
Обратите внимание, как четко теперь сформулирована задача во временных рамках: «Спрогнозировать, сколько денег принесет клиент компании в течение первого года, основываясь на его поведении в течение первых трех месяцев».
Сравнение задач регрессии и временных рядов
Задачи регрессии схожи с задачами временных рядов как по целевой переменной, так и по реальным сценариям использования, которые они включают. Существует также несколько различий между этими двумя типами задач.
Для получения дополнительной информации о задачах временных рядов см. Задачи временных рядов.
Сходства
-
Обе модели должны иметь целевой столбец числового типа.
-
Обе модели обычно используются в финансовых сценариях, связанных с прогнозированием продаж и денежных потоков.
Отличия
-
Задачи временных рядов поддерживают сгруппированные целевые показатели, в то время как задачи регрессии — нет (см. Компоненты задачи временных рядов). Сценарии с группами можно реализовать в задачах регрессии путем обучения нескольких различных моделей, выполнив глобальное обучение по группам.
-
Задачи временных рядов поддерживают сценарии, в которых переменные признака известны заранее — например, прогнозы погоды, запланированные рекламные скидки, а также даты будних, выходных или праздничных дней. Эти переменные признака известны как Будущие признаки.
-
Для задач временных рядов данные должны быть проиндексированы по дате или дате и времени с фиксированным временным интервалом. Кроме того, во время обучения и прогнозирования ожидается и генерируется различное содержимое данных (см. Подготовка набора данных для обучения и Подготовка набора данных для применения).
-
В задачах временных рядов прогнозируемые значения имеют прямую связь с датами и временем. В задачах регрессии прогнозируемые значения могут соответствовать или не соответствовать определенным датам и времени; даже если связь имеется, она не является прямой и явно не обозначается в выходных данных.
-
Используются различные алгоритмы (см. Общее представление об алгоритмах модели).