Как кластеризовать группы населения и интерпретировать результаты

Привет! Я Вероника из группы данных Бриклейн.

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

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

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

Алгоритмы кластеризации

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

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

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

Анализ результатов кластера

После создания кластеров модель выведет метку для каждой строки, представляющую кластер, к которому она принадлежит. К сожалению, кластеры представлены просто числом, и нет простого способа понять характеристики каждого из них. В нашем случае мы знаем, что можем разделить население на 5 групп, но не знаем, представляет ли одна группа студентов с минимальной заработной платой или высокооплачиваемых руководителей.

В некоторых статьях в Интернете предлагаются следующие решения этой проблемы:

  1. Подберите дерево решений к набору данных, используя метки кластера в качестве целевой переменной, а затем постройте дерево решений, чтобы посмотреть на правила разделов. Однако этот метод можно использовать только для неглубоких деревьев и наборов данных только с 2 или 3 функциями, поскольку более сложное дерево будет иметь слишком много правил и его невозможно будет интерпретировать.
  2. Установите модель логистической регрессии для прогнозирования кластеров и интерпретации коэффициентов. Это решение подходит для наборов данных с несколькими функциями и двоичной целевой переменной. Для задач, связанных с несколькими классами, нам придется подбирать модель классификации для каждого кластера, используя подход один против всех, что делает процесс довольно трудоемким. Более того, прогнозы модели классификации должны быть почти идеально точными, чтобы предсказанные метки действительно представляли кластеры, идентифицированные с помощью K-средних, поэтому очень простая модель может не удовлетворять этому условию.

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

SHAP (Аддитивные объяснения Шэпли) - это метод объяснения индивидуальных прогнозов путем вычисления вклада каждой функции в прогноз. Он ранжирует переменные по важности характеристик и показывает взаимосвязь между значением функции и влиянием на прогноз кластеров.

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

После подбора модели классификации влияние функций на прогноз каждого кластера можно визуализировать с помощью сводного графика. Сводный график сочетает важность функции с эффектами функций. Каждая точка на сводном графике представляет собой значение Шепли для объекта и экземпляра. Положение по оси Y определяется функцией, а по оси X - значением Шепли, которое в нашем случае представляет влияние на каждую предсказанную метку. Цвет представляет ценность функции от низкого до высокого. Перекрывающиеся точки колеблются в направлении оси Y, поэтому мы получаем представление о распределении значений Шепли для каждого объекта. Функции упорядочены по степени важности.

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

Затем я визуализировал сводные графики других кластеров и дал им более описательные имена, основанные на их характеристиках:

  • Пенсионеры - пожилые люди, работающие в сфере государственного управления и обороны, на производстве и в строительстве.
  • Молодые специалисты с высоким доходом - молодые специалисты с высоким годовым доходом, в основном работающие в сфере информации и связи, финансов и страхования.
  • Состоятельные семьи - семьи с высоким годовым доходом, работающие в сфере информации и связи, финансов, страхования и образования.
  • Городская молодежь - молодые люди, работающие в сфере образования, размещения и общественного питания, как правило, с более низким доходом.
  • Традиционные секторы с низким доходом - семьи с низкими доходами, работающие на транспорте, в оптовой, розничной и производственной сферах.

Результаты сопоставления

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

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

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

Заключение

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

Понравилась эта статья? Не забудьте подписаться на будущие обновления!