Содержание:

  1. Управляющее резюме
  2. Введение
  3. Методология
  4. Результаты
  5. Обсуждение
  6. Вывод
  7. Приложения

1. РЕЗЮМЕ

В этой статье мы увидим, как прогнозировать объем продаж клиентов, используя историю транзакций и наборы демографических данных. Мы пришли к выводу, что простая линейная регрессия может использовать годовой доход в качестве надежного предиктора будущих продаж.

2. ВВЕДЕНИЕ

Это тематическое исследование является частью курса «Введение в прогнозную аналитику с использованием Python» в Эдинбургском университете по программе прогнозной аналитики с использованием Python MicroMasters. Целью проекта является создание хорошо работающей прогностической модели, которая прогнозирует объем продаж клиентов с использованием демографических данных и данных о транзакциях.

3. МЕТОДОЛОГИЯ

3.1 Аналитический подход и требования к данным

Подход прогнозной аналитики выбран, поскольку нам нужно предсказать непрерывное число. Попутно мы охватываем классический цикл KDD (обнаружение знаний в базах данных), включая очистку данных, выбор и преобразование данных, интеллектуальный анализ данных, в результате чего появляются знания. Модель завершается простой регрессионной моделью как примером модели прогнозирования, ведущей к выводам. Поскольку мы используем простую линейную регрессию, данные должны быть в числовом формате.

Было два возможных подхода к проблеме прогнозирования продаж с учетом набора данных: совокупный объем продаж по клиенту или по продукту. В данном примере мы используем первый подход.

3.2 Данные

Мы работаем с двумя наборами данных, импортированными в формате CSV: CS_Purchase_data и CS_Customer_data.

Набор данных 1: CS_Purchase_data

Первый набор данных содержит 50000 транзакций по демографическим данным клиентов и данным о продуктах с функцией «Покупка», обозначающей сумму покупки. Переменные следующие:

  • Идентификатор пользователя
  • Идантификационный номер продукта
  • Пол
  • Возраст
  • Занятие
  • Город_Категория
  • Stay_In_Current_City_Years
  • Семейное положение
  • Product_Category_1
  • Product_Category_2
  • Product_Category_3
  • Покупка

Выбор характеристик.
Поскольку подход к упражнению заключается в прогнозировании транзакций по клиентам, мы опускаем характеристики продукта «Product_ID», «Product_Category_1», «Product_Category_2», «Product_Category_3».

Агрегирование наблюдений.
Затем мы агрегируем транзакцию клиента с помощью User_ID и создаем новую функцию «Сумма_покупки», суммируя значения транзакций для пользователя. Набор данных включает транзакции для 5424 клиентов.

Набор данных 2: CS_Customer_data

Затем мы импортируем второй набор данных CS_Customer_data, содержащий 5424 записи клиентов с пятью функциями:

  • Идентификатор пользователя
  • годовой доход
  • Число детей
  • близость_таун
  • сумма

Объединить наборы данных
Мы объединяем данные в обоих наборах данных, объединяя их справа на «User_ID».

Приложение 1 Feature Histograms отображает распределения переменных гистограмм.

Формат переменных
Затем мы приводим категориальные характеристики (пол, категория города), бинарные (семейное положение, род занятий) и группированные переменные (пребывание в текущем городе, годы, возраст) в числовом формате. путем создания фиктивных переменных. Мы также опускаем идентификатор пользователя, так как он бесполезен для регрессии.

Окончательная предварительная обработка
Независимая переменная close_town содержит 158 отсутствующих значений. Мы заменяем пропущенные значения средним значением. Алгоритм LocalOutlierFactor идентифицировал выбросы, используя в качестве параметров 20 соседей и 5% загрязнения.

3.3 Трансформация

Нормализация
Мы преобразуем нормализацию «Род занятий», «Сумма_покупок», «Годовой_доход»,
«Количество_детей», «Город_близости», «Сумма».

3.4 Методология моделирования

Мы использовали простую ванильную модель простой линейной регрессии для прогнозирования непрерывных переменных, фиксируя взаимосвязь между близостью переменных к городу и годовым доходом по отдельности.

4 РЕЗУЛЬТАТА

Близость к городу была плохим предсказателем. Прогнозируемая линия оставалась почти горизонтальной при различных значениях близости. Ошибки были исключительно высокими для более низких значений с более низкой близостью.

Как видно из рисунка 4.2 годовой доход SLR, годовой доход, по-видимому, имеет сильную линейную зависимость от объема продаж даже без дополнительных функций или дальнейшего преобразования.

5 ОБСУЖДЕНИЕ

Без дальнейшего преобразования близость сама по себе не является хорошим предиктором. Логарифмическое преобразование, полиномиальное преобразование или создание новой функции, включающей переменную (например, узлы нейронной сети или ручное умножение на другую переменную), потенциально могут сделать эту функцию более полезной.

Годовой доход был бы сильным предсказателем для прогнозирования объема продаж для клиента.
Помимо использования модели SLR для прогнозирования, компания может использовать эту информацию для более глубокого изучения следующих вопросов:

Помимо располагаемого дохода, почему потребители с более низким доходом имеют меньший объем продаж своей продукции? Могут ли клиенты, чувствительные к цене, быть недостаточно обслужены? Есть ли возможность представить более бюджетные нишевые продукты? Как мы можем использовать эту информацию для разработки наших маркетинговых кампаний?
Коррелирует ли переменная дохода с другими демографическими переменными, которые могли бы лучше объяснить поведение клиентов? Множественная линейная регрессия, хорошо интерпретируемая модель, может помочь ответить на этот вопрос. Мы могли бы интерпретировать коэффициенты и получить дополнительную информацию о сегментах для разработки новых продуктовых предложений.

6. ЗАКЛЮЧЕНИЕ

Мы объединили данные о транзакциях, а набор данных клиентов обработал и преобразовал данные. Затем мы ответили на вопрос, можем ли мы построить хорошо работающую модель для прогнозирования продаж клиентов. Ответ был утвердительным. Используя простую линейную регрессию с использованием годового дохода в качестве предиктора, мы визуально видим, что линия регрессии близко следует за точками данных.

В эпоху, когда в моде глубокое обучение, было приятно увидеть, насколько эффективной может быть линейная регрессия только с одной переменной. Недорогой в вычислительном отношении и легко интерпретируемый. Прежде чем создавать более сложный алгоритм, требующий больших объемов данных, и собирать больше данных для его подачи, возможно, стоит остановиться и подумать. Может ли простая модель стать надежной отправной точкой и выполнить работу для этого приложения? Если нет, по крайней мере, мы можем использовать его для изучения и интерпретации взаимосвязей между переменными и прогнозируемым значением, что может помочь в выборе признаков, понимании реальных отношений между различными измерениями и, что еще хуже, иметь контрольный показатель. Давайте пока не будем списывать со счетов старую добрую линейную регрессию!

Будущие направления
нам нужно разделить набор данных на обучающие, проверочные и тестовые наборы, чтобы точно настроить гиперпараметры и сообщить прогнозную эффективность невидимых данных. Мы можем расширить модель, включив в нее больше функций, чтобы охватить больше дисперсии, присутствующей в данных.

ПРИЛОЖЕНИЯ

Приложение 1: Гистограммы распределения признаков

Приложение 2: Ссылки

Это тематическое исследование является частью Введение в прогнозную аналитику с использованием Python
EdinburghX — PA4.1x_MM

Университет Эдинбурга Predictive Analytics с использованием программы Python MicroMasters

Авторские права © 2021 Schwarzwald_AI