Введение
Кластерный анализ — задача разбиения определенного множества объектов на группы, называемые кластерами так, чтобы каждый кластер состоял из схожих объектов, а объекты разных кластеров существенно отличались. Данный анализ предполагает следующие цели:
- Понимание данных путем выявления кластерной структуры.
- Сжатие данных. Если исходная выборка избыточно большая, то можно сократить её, оставив по одному наиболее типичному представителю от каждого кластера.
- Обнаружение новизны. Выделяются нетипичные объекты, которые не удаётся присоединить ни к одному из кластеров.
В данной статье будет использоваться метод нечеткой кластеризации c-means. Отличительной особенностью нечеткой кластеризации является тот факт, что каждый объект может относиться к каждому кластеру с определенной степенью принадлежности.
Для анализа будут выбраны 17 крупнейших городов России по населению, в качестве характеристик выступают социально-экономические показатели (демография, занятость населения, зарплата, преступность и т.д.). Результатом будут являться полученные кластеры городов.
Алгоритм нечеткой кластеризации методом c-means
Обозначения:
- Обучающее множество , где d — количество точек (векторов) данных.
- Матрица A определяет способ вычисления расстояния. Например, для единичной матрицы будем использовать расстояние по Евклиду.
Алгоритм выглядит следующим образом:
- Выбрать количество кластеров .
- Выбрать скалярную метрику для отображения векторов на вещественную ось.
- Выбрать параметр остановки .
- Выбрать коэффициент нечеткости .
- Проинициализировать матрицу разбиения U (например, случайными значениями).
- Вычислить прототипы (центры) кластеров по формуле .
- Для всех элементов данных высчитать квадраты расстояний до всех центров кластеров по формуле .
- Обновить матрицу разбиений по формуле для всех .
- Проверить условие . Если условие выполняется, завершить процесс, если нет – перейти к шагу 6 с номером итерации l = l + 1.
Целевая функция .
Набор ограничений
Анализ показателей и интерпретация результатов
Исходные данные для анализа были отобраны от сюда. Абсолютные показатели (например, количество преступлений, среднегодовая численность работников и пр.) были переведены в относительные, исходя из численности населения. Всего в анализе учавствует 17 городов России, описанные 10 параметрами. Данные, которые использовались для анализа приведены в таблице.
Если провести кластерный анализ, указав количество кластеров равным 3, то получим следующий результат
Условно, город относится к тому или иному кластеру по критерию максимума принадлежности данному кластеру. Как видно, в отдельный кластер была вынесена Москва. Одна из целей кластерного анализа это определение нетипичных объектов. Москва является нетипичным городом для данной выборки, поскольку занимает отдельный кластер. В остальных двух кластерах количество отнесенных объектов равно 8-ми в каждом.
Можно увеличить количество кластеров до 5, в таком случае на выходе будет данный результат
Москва по-прежнему, занимает отдельный кластер, но появляется еще один нетипичный объект — Санкт-Петербург. В остальных кластерах остается по 5 городов. Получается, что имеется два нетипичных города в заданных условиях, которые не близки между собой. Им характерны следующие черты: большое количество жителей, наиболее высокая зарплата, относительно низкий уровень преступности, малый процент обучающихся в общеобразовательных учреждениях, а также высокий процент среднегодовой численности работников.
Можно предположить, что для человека миграция из одного города в другой в рамках одного кластера, будет производить незначительный общий эффект, если не учитывать климатические условия и другие специфические параметры, которые не были учтены в исходных данных.
В статье описан алгоритм нечеткой кластеризации c-means для определения степени принадлежности группы объектов к кластерам на примере крупных городов России. Данный метод можно применять для анализа потребителей, ситуаций, объектов при распознавании образов и других задачах, где необходимо определить общность объектов в рамках заданной группы.
Дополнительные источники информации
- Fuzzy clustering on Wikipedia
- Cluster Analysis on Wikipedia
- Кластерный анализ на Википедии
- Анализ данных и процессов / А.А.Барсегян, М.С.Куприянов, И.И.Холод, М.Д.Тесс, С.И.Елизаров. З-е изд. перераб. и доп. СПб.
Автор: sermal