Кластерный анализ: его метод и сфера применения. Пример использования кластерного анализа STATISTICA в автостраховании Последовательность проведения кластерного анализа включает в себя

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

Большинство исследователей склоняются к тому, что впервые термин «кластерный анализ» (англ. cluster - гроздь, сгусток, пучок) был предложен математиком Р.Трионом . Впоследствии возник ряд терминов, которые в настоящее время принято считать синонимами термина «кластерный анализ»: автоматическая классификация; ботриология.

Кластерный анализ - это многомерная статистическая процедура, выполняющая сбор данных, содержащих информацию о выборке объектов, и затем упорядочивающая объекты в сравнительно однородные группы (кластеры)(Q-кластеризация, или Q-техника, собственно кластерный анализ). Кластер - группа элементов, характеризуемых общим свойством, главная цель кластерного анализа - нахождение групп схожих объектов в выборке. Спектр применений кластерного анализа очень широк: его используют в археологии, медицине, психологии, химии, биологии, государственном управлении, филологии, антропологии, маркетинге, социологии и других дисциплинах. Однако универсальность применения привела к появлению большого количества несовместимых терминов, методов и подходов, затрудняющих однозначное использование и непротиворечивую интерпретацию кластерного анализа. Орлов А. И. предлагает различать следующим образом:

Задачи и условия

Кластерный анализ выполняет следующие основные задачи :

  • Разработка типологии или классификации.
  • Исследование полезных концептуальных схем группирования объектов.
  • Порождение гипотез на основе исследования данных.
  • Проверка гипотез или исследования для определения, действительно ли типы (группы), выделенные тем или иным способом, присутствуют в имеющихся данных.

Независимо от предмета изучения применение кластерного анализа предполагает следующие этапы :

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

Кластерный анализ предъявляет следующие требования к данным :

  1. показатели не должны коррелировать между собой;
  2. показатели не должны противоречить теории измерений;
  3. распределение показателей должно быть близко к нормальному;
  4. показатели должны отвечать требованию «устойчивости», под которой понимается отсутствие влияния на их значения случайных факторов;
  5. выборка должна быть однородна, не содержать «выбросов».

Можно встретить описание двух фундаментальных требований предъявляемых к данным - однородность и полнота:

Однородность требует, чтобы все сущности, представленные в таблице, были одной природы. Требование полноты состоит в том, чтобы множества I и J представляли полную опись проявлений рассматриваемого явления. Если рассматривается таблица в которой I - совокупность, а J - множество переменных, описывающих эту совокупность, то должно должно быть представительной выборкой из изучаемой совокупности, а система характеристик J должна давать удовлетворительное векторное представление индивидов i с точки зрения исследователя .

Если кластерному анализу предшествует факторный анализ , то выборка не нуждается в «ремонте» - изложенные требования выполняются автоматически самой процедурой факторного моделирования (есть ещё одно достоинство - z-стандартизация без негативных последствий для выборки; если её проводить непосредственно для кластерного анализа, она может повлечь за собой уменьшение чёткости разделения групп). В противном случае выборку нужно корректировать.

Типология задач кластеризации

Типы входных данных

В современной науке применяется несколько алгоритмов обработки входных данных. Анализ путём сравнения объектов, исходя из признаков, (наиболее распространённый в биологических науках) называется Q -типом анализа, а в случае сравнения признаков, на основе объектов - R -типом анализа. Существуют попытки использования гибридных типов анализа (например, RQ -анализ), но данная методология ещё должным образом не разработана.

Цели кластеризации

  • Понимание данных путём выявления кластерной структуры. Разбиение выборки на группы схожих объектов позволяет упростить дальнейшую обработку данных и принятия решений, применяя к каждому кластеру свой метод анализа (стратегия «разделяй и властвуй »).
  • Сжатие данных . Если исходная выборка избыточно большая, то можно сократить её, оставив по одному наиболее типичному представителю от каждого кластера.
  • Обнаружение новизны (англ. novelty detection ). Выделяются нетипичные объекты, которые не удаётся присоединить ни к одному из кластеров.

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

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

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

Общепринятой классификации методов кластеризации не существует, но можно отметить солидную попытку В. С. Берикова и Г. С. Лбова . Если обобщить различные классификации методов кластеризации, то можно выделить ряд групп (некоторые методы можно отнести сразу к нескольким группам и потому предлагается рассматривать данную типизацию как некоторое приближение к реальной классификации методов кластеризации):

  1. Вероятностный подход . Предполагается, что каждый рассматриваемый объект относится к одному из k классов. Некоторые авторы (например, А. И. Орлов) считают, что данная группа вовсе не относится к кластеризации и противопоставляют её под названием «дискриминация», то есть выбор отнесения объектов к одной из известных групп (обучающих выборок).
  2. Подходы на основе систем искусственного интеллекта . Весьма условная группа, так как методов AI очень много и методически они весьма различны.
  3. Логический подход . Построение дендрограммы осуществляется с помощью дерева решений.
  4. Теоретико-графовый подход .
    • Графовые алгоритмы кластеризации
  5. Иерархический подход . Предполагается наличие вложенных групп (кластеров различного порядка). Алгоритмы в свою очередь подразделяются на агломеративные (объединительные) и дивизивные (разделяющие). По количеству признаков иногда выделяют монотетические и политетические методы классификации.
    • Иерархическая дивизивная кластеризация или таксономия. Задачи кластеризации рассматриваются в количественной таксономии.
  6. Другие методы . Не вошедшие в предыдущие группы.
    • Статистические алгоритмы кластеризации
    • Ансамбль кластеризаторов
    • Алгоритмы семейства KRAB
    • Алгоритм, основанный на методе просеивания
    • DBSCAN и др.

Подходы 4 и 5 иногда объединяют под названием структурного или геометрического подхода, обладающего большей формализованностью понятия близости . Несмотря на значительные различия между перечисленными методами все они опираются на исходную «гипотезу компактности »: в пространстве объектов все близкие объекты должны относиться к одному кластеру, а все различные объекты соответственно должны находиться в различных кластерах.

Формальная постановка задачи кластеризации

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

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

Кластеризация (обучение без учителя) отличается от классификации (обучения с учителем) тем, что метки исходных объектов изначально не заданы, и даже может быть неизвестно само множество .

Решение задачи кластеризации принципиально неоднозначно, и тому есть несколько причин (как считает ряд авторов):

  • не существует однозначно наилучшего критерия качества кластеризации. Известен целый ряд эвристических критериев, а также ряд алгоритмов, не имеющих чётко выраженного критерия, но осуществляющих достаточно разумную кластеризацию «по построению». Все они могут давать разные результаты. Следовательно, для определения качества кластеризации требуется эксперт предметной области, который бы мог оценить осмысленность выделения кластеров.
  • число кластеров, как правило, неизвестно заранее и устанавливается в соответствии с некоторым субъективным критерием. Это справедливо только для методов дискриминации, так как в методах кластеризации выделение кластеров идёт за счёт формализованного подхода на основе мер близости.
  • результат кластеризации существенно зависит от метрики, выбор которой, как правило, также субъективен и определяется экспертом. Но стоит отметить, что есть ряд рекомендаций к выбору мер близости для различных задач.

Применение

В биологии

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

В области экологии широко применяется для выделения пространственно однородных групп организмов, сообществ и т. п. Реже методы кластерного анализа применяются для исследования сообществ во времени. Гетерогенность структуры сообществ приводит к возникновению нетривиальных методов кластерного анализа (например, метод Чекановского).

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

В социологии

При анализе результатов социологических исследований рекомендуется осуществлять анализ методами иерархического агломеративного семейства, а именно методом Уорда, при котором внутри кластеров оптимизируется минимальная дисперсия, в итоге создаются кластеры приблизительно равных размеров. Метод Уорда наиболее удачен для анализа социологических данных. В качестве меры различия лучше квадратичное евклидово расстояние, которое способствует увеличению контрастности кластеров. Главным итогом иерархического кластерного анализа является дендрограмма или «сосульчатая диаграмма». При её интерпретации исследователи сталкиваются с проблемой того же рода, что и толкование результатов факторного анализа - отсутствием однозначных критериев выделения кластеров. В качестве главных рекомендуется использовать два способа - визуальный анализ дендрограммы и сравнение результатов кластеризации, выполненной различными методами.

Визуальный анализ дендрограммы предполагает «обрезание» дерева на оптимальном уровне сходства элементов выборки. «Виноградную ветвь» (терминология Олдендерфера М. С. и Блэшфилда Р. К. ) целесообразно «обрезать» на отметке 5 шкалы Rescaled Distance Cluster Combine, таким образом будет достигнут 80 % уровень сходства. Если выделение кластеров по этой метке затруднено (на ней происходит слияние нескольких мелких кластеров в один крупный), то можно выбрать другую метку. Такая методика предлагается Олдендерфером и Блэшфилдом.

Теперь возникает вопрос устойчивости принятого кластерного решения. По сути, проверка устойчивости кластеризации сводится к проверке её достоверности. Здесь существует эмпирическое правило - устойчивая типология сохраняется при изменении методов кластеризации. Результаты иерархического кластерного анализа можно проверять итеративным кластерным анализом по методу k-средних. Если сравниваемые классификации групп респондентов имеют долю совпадений более 70 % (более 2/3 совпадений), то кластерное решение принимается.

Проверить адекватность решения, не прибегая к помощи другого вида анализа, нельзя. По крайней мере, в теоретическом плане эта проблема не решена. В классической работе Олдендерфера и Блэшфилда «Кластерный анализ» подробно рассматриваются и в итоге отвергаются дополнительные пять методов проверки устойчивости:

В информатике

  • Кластеризация результатов поиска - используется для «интеллектуальной» группировки результатов при поиске файлов , веб-сайтов , других объектов , предоставляя пользователю возможность быстрой навигации, выбора заведомо более релевантного подмножества и исключения заведомо менее релевантного - что может повысить юзабилити интерфейса по сравнению с выводом в виде простого сортированного по релевантности списка .
    • Clusty - кластеризующая поисковая машина компании Vivísimo
    • Nigma - российская поисковая система с автоматической кластеризацией результатов
    • Quintura - визуальная кластеризация в виде облака ключевых слов
  • Сегментация изображений (англ. image segmentation ) - Кластеризация может быть использована для разбиения цифрового изображения на отдельные области с целью обнаружения границ (англ. edge detection ) или распознавания объектов .
  • Интеллектуальный анализ данных (англ. data mining) - Кластеризация в Data Mining приобретает ценность тогда, когда она выступает одним из этапов анализа данных, построения законченного аналитического решения. Аналитику часто легче выделить группы схожих объектов, изучить их особенности и построить для каждой группы отдельную модель, чем создавать одну общую модель для всех данных. Таким приемом постоянно пользуются в маркетинге, выделяя группы клиентов, покупателей, товаров и разрабатывая для каждой из них отдельную стратегию.

См. также

Примечания

Ссылки

На русском языке
  • www.MachineLearning.ru - профессиональный вики-ресурс, посвященный машинному обучению и интеллектуальному анализу данных
На английском языке
  • COMPACT - Comparative Package for Clustering Assessment . A free Matlab package, 2006.
  • P. Berkhin, Survey of Clustering Data Mining Techniques , Accrue Software, 2002.
  • Jain, Murty and Flynn: Data Clustering: A Review , ACM Comp. Surv., 1999.
  • for another presentation of hierarchical, k-means and fuzzy c-means see this introduction to clustering . Also has an explanation on mixture of Gaussians.
  • David Dowe, Mixture Modelling page - other clustering and mixture model links.
  • a tutorial on clustering
  • The on-line textbook: Information Theory, Inference, and Learning Algorithms , by David J.C. MacKay includes chapters on k-means clustering, soft k-means clustering, and derivations including the E-M algorithm and the variational view of the E-M algorithm.
  • «The Self-Organized Gene» , tutorial explaining clustering through competitive learning and self-organizing maps.
  • kernlab - R package for kernel based machine learning (includes spectral clustering implementation)
  • Tutorial - Tutorial with introduction of Clustering Algorithms (k-means, fuzzy-c-means, hierarchical, mixture of gaussians) + some interactive demos (java applets)
  • Data Mining Software - Data mining software frequently utilizes clustering techniques.
  • Java Competitve Learning Application A suite of Unsupervised Neural Networks for clustering. Written in Java. Complete with all source code.
  • Machine Learning Software - Also contains much clustering software.

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

С помощью кластерного анализа можно проводить выборку по признаку, который исследуется. Его основная задача – разбиение многомерного массива на однородные группы. В качестве критерия группировки применяется парный коэффициент корреляции или эвклидово расстояние между объектами по заданному параметру. Наиболее близкие друг к другу значения группируются вместе.

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

Пример использования

Имеем пять объектов, которые характеризуются по двум изучаемым параметрам – x и y .

Задачи кластерного анализа

Кластерный анализ выполняет следующие основные задачи:

  • · Исследование схем группировки объектов;
  • · Выработка гипотез на базе исследований данных;
  • · Подтверждение гипотез и исследований данных;
  • · Определение присутствия групп внутри данных.

Этапы кластерного анализа

Независимо от предмета изучения применение кластерного анализа предполагает следующие этапы:

  • 1. Формирование выборки для кластеризации;
  • 2. Выделение признакового пространства;
  • 3. Выбор меры сходства (расстояния) между объектами;
  • 4. Применение метода кластерного анализа;
  • 5. Проверка результатов кластеризации.

Существуют два ключевых требования к данным:

  • · Однородность - необходимость гарантировать единую природу всех кластеризуемых сущностей. То есть все объекты должны описываться схожим набором характеристик;
  • · Полнота - содержание данных в достаточном по всей их номенклатуре, необходимые для рационального или оптимального решения конкретной задачи.
  • · Разбиение выборки на группы схожих объектов для упрощения понимания кластерной структуры, что упрощает обработку данных и принятие решение, применяя к каждому кластеру свой метод анализа.
  • · Сокращение объёма данных, оставляя по одному или несколько наиболее типичных представителей от каждого класса. В таких задачах важнее обеспечить высокую степень сходства объектов внутри каждого кластера, а кластеров может быть сколько угодно.
  • · Выделение нетипичных объектов, аномалий или выбросов, для определения новизны кластеров или их количества. Наибольший интерес представляют отдельные объекты, не вписывающиеся ни в один из кластеров.

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

Random Forest - один из моих любимых алгоритмов data mining. Во-первых он невероятно универсален, с его помощью можно решать как задачи регрессии так и классификации. Проводить поиск аномалий и отбор предикторов. Во-вторых это тот алгоритм, который действительно сложно применить неправильно. Просто потому, что в отличии от других алгоритмов у него мало настраиваемых параметров. И еще он удивительно прост по своей сути. И в то же время он отличается удивительной точностью.

В чем же идея такого замечательного алгоритма? Идея проста: допустим у нас есть какой-то очень слабый алгоритм, скажем, . Если мы сделаем очень много разных моделей с использованием этого слабого алгоритма и усредним результат их предсказаний, то итоговый результат будет существенно лучше. Это, так называемое, обучение ансамбля в действии. Алгоритм Random Forest потому и называется "Случайный Лес", для полученных данных он создает множество деревьев приятия решений и потом усредняет результат их предсказаний. Важным моментом тут является элемент случайности в создании каждого дерева. Ведь понятно, что если мы создадим много одинаковых деревьев, то результат их усреднения будет обладать точностью одного дерева.

Как он работает? Предположим, у нас есть некие данные на входе. Каждая колонка соответствует некоторому параметру, каждая строка соответствует некоторому элементу данных.

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


Thursday, May 10, 2012

Thursday, January 12, 2012


Вот собственно и всё. 17-ти часовой перелет позади, Россия осталась за океаном. А в окно уютной 2-ух спальной квартиры на нас смотрит Сан-Франциско, знаменитая Кремниевая долина, Калифорния, США. Да, это и есть та самая причина, по которой я практически не писал последнее время. Мы переехали.

Всё это началось еще в апреле 2011 года, когда я проходил телефонное интервью в компании Zynga. Тогда это все казалось какой-то игрой не имеющей отношения к реальности и я и представить себе не мог, во что это выльется. В июне 2011 года Zynga приехали в Москву и провели серию собеседований, рассматривалось около 60 кандидатов прошедших телефонное интервью и из них было отобрано около 15 человек (точное число не знаю, кто-то потом передумал, кто-то сразу отказался). Интервью оказалось неожиданно простым. Ни тебе задачек на программирование, ни заковыристых вопросов про форму люков, в основном проверялись способности болтать. А знания, на мой взгляд, оценивались лишь поверхностно.

А дальше началась канитель. Сначала мы ждали результатов, потом офера, потом одобрение LCA, потом одобрения петиции на визу, потом документы из США, потом очередь в посольстве, потом дополнительную проверку, потом визу. Временами мне казалось, что я готов все бросить и забить. Временами я сомневался, а нужна ли нам эта Америка ведь и в России не плохо. Весь процесс занял где-то около полугода, в итоге, в середине декабря мы получили визы и начали готовиться к отъезду.

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

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


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

Result <- NULL for(i in (1:length(divs[,1]))){ d <- divs if (d$Divs>0){ try({ quotes <- getSymbols(d$Symbol, src="Finam", from="2010-01-01", auto.assign=FALSE) if (!is.nan(quotes)){ price <- Cl(quotes) if (length(price)>0){ dd <- d$Divs result <- rbind(result, data.frame(d$Symbol, d$Name, d$RegistryDate, as.numeric(dd)/as.numeric(price), stringsAsFactors=FALSE)) } } }, silent=TRUE) } } colnames(result) <- c("Symbol", "Name", "RegistryDate", "Divs") result


Аналогично можно построить статистику для прошлых лет.

Кластерным анализом называются разнообразные формализованные процедуры построения классификаций объектов. Лидирующей наукой в развитии кластерного анализа была биология. Предмет кластерного анализа (от англ. «cluster» - гроздь, пучок, группа) был сформулирован в 1939 г. психологом Робертом Трионом. Классиками кластерного анализа являются американские систематики Роберт Сокэл и Питер Снит. Одно из важнейших их достижений в этой области - книга «Начала численной таксономии», выпущенная в 1963 году. В соответствии с основной идеей авторов, классификация должна строится не на смешении плохо формализованных суждений о сходстве и родстве объектов, а на результатах формализованной обработки результатов математического вычисления сходств/отличий классифицируемых объектов. Для выполнения этой задачи нужны были соответствующие процедуры, разработкой которых и занялись авторы.

Основные этапы кластерного анализа таковы:
1. выбор сравнимых друг с другом объектов;
2. выбор множества признаков, по которому будет проводиться сравнение, и описание объектов по этим признакам;
3. вычисление меры сходства между объектами (или меры различия объектов) в соответствии с избранной метрикой ;
4. группировка объектов в кластеры с помощью той или иной процедуры объединения ;
5. проверка применимости полученного кластерного решения.

Итак, важнейшими характеристиками процедуры кластеризации является выбор метрики (в разных ситуациях используется значительное количество разных метрик) и выбор процедуры объединения (и в этом случае для выбора доступно значительное количество различных вариантов). Для разных ситуаций в большей степени подходят одни или другие метрики и процедуры объединения, но в определенной степени выбор между ними является вопросом вкуса и традиции. Как более подробно объясняется в статье Кластеры, клады и химера объективности , надежда на то, что кластерный анализ приведет к построению классификации, никак не зависимой от произвола исследователя, оказывается недостижимой. Из пяти перечисленных этапов исследования с использованием кластерного анализа только этап 4 не связан с принятием более-менее произвольного решения, влияющего на конечный результат. И выбор объектов, и выбор признаков, и выбор метрики вместе с процедурой объединения существенно влияют на конечный результат. Этот выбор может зависит от многих обстоятельств, а том числе - от явных и неявных предпочтений и ожиданий исследования. Увы, указанное обстоятельство влияет не только на результат кластерного анализа. Со сходными проблемами сталкиваются все "объективные" методы, включая все методы кладистики.

Существует ли единственно правильное решение, которое надо найти, выбирая совокупность объектов, набор признаков, тип метрики и процедуру объединения? Нет. Чтобы доказать это, приведем фрагмент статьи, ссылка на которую дана в предыдущем абзаце.

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

На какой объект более похож объект А: на B или на C? Если использовать в качестве метрики сходства расстояние, то на C: |AC|<|AB|. А если полагаться на корреляцию между показанными на рисунке признаками (которую можно описать как угол между вектором, идущим к объекту из начала координат, и осью абсцисс), то на B: . А как правильно? А единственно правильного ответа нет. С одной стороны, взрослая жаба более похожа на взрослую лягушку (обе взрослые), с другой - на молодую жабу (обе жабы)! Правильность ответа зависит от того, что мы считаем более важным ".

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

8.2. Пример выполнения кластерного анализа "на пальцах"

Чтобы пояснить типичную логику кластерного анализа, рассмотрим его наглядный пример. Рассмотрим совокупность из 6 объектов (обозначенных буквами), охарактеризованных по 6 признакам самого простого типа: альтернативных, принимающих одно из двух значений: характерен (+) и нехарактерен (-). Описание объектов по принятым признакам называется "прямоугольной" матрицей. В нашем случае речь идет о матрице 6×6, т.е. ее можно считать вполне "квадратной", но в общем случае количество объектов в анализе может не быть равно количеству признаков, и "прямоугольная" матрица может иметь разное количество строк и столбцов. Итак, зададим "прямоугольную" матрицу (матрицу объекты/признаки):

Выбор объектов и описание их по определенному набору признаков соответствуют двум первым этапам кластерного анализа. Следующий этап - построение матрицы сходств или различий ("квадратной" матрицы, матрицы объекты/объекты). Для этого нам надо выбрать метрику. Поскольку наш пример носит условный характер, имеет смысл выбрать самую простую метрику. Как проще всего определить расстояние между объектами A и B? Посчитать количество отличий между ними. Как вы можете увидеть, объекты A и B отличаются по признакам 3 и 5, итого, расстояние между этими двумя объектами соответствует двум единицам.

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

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

Какие два объекта ближе всего друг к другу? B и F, они отличаются только по одному признаку. Суть кластерного анализа - в объединении подобных объектов в кластер. Объединяем объекты B и F в кластер (B F). Покажем это на схеме. Как вы видите, объекты объединены на том уровне, который соответствует дистанции между ними.

Рис. 8.2.1. Первый шаг кластеризации условного набора из 6 объектов

Теперь у нас не шесть объектов, а пять. Перестраиваем "квадратную" матрицу. Для этого нам потребуется определить, чему равно расстояние от каждого объекта до кластера. Растояние от A до B составляло 2 единицы, а от A до F - 3 единицы. Чему равно расстояние от A до (BF)? Правильного ответа тут нет. Вот, посмотрите, как расположены друг относительно друга эти три объекта.

Рис. 8.2.2. Взаимное расположение трех объектов

Может быть, расстояние от объекта до группы - это расстояние от объекта до ближайшего к нему объекта в составе группы, т .е., │A(BF) │=│AB │? Эта логика соответствует присоединению по максимальному сходству .

А может быть, расстояние от объекта до группы - это расстояние от объекта до наиболее удаленного от него объекта в составе группы, т .е., │A(BF) │=│AF │? Эта логика соответствует присоединению по минимальному сходству .

Можно также считать, что расстояние от объекта до группы - это среднее арифметическое расстояний от этого объекта до каждого из объектов в составе группы, т .е., │A(BF) │=(│AB │+│AF │)/2. Это решение называется присоединением по среднему сходству .

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

Теперь самой близкой парой объектов являются D и E. Объединим и их тоже.

Рис. 8.2.3. Второй шаг кластеризации условного набора из 6 объектов

Перестроим "квадратную" матрицу для четырех объектов.

Мы видим, что тут есть две возможности для объединения на уровне 2,5: присоединение A к (BF) и присоединение (BF) к (DE). Какую из них выбрать?

У нас есть различные варианты, как делать такой выбор. Его можно сделать случайно. Можно принять какое-то формальное правило, позволяющее сделать выбор. А можно посмотреть, какое из решений даст лучший вариант кластеризации. Воспользуемся последним вариантом. Вначале реализуем первую возможность.

Рис. 8.2.4. Первый вариант третьего шага кластеризации условного набора из 6 объектов

Выбрав этот вариант, мы должны были бы построить такую "квадратную" матрицу 3×3.

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

Рис. 8.2.5. Второй вариант третьего шага кластеризации условного набора из 6 объектов

Ему соответствует такая матрица 3×3:

Получившиеся матрицы 3×3 можно сравнить, и убедиться, что более компактная группировка объектов достигается во втором варианте. При построении классификации объектов с помощью кластерного анализа мы должны стремиться выделить группы, которые объединяют сходные объекты. Чем выше сходство объектов в группах, тем лучше такая классификация. Поэтому мы выбираем второй вариант третьего шага кластеризации. Мы, конечно, могли сделать следующие шаги (и разделить первый вариант еще на два подварианта), но, в конце концов, убедились бы, что лучшим вариантом третьего шага кластеризации является именно тот, который показан на рис. 8.5. Останавливаемся на нем.

В таком случае, следующим шагом является объединение объектов A и C, показанный на рис. 8.6.

Рис. 8.2.6. Четвертый шаг кластеризации

Строим матрицу 2×2:

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

Рис. 8.2.7. Пятый и последний шаг кластеризации

Получившаяся картина является древовидным графом (совокупностью вершин и связей между ними). Этот граф построен так, что образующие его линии пересекают друг друга (мы показали эти пересечения "мостиками"). Без изменения характера связи между объектами граф можно перестроить так, чтобы в нем не было никаких пересечений. Эти и сделано на рис. 8.2.8.

Рис. 8.2.8. Окончательный вид древовидного графа, полученного в результате кластеризации

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

8.3. Принципиальные ограничения и недостатки кластерного анализа

Как интерпретировать граф, показанный на рис. 8.2.8? Однозначного ответа нет. Чтобы ответить на этот вопрос, надо понимать, какие данные и для какой цели мы кластеризовали. "На поверхности" лежит вывод, что мы зарегистрировали, что исходная совокупность из 6 объектов состоит из трех пар. Глядя на получившийся график, в этом трудно усомниться. Однако справедлив ли этот вывод?

Вернитесь к самой первой "квадратной" матрице 6×6 и убедитесь: объект E находился на расстоянии в две единицы и от объекта D, и от объекта F. Сходство E и D на итоговом "дереве" отражено, а вот то, что объект E был столь же близок к объекту F - потерялось без следа! Как это объяснить?

В том результате кластеризации, который показан на рис. 8.2.8, полностью отсутствует информация о дистанции │EF │, там есть только информация о дистанциях │DE │ и │(BF)(DE) │!

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

Указанное обстоятельство является одним из серьезных недостатков кластерного анализа.

Еще один из коварных недостатков кластерного анализа упомянут в статье