Найти в Дзене

Кластеризация в пространственных задачах, когда работают классические методы

Кластеризация - это один из моих любимых подходов к анализу пространственных данных. Разнообразие возможностей применения и легкая интерпретируемость результатов делают его  одним из ключевых инструментов в арсенале пространственного аналитика. Но обо все по-порядку - начнем с основы. Кластеризация - это алгоритм разметки данных без учителя. Это означает, что заранее неизвестно из кого состоит выборка, и задача алгоритма найти в ней уникальные профили. Классическим использованием кластеризации является сегментация клиентов: например, с помощью такого алгоритма онлайн-магазин может узнать, что его сервисом пользуются 2 типа покупателей: семьи с детьми и  обеспеченные IT-шники одиночки - 2 "далеких" друг от друг профиля, не похожие между собой, но похожие внутри группы. Если изучать кластеризацию как часть Data Science, то непременно попадешь на эту страницу - там наглядно  и подробно разобраны особенности 11 наиболее популярных методов кластеризации. Однако ни в  одном из описании нет

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

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

Если изучать кластеризацию как часть Data Science, то непременно попадешь на эту страницу - там наглядно  и подробно разобраны особенности 11 наиболее популярных методов кластеризации. Однако ни в  одном из описании нет ничего о применении метода к пространственным данным. Значит ли это, что для гео аналитика существуют свои алгоритмы? И да и нет.

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

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

Пример такой задачи:

размещение вышек мобильных операторов или подстанций интернет-провайдеров в густонаселенном городе (в случае неравномерной плотности, помимо координат понадобятся дополнительные параметры)

Алгоритм для решения:

KMeans (возможно со взвешенным центром)

Параметры:

координаты зданий (дополнительно может быть указано число квартир для поиска взвешенного центра)

Преимущество:

быстрый на больших данных.

На картинке рекомендуемые зоны интернет-покрытия в одном из районов Лагоса
На картинке рекомендуемые зоны интернет-покрытия в одном из районов Лагоса

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

Пример такой задачи:

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

Алгоритм для решения:

иерархическая кластеризация (можно KMeans)

Параметры:

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

Преимущество:

легко интерпретировать результаты, а деление на кластеры можно визуализировать с помощью дендограммы

На картинке локации Старбакс в центре Москвы в 2020 г , наложенные на кластеризованные гексагоны. - Большая часть находится в 5 кластере
На картинке локации Старбакс в центре Москвы в 2020 г , наложенные на кластеризованные гексагоны. - Большая часть находится в 5 кластере

3. В-третьих, кластеризация подходит для выявления групп плотно расположенных событий (hotspots), например: сигналов телефонов, фотографий , аварий итд. Задачи могут быть разные в зависимости от геометрии: от поиска точек притяжения туристов до выбора городов с нужной плотность населения -  в масштабах страны густонаселенные города будут выглядеть как hotspots

Пример такой задачи:

Выявление основных кластеров рабочих мест на основе мобильных данных для размещения в них EV charging stations

Алгоритм для решения:

DBSAN

Параметры:

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

Преимущество:

можно контролировать максимальное расстояние между точками внутри кластера, легкая интерпретация

На картинке кластеры рабочей активности в Орландо, Флорида ( eps=200m)
На картинке кластеры рабочей активности в Орландо, Флорида ( eps=200m)

Это вводный курс по основам пространственного анализа с использованием Python. Наша цель — показать, как геоаналитические методы могут быть применены в бизнесе.

Курс предназначен для:

- GIS-специалистов с базовыми знаниями Python, которые хотят развить свои аналитические навыки;

- Аналитиков, которым необходимы геоинструменты для решения задач.

Курс полностью самостоятелен и включает возможность обсуждения в нашем чате в Telegram.

Посетите наш сайт, пройдите тест и присоединяйтесь к курсу.