Открыть сервис

Кластерный анализ

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

История

Первые формальные методы кластеризации были предложены в середине XX века. В 1932 году психолог Р. Трайон (R. C. Tryon) ввёл понятие «кластерный анализ» для описания процедуры группировки переменных в психологических тестах. В 1938 году Р. Фишер (R. A. Fisher) и Л. Тьюки (J. W. Tukey) разработали иерархические алгоритмы, основанные на последовательном объединении ближайших объектов. В 1950-е годы К. Мэлоун (K. Maloney) и М. Андерсон (M. Anderson) формализовали метод k-средних (k-means), который стал одним из самых популярных алгоритмов кластеризации. В 1960-е годы появились работы Г. Болла (G. Ball) и Д. Холла (D. Hall) по адаптивным методам, а также Д. Уишарта (D. Wishart) по иерархической кластеризации с использованием матрицы расстояний. В 1970-е годы кластерный анализ начал активно применяться в биологии (таксономия, экология), медицине (диагностика), социологии (сегментация рынка) и других областях. С развитием вычислительной техники и появлением больших данных в конце XX — начале XXI века алгоритмы кластеризации были адаптированы для работы с многомерными, нечисловыми и потоковыми данными, а также интегрированы в системы машинного обучения.

Основные понятия и принципы

Мера близости (расстояние)

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

Для категориальных данных применяются меры на основе частот (например, расстояние Жаккара, расстояние Хэмминга).

Критерии качества кластеризации

Качество разбиения оценивается через внутрикластерную дисперсию (сумму квадратов расстояний до центров кластеров) и межкластерную дисперсию. Основные критерии:

  • Среднее силуэтов (silhouette score) — мера, показывающая, насколько объект похож на свой кластер по сравнению с соседним.
  • Индекс Данна (Dunn index) — отношение минимального расстояния между кластерами к максимальному диаметру кластера.
  • Индекс Калински — Харабаса (Calinski-Harabasz index) — отношение межкластерной дисперсии к внутрикластерной.
  • Elbow method (метод локтя) — визуальный способ выбора числа кластеров по графику зависимости внутрикластерной суммы квадратов от числа кластеров.

Классификация методов кластеризации

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

Иерархическая кластеризация строит дендрограмму — дерево вложенных кластеров. Различают два подхода:

  • Агломеративный (снизу вверх) — каждый объект изначально является отдельным кластером, затем на каждом шаге объединяются два ближайших кластера. Используются различные критерии объединения: одиночная связь (single linkage), полная связь (complete linkage), средняя связь (average linkage), метод Уорда (Ward’s method).
  • Дивизивный (сверху вниз) — все объекты образуют один кластер, который последовательно делится на более мелкие.

Неиерархические (плоские) методы

Эти методы разбивают данные на заданное число кластеров без построения иерархии.

  • Метод k-средних (k-means) — итеративный алгоритм, минимизирующий сумму квадратов расстояний от объектов до центроидов кластеров. Требует указания числа кластеров k.
  • Метод k-медоидов (k-medoids) — аналог k-средних, но в качестве центров кластеров выбираются реальные объекты (медоиды). Более устойчив к выбросам.
  • Метод C-средних (fuzzy c-means) — нечёткая кластеризация, где каждый объект может принадлежать нескольким кластерам с разной степенью принадлежности.

Плотностные методы

Основаны на представлении кластеров как областей высокой плотности объектов, разделённых областями низкой плотности.

  • DBSCAN (Density-Based Spatial Clustering of Applications with Noise) — выделяет кластеры произвольной формы и автоматически определяет выбросы. Требует задания параметров: радиус окрестности (eps) и минимальное число точек в окрестности (minPts).
  • OPTICS (Ordering Points To Identify the Clustering Structure) — обобщение DBSCAN, строящее иерархию кластеров на основе плотности.

Вероятностные методы

Предполагают, что данные порождены смесью вероятностных распределений (чаще всего многомерных нормальных). Алгоритм EM (Expectation-Maximization) итеративно оценивает параметры смеси и апостериорные вероятности принадлежности объектов к компонентам.

Методы на основе графов

Кластеризация рассматривается как задача разбиения графа, где вершины — объекты, а рёбра взвешены мерой сходства. Используются алгоритмы спектральной кластеризации (например, метод нормализованных разрезов — normalized cuts) и методы выделения сообществ (community detection) в социальных сетях.

Применение

Биология и медицина

  • Таксономия — построение филогенетических деревьев на основе генетических последовательностей.
  • Диагностикавыделение подтипов заболеваний (например, онкологических) по экспрессии генов.
  • Экология — группировка видов по экологическим нишам.

Маркетинг и социология

  • Сегментация рынкаразделение потребителей на группы по демографическим, поведенческим или психографическим признакам.
  • Анализ социальных сетей — выявление сообществ, групп по интересам.

Информационные технологии

  • Сжатие данных — замена группы похожих объектов одним представителем (например, в обработке изображений).
  • Обнаружение аномалий — объекты, не попавшие ни в один кластер, могут быть выбросами или мошенническими транзакциями.
  • Рекомендательные системы — кластеризация пользователей или товаров для персонализированных рекомендаций.

Геоинформационные системы

  • Пространственная кластеризация — выделение скоплений точек (например, очагов преступности, месторождений полезных ископаемых).

Ограничения и критика

  • Чувствительность к масштабу и выбросам — большинство методов требуют предварительной нормализации данных и устойчивы лишь при отсутствии грубых ошибок.
  • Необходимость задания числа кластеров — для методов типа k-средних число кластеров должно быть известно заранее, что часто неочевидно.
  • Проклятие размерности — с ростом числа признаков расстояния между объектами становятся всё более равномерными, что снижает эффективность кластеризации.
  • Интерпретируемость — результаты кластеризации могут быть статистически обоснованными, но не всегда имеют практический смысл или соответствуют реальным категориям.
  • Нестабильность — при небольшом изменении входных данных или начальных условий (для итеративных алгоритмов) результат может существенно меняться.

Программные реализации

Кластерный анализ реализован во многих пакетах статистической обработки и языках программирования:

  • Python — библиотеки scikit-learn (KMeans, DBSCAN, AgglomerativeClustering), SciPy (иерархическая кластеризация), hdbscan.
  • R — пакеты cluster, fastcluster, dbscan.
  • MATLAB — встроенные функции kmeans, clusterdata, linkage.
  • SPSS, Statistica, SAS — модули кластерного анализа в коммерческих статистических пакетах.

Источники

  • Everitt, B. S., Landau, S., Leese, M., & Stahl, D. (2011). Cluster Analysis (5th ed.). Wiley.
  • Kaufman, L., & Rousseeuw, P. J. (2009). Finding Groups in Data: An Introduction to Cluster Analysis. Wiley.
  • Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning (2nd ed.). Springer.
  • Jain, A. K., Murty, M. N., & Flynn, P. J. (1999). Data clustering: a review. ACM Computing Surveys, 31(3), 264–323.
  • MacQueen, J. (1967). Some methods for classification and analysis of multivariate observations. Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, 1, 281–297.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →