"Чистая"
и прикладная математика

ЗАДАЧА КЛАСТЕРИЗАЦИИ, КЛАСТЕРНЫЙ АНАЛИЗ: ПРИМЕНЕНИЕ, ОСНОВНЫЕ МЕТОДЫ

Задача кластеризации (то же самое, что кластерный анализ) решена, если получено разбиение множества объектов на подмножества, называемых кластерами. Основное условие решения: объекты, принадлежащие одному кластеру должны быть больше похожи друг на друга, чем объекты из других кластеров. Критерий «похожести» может быть один, но их может быть и несколько.

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

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

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

Применение

Обозначим некоторые сферы, в которых решение задачи кластеризации помогает решать многие прикладные задачи.

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

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

Что не является кластеризацией?
  • Контролируемая классификация, например, наивный байесовский классификатор и другие, когда имеется информация о признаках класса.
  • Простая сегментация: сегментация врачей по специальностям при условии, что специальность каждого врача известна; сегментация клиентов по полу, уровню образования, географии и коэффициенту отклика (при условии, что эти характеристики клиентов известны).

Разберем кратко наиболее часто применяемые методы кластеризации.

Метод k-средних

Этот метод применяется чаще всех в тех случаях, когда исследователь заранее предполагает, что интересующие его объекты могут быть разделены на известное ему определенное число кластеров (k кластеров). Тогда, исходя из этой гипотезы, по методу k-средних выстраиваются 3, 4, 5 (выбрать или добавить) кластеров объектов, подлежащих группировке. Кластеры располагаются так, чтобы расстояние между ними было как можно большим.

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

В ряде случаев, когда число кластеров исследователю заранее не известно, применению метода k-средних предшествует применение другого метода - иерархического - с целью определить оптимальное число кластеров.

Иерархический метод

Существует две основные разновидности иерархического метода: агломеративная и разделительная.

Агломеративная основана на принципе древовидного иерархического объединения. На первом этапе иерархической кластеризации все объекты из выборки определяются как отдельные кластеры. А далее наиболее похожие объекты объединяются в пары. Затем поэтапно наиболее похожие пары объединяются в более крупные кластеры. В результате на выходе представлено бинарное дерево. Оно позволяет достаточно точно интерпретировать различия между объектами и кластерами объектов и меры различий.

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

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

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

Метод на основе плотности (DBSCAN)

Этот метод позволяет определить объекты, принадлежащие кластерам, и объекты, которые не вошли ни в один кластер («шум»). Кластер формируется как группа плотно расположенных точек, а у «шума» плотность точек значительно ниже.

Для применения метода требуется заранее задать максимально возможное расстояние между объектами, принадлежащими одному кластеру.

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

Методы нечеткой кластеризации

Рассмотренные выше методы являются методами четкой кластеризации. Они разбивают исходное множество объектов на несколько непересекающихся подмножеств. При этом любой объект принадлежит только одному кластеру.

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

Характерный пример: нужно определить в разные кластеры два частично перекрывающих друг друга круга на изображении. Известны точки пересечения кругов. Если применяется четкая кластеризация, то эти точки (точки пересечения) будут помещены в какой-то один из двух кластеров, хотя они, во-первых, одновременно принадлежат двум кругам и, во-вторых, находятся на одинаковом расстоянии от их центров.

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

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

Одно и то же растение может произрастать в тропических, субтропических или умеренных климатических широтах. Где-то условия для его произрастания более благоприятны и в этих местах оно распространено более широко, чем в других широтах, где условия менее благоприятны. Тем не менее, это растение может одновременно принадлежать к «тропичеким», «субтропическим» и «умеренного климатического пояса», но с разной степенью принадлежности.

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

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

Немного о специалисте

Я - автор проекта "Чистая" и прикладная математика" function-x.ru Юрий Зубков. Проведу кластерный анализ Ваших данных с использованием программной среды Python или R.

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

Один рабочий день стоит 3000 рублей. Оплата через Webmoney или на карту Mastercard.

Форма обратной связи

Имя
Фамилия
E-mail
Опишите тему исследования и данные, которыми Вы располагаете

Введите сумму