Кластерный анализ объектов примеры. Задачи кластеризации в Data Mining. Кластеризация ассортимента торговых точек

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


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

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

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

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

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

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

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

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

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

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

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

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

В целом можно сказать, что в связи с тем, что иерархический кластерный анализ весьма требователен к аппаратным ресурсам компьютера, кластерный анализ по методу k-средних введен в SPSS для обработки очень больших массивов данных, состоящих из многих тысяч наблюдений (респондентов), в условиях недостаточной мощности компьютерного оборудования1. Размеры выборок, используемых в маркетинговых исследованиях, в большинстве случаев не превышают четыре тысячи респондентов. Практика маркетинговых исследований показывает, что именно первый тип кластерного анализа -- иерархический -- рекомендуется для использования во всех случаях как наиболее релевантный, универсальный и точный. Вместе с тем необходимо подчеркнуть, что при проведении кластерного анализа важным является отбор релевантных переменных. Данное замечание очень существенно, так как включение в анализ нескольких или даже одной нерелевантной переменной способно привести к неудаче всей статистической процедуры.

Описание методики проведения кластерного анализа мы проведем на следующем примере из практики маркетинговых исследований.

Исходные данные:

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

Требуется:

Сегментировать исследуемые авиакомпании по уровню воспринимаемого авиапассажирами качества работы наземного персонала.

Итак, у нас есть файл данных, который состоит из семи интервальных переменных, обозначающих оценки качества работы наземного персонала различных авиакомпаний (ql3-ql9), представленные в единой пятибалльной шкале. Файл данных содержит одновариантную переменную q4, указывающую выбранные респондентами авиакомпании (всего 22 наименования). Проведем кластерный анализ и определим, на какие целевые группы можно разделить данные авиакомпании.

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

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

Процедура кластерного анализа запускается при помощи меню Analyze > Classify > Hierarchical Cluster. В открывшемся диалоговом окне из левого списка всех имеющихся в файле данных переменных выберите переменные, являющиеся критериями сегментирования. В нашем случае их семь, и обозначают они оценки параметров работы наземного персонала ql3-ql9 (рис. 5.44). В принципе указания совокупности критериев сегментирования будет вполне достаточно для выполнения первого этапа кластерного анализа.

Рис. 5.44.

По умолчанию кроме таблицы с результатами формирования кластеров, на основании которой мы определим их оптимальное число, SPSS выводит также специальную перевернутую гистограмму icicle, помогающую, по замыслу создателей программы, определить оптимальное количество кластеров; вывод диаграмм осуществляется кнопкой Plots (рис. 5.45). Однако если оставить данный параметр установленным, мы потратим много времени на обработку даже сравнительно небольшого файла данных. Кроме icicle в окне Plots можно выбрать более быструю линейчатую диаграмму Dendogram. Она представляет собой горизонтальные столбики, отражающие процесс формирования кластеров. Теоретически при небольшом (до 50-100) количестве респондентов данная диаграмма действительно помогает выбрать оптимальное решение относительно требуемого числа кластеров. Однако практически во всех примерах из маркетинговых исследований размер выборки превышает это значение. Дендограмма становится совершенно бесполезной, так как даже при относительно небольшом числе наблюдений представляет собой очень длинную последовательность номеров строк исходного файла данных, соединенных между собой горизонтальными и вертикальными линиями. Большинство учебников по SPSS содержат примеры кластерного анализа именно на таких искусственных, малых выборках. В настоящем пособии мы показываем, как наиболее эффективно работать с SPSS в практических условиях и на примере реальных маркетинговых исследований.

Рис. 5.45.

Как мы установили, для практических целей ни Icicle, ни Dendogram не пригодны. Поэтому в главном диалоговом окне Hierarchical Cluster Analysis рекомендуется не выводить диаграммы, отменив выбранный по умолчанию параметр Plots в области Display, как показано на рис. 5.44. Теперь все готово для выполнения первого этапа кластерного анализа. Запустите процедуру, щелкнув на кнопке ОК.

Через некоторое время в окне SPSS Viewer появятся результаты. Как было сказано выше, единственным значимым для нас итогом первого этапа анализа будет таблица Average Linkage (Between Groups), представленная на рис. 5.46. На основании этой таблицы мы должны определить оптимальное число кластеров. Необходимо заметить, что единого универсального метода определения оптимального числа кластеров не существует. В каждом конкретном случае исследователь должен сам определить это число.

Исходя из имеющегося опыта, автор предлагает следующую схему данного процесса. Прежде всего, попробуем применить наиболее распространенный стандартный метод для определения числа кластеров. По таблице Average Linkage (Between Groups) следует определить, на каком шаге процесса формирования кластеров (колонка Stage) происходит первый сравнительно большой скачок коэффициента агломерации (колонка Coefficients). Данный скачок означает, что до него в кластеры объединялись наблюдения, находящиеся на достаточно малых расстояниях друг от друга (в нашем случае респонденты со схожим уровнем оценок по анализируемым параметрам), а начиная с этого этапа происходит объединение более далеких наблюдений.

В нашем случае коэффициенты плавно возрастают от 0 до 7,452, то есть разница между коэффициентами на шагах с первого по 728 была мала (например, между 728 и 727 шагами -- 0,534). Начиная с 729 шага происходит первый существенный скачок коэффициента: с 7,452 до 10,364 (на 2,912). Шаг, на котором происходит первый скачок коэффициента, -- 729. Теперь, чтобы определить оптимальное количество кластеров, необходимо вычесть полученное значение из общего числа наблюдений (размера выборки). Общий размер выборки в нашем случае составляет 745 человек; следовательно, оптимальное количество кластеров составляет 745-729 = 16.


Рис. 5.46.

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

Откройте главное диалоговое окно процедуры кластерного анализа (меню Analyze > Classify > Hierarchical Cluster). В поле для анализируемых переменных у нас уже есть семь параметров. Щелкните на кнопке Save. Открывшееся диалоговое окно (рис. 5.47) позволяет создать в исходном файле данных новую переменную, распределяющую респондентов на целевые группы. Выберите параметр Single Solution и укажите в соответствующем поле необходимое количество кластеров -- 16 (определено на первом этапе кластерного анализа). Щелкнув на кнопке Continue, вернитесь в главное диалоговое окно, в котором щелкните на кнопке ОК, чтобы запустить процедуру кластерного анализа.

Прежде чем продолжить описание процесса кластерного анализа, необходимо привести краткое описание других параметров. Среди них есть как полезные возможности, так и фактически лишние (с точки зрения практических маркетинговых исследований). Так, например, главное диалоговое окно Hierarchial Cluster Analysis содержит поле Label Cases by, в которое при желании можно поместить текстовую переменную, идентифицирующую респондентов. В нашем случае для этих целей может служить переменная q4, кодирующая выбранные респондентами авиакомпании. На практике сложно придумать рациональное объяснение использованию поля Label Cases by, поэтому можно спокойно всегда оставлять его пустым.

Рис. 5.47.

Нечасто при проведении кластерного анализа используется диалоговое окно Statistics, вызываемое одноименной кнопкой в главном диалоговом окне. Оно позволяет организовать вывод в окне SPSS Viewer таблицы Cluster Membership, в которой каждому респонденту в исходном файле данных сопоставляется номер кластера. Данная таблица при достаточно большом количестве респондентов (практически во всех примерах маркетинговых исследований) становится совершенно бесполезной, так как представляет собой длинную последовательность пар значений «номер респондента/номер кластера», в таком виде не поддающуюся интерпретации. Технически цель кластерного анализа всегда состоит в образовании в файле данных дополнительной переменной, отражающей разделение респондентов на целевые группы (при помощи щелчка на кнопке Save в главном диалоговом окне кластерного анализа). Эта переменная в совокупности с номерами респондентов и есть таблица Cluster Membership. Единственный практически полезный параметр в окне Statistics -- вывод таблицы Average Linkage (Between Groups), однако он уже установлен по умолчанию. Таким образом, использование кнопки Statistics и вывод отдельной таблицы Cluster Membership в окне SPSS Viewer является нецелесообразным.

Про кнопку Plots уже было сказано выше: ее следует дезактивизировать, отменив параметр Plots в главном диалоговом окне кластерного анализа.

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

Как видно из рис. 5.44, единственной не рассмотренной возможностью кластерного анализа является кнопка выбора метода проведения статистической процедуры Method. Эксперименты с данным Параметром позволяют добиться большей точности при определении оптимального числа кластеров. Общий вид этого диалогового окна с параметрами, установленными по умолчанию, представлен на рис. 5.48.

Рис. 5.48.

Первое, что устанавливается в данном окне, -- это метод формирования кластеров (то есть объединения наблюдений). Среди всех возможных вариантов статистических методик, предлагаемых SPSS, следует выбирать либо установленный по умолчанию метод Between-groups linkage, либо процедуру Ward (Ward"s method). Первый метод используется чаще ввиду его универсальности и относительной простоты статистической процедуры, на которой он основан. При использовании этого метода расстояние между кластерами вычисляется как среднее значение расстояний между всеми возможными парами наблюдений, причем в каждой итерации принимает участие одно наблюдение из одного кластера, а второе -- из другого. Информация, необходимая для расчетов расстояния между наблюдениями, находится на основании всех теоретически возможных пар наблюдений. Метод Ward более сложен для понимания и используется реже. Он состоит из множества этапов и основан на усреднении значений всех переменных для каждого наблюдения и последующем суммировании квадратов расстояний от вычисленных средних до каждого наблюдения. Для решения практических задач маркетинговых исследований мы рекомендуем всегда использовать метод Between-groups linkage, установленный по умолчанию.

После выбора статистической процедуры кластеризации следует выбрать метод для вычисления расстояний между наблюдениями (область Measure в диалоговом окне Method). Существуют различные методы определения расстояний для трех типов переменных, участвующих в кластерном анализе (критериев сегментирования). Эти переменные могут иметь интервальную (Interval), номинальную (Counts) или дихотомическую (Binary) шкалу. Дихотомическая шкала (Binary) подразумевает только переменные, отражающие наступление/ненаступление какого-либо события (купил/не купил, да/нет и т. д.). Другие типы дихотомических переменных (например, мужчина/женщина) следует рассматривать и анализировать как номинальные (Counts).

Наиболее часто используемым методом определения расстояний для интервальных переменных является квадрат евклидова расстояния (Squared Euclidean Distance), устанавливаемый по умолчанию. Именно этот метод зарекомендовал себя в маркетинговых исследованиях как наиболее точный и универсальный. Однако для дихотомических переменных, где наблюдения представлены только двумя значениями (например, 0 и 1), данный метод не подходит. Дело в том, что он учитывает только взаимодействия между наблюдениями типа: X = 1,Y = 0 и X = 0, Y=l (где X и Y -- переменные) и не учитывает другие типы взаимодействий. Наиболее комплексной мерой расстояния, учитывающей все важные типы взаимодействий между двумя дихотомическими переменными, является метод Лямбда (Lambda). Мы рекомендуем применять именно данный метод ввиду его универсальности. Однако существуют и другие методы, например Shape, Hamann или Anderbergs"s D.

При указании метода определения расстояний для дихотомических переменных в соответствующем поле необходимо указать конкретные значения, которые могут принимать исследуемые дихотомические переменные: в поле Present -- кодировку ответа Да, а в поле Absent -- Нет. Названия полей присутствует и отсутствует ассоциированы с тем, что в группе методов Binary предполагается использовать только дихотомические переменные, отражающие наступление/ненаступление какого-либо события. Для двух типов переменных Interval и Binary существует несколько методов определения расстояния. Для переменных с номинальным типом шкалы SPSS предлагает всего два метода: (Chi-square measure) и (Phi-square measure). Мы рекомендуем использовать первый метод как наиболее распространенный.

В диалоговом окне Method есть область Transform Values, в которой находится поле Standardize. Данное поле применяется в том случае, когда в кластерном анализе принимают участие переменные с различным типом шкалы (например, интервальные и номинальные). Для того чтобы использовать эти переменные в кластерном анализе, следует провести стандартизацию, приводящую их к единому типу шкалы -- интервальному. Самым распространенным методом стандартизации переменных является 2-стандартизация (Zscores): все переменные приводятся к единому диапазону значений от -3 до +3 и после преобразования являются интервальными.

Так как все оптимальные методы (кластеризации и определения расстояний) установлены по умолчанию, целесообразно использовать диалоговое окно Method только для указания типа анализируемых переменных, а также для указания необходимости произвести 2-стандартизацию переменных.

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

Чтобы установить, насколько верно мы определили оптимальное число кластеров, построим линейное распределение переменной clul6_l (меню Analyze > Descriptive Statistics > Frequencies). Как видно на рис. 5.49, в кластерах с номерами 5-16 число респондентов составляет от 1 до 7. Наряду с вышеописанным универсальным методом определения оптимального количества кластеров (на основании разности между общим числом респондентов и первым скачком коэффициента агломерации) существует также дополнительная рекомендация: размер кластеров должен быть статистически значимым и практически приемлемым. При нашем размере выборки такое критическое значение можно установить хотя бы на уровне 10. Мы видим, что под данное условие попадают лишь кластеры с номерами 1-4. Поэтому теперь необходимо пересчитать процедуру кластерного анализа с выводом четы-рехкластерного решения (будет создана новая переменная du4_l).


Рис. 5.49.

Построив линейное распределение по вновь созданной переменной du4_l, мы увидим, что только в двух кластерах (1 и 2) число респондентов является практически значимым. Нам необходимо снова перестроить кластерную модель -- теперь для двухкластерного решения. После этого построим распределение по переменной du2_l (рис. 5.50). Как вы видите из таблицы, двухкластерное решение имеет статистически и практически значимое число респондентов в каждом из двух сформированных кластеров: в кластере 1 -- 695 респондентов; в кластере 2 -- 40. Итак, мы определили оптимальное число кластеров для нашей задачи и провели собственно сегментирование респондентов по семи избранным критериям. Теперь можно считать основную цель нашей задачи достигнутой и приступать к завершающему этапу кластерного анализа -- интерпретации полученных целевых групп (сегментов).


Рис. 5.50.

Полученное решение несколько отличается от тех, которые вы, может быть, видели в учебных пособиях по SPSS. Даже в наиболее практически ориентированных учебниках приведены искусственные примеры, где в результате кластеризации получаются идеальные целевые группы респондентов. В некоторых случаях (5) авторы даже прямо указывают на искусственное происхождение примеров. В настоящем пособии мы применим в качестве иллюстрации действия кластерного анализа реальный пример из практического маркетингового исследования, не отличающийся идеальными пропорциями. Это позволит нам показать наиболее распространенные трудности проведения кластерного анализа, а также оптимальные методы их устранения.

Перед тем как приступить к интерпретации полученных кластеров, давайте подведем итоги. У нас получилась следующая схема определения оптимального числа кластеров.

¦ На этапе 1 мы определяем количество кластеров на основании математического метода, основанного на коэффициенте агломерации.

¦ На этапе 2 мы проводим кластеризацию респондентов по полученному числу кластеров и затем строим линейное распределение по образованной новой переменной (clul6_l). Здесь также следует определить, сколько кластеров состоят из статистически значимого количества респондентов. В общем случае рекомендуется устанавливать минимально значимую численность кластеров на уровне не менее 10 респондентов.

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

¦ Пересчитываем процедуру кластерного анализа, указав в диалоговом окне Save число кластеров, состоящих из значимого количества наблюдений.

¦ Строим линейное распределение по новой переменной.

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

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

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

Процедура сравнения средних значений вызывается при помощи меню Analyze > Compare Means > Means. В открывшемся диалоговом окне (рис. 5.51) из левого списка выберите семь переменных, избранных в качестве критериев сегментирования (ql3-ql9), и перенесите их в поле для зависимых переменных Dependent List. Затем переменную сШ2_1, отражающую разделение респондентов на кластеры при окончательном (двухкластерном) решении задачи, переместите из левого списка в поле для независимых переменных Independent List. После этого щелкните на кнопке Options.

Рис. 5.51.

Откроется диалоговое окно Options, выберите в нем необходимые статистики для сравнения кластеров (рис. 5.52). Для этого в поле Cell Statistics оставьте только вывод средних значений Mean, удалив из него другие установленные по умолчанию статистики. Закройте диалоговое окно Options щелчком на кнопке Continue. Наконец, из главного диалогового окна Means запустите процедуру сравнения средних значений (кнопка ОК).

Рис. 5.52.

В открывшемся окне SPSS Viewer появятся результаты работы статистической процедуры сравнения средних значений. Нас интересует таблица Report (рис. 5.53). Из нее можно увидеть, на каком основании SPSS разделила респондентов на два кластера. Таким критерием в нашем случае служит уровень оценок по анализируемым параметрам. Кластер 1 состоит из респондентов, для которых средние оценки по всем критериям сегментирования находятся на сравнительно высоком уровне (4,40 балла и выше). Кластер 2 включает респондентов, оценивших рассматриваемые критерии сегментирования достаточно низко (3,35 балла и ниже). Таким образом, можно сделать вывод о том, что 93,3 % респондентов, сформировавшие кластер 1, оценили анализируемые авиакомпании по всем параметрам в целом хорошо; 5,4 % -- достаточно низко; 1,3 % -- затруднились ответить (см. рис. 5.50). Из рис. 5.53 можно также сделать вывод о том, какой уровень оценок для каждого из рассматриваемых параметров в отдельности является высоким, а какой -- низким (причем данный вывод будет сделан со стороны респондентов, что позволяет добиться высокой точности классификации). Из таблицы Report можно видеть, что для переменной Регулирование очереди высоким считается уровень средней оценки 4,40, а для параметра Внешний вид -- 4.72.


Рис. 5.53.

Может оказаться, что в аналогичном случае по параметру X высокой оценкой считается 4,5, а по параметру Y -- только 3,9. Это не будет ошибкой кластеризации, а напротив, позволит сделать важный вывод относительно значимости для респондентов рассматриваемых параметров. Так, для параметра Y уже 3,9 балла является хорошей оценкой, тогда как к параметру X респонденты предъявляют более строгие требования.

Мы идентифицировали два значимых кластера, различающиеся по уровню средних оценок по критериям сегментирования. Теперь можно присвоить метки полученным кластерам: для 1 -- Авиакомпании, удовлетворяющие требованиям респондентов (по семи анализируемым критериям); для 2 -- Авиакомпании, не удовлетворяющие требованиям респондентов. Теперь можно посмотреть, какие конкретно авиакомпании (закодированные в переменной q4) удовлетворяют требованиям респондентов, а какие -- нет по критериям сегментирования. Для этого следует построить перекрестное распределение переменной q4 (анализируемые авиакомпании) в зависимости от кластеризующей переменной clu2_l. Результаты такого перекрестного анализа представлены на рис. 5.54.

По этой таблице можно сделать следующие выводы относительно членства исследуемых авиакомпаний в выделенных целевых сегментах.


Рис. 5.54.

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

¦ Внуковские авиалинии;

¦ American Airlines;

¦ Delta Airlines;

¦ Austrian Airlines;

¦ British Airways;

¦ Korean Airlines;

¦ Japan Airlines.

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

¦ Трансаэро.

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

¦ Домодедовские авиалинии;

¦ Пулково;

¦ Сибирь;

¦ Уральские авиалинии;

¦ Самарские авиалинии;

Таким образом, получено три целевых сегмента авиакомпаний по уровню средних оценок, характеризующиеся различной степенью удовлетворенности респондентов работой наземного персонала:

  • 1. наиболее привлекательные для пассажиров авиакомпании по уровню работы наземного персонала (14);
  • 2. скорее привлекательные авиакомпании (1);
  • 3. скорее непривлекательные авиакомпании (7).

Мы успешно завершили все этапы кластерного анализа и сегментировали авиакомпании по семи выделенным критериям.

Теперь приведем описание методики кластерного анализа в паре с факторным. Используем условие задачи из раздела 5.2.1 (факторный анализ). Как уже было сказано, в задачах сегментирования при большом числе переменных целесообразно предварять кластерный анализ факторным. Это делается для сокращения количества критериев сегментирования до наиболее значимых. В нашем случае в исходном файле данных у нас есть 24 переменные. В результате факторного анализа нам удалось сократить их число до 5. Теперь это число факторов может эффективно применяться для кластерного анализа, а сами факторы -- использоваться в качестве критериев сегментирования.

Если перед нами стоит задача сегментировать респондентов по их оценке различных аспектов текущей конкурентной позиции авиакомпании X, можно провести иерархический кластерный анализ по выделенным пяти критериям (переменные nfacl_l-nfac5_l). В нашем случае переменные оценивались по разным шкалам. Например, оценка 1 для утверждения Я бы не хотел, чтобы авиакомпания менялась и такая же оценка утверждению Изменения в авиакомпании будут позитивным моментом диаметрально противоположны по смыслу. В первом случае 1 балл (совершенно не согласен) означает, что респондент приветствует изменения в авиакомпании; во втором случае оценка в 1 балл свидетельствует о том, что респондент отвергает изменения в авиакомпании. При интерпретации кластеров у нас неизбежно возникнут трудности, так как такие противоположные по смыслу переменные могут

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

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

Заключительную часть этого раздела мы посвятим описанию применения кластерного анализа для классификации переменных и сравнения его результатов с результатами факторного анализа, проведенного в разделе 5.2.1. Для этого мы вновь воспользуемся условием задачи про оценку текущей позиции авиакомпании X на рынке авиаперевозок. Методика проведения кластерного анализа практически полностью повторяет описанную выше (когда сегментировались респонденты).

Итак, в исходном файле данных у нас есть 24 переменные, описывающие отношение респондентов к различным аспектам текущей конкурентной позиции авиакомпании X. Откройте главное диалоговое окно Hierarchical Cluster Analysis и поместите 24 переменные (ql-q24) в поле Variable(s), рис. 5.55. В области Cluster укажите, что вы классифицируете переменные (отметьте параметр Variables). Вы увидите, что кнопка Save стала недоступна -- в отличие от факторного, в кластерном анализе нельзя сохранить факторные рейтинги для всех респондентов. Откажитесь от вывода диаграмм, дезактивизировав параметр Plots. На первом этапе вам не нужны другие параметры, поэтому просто щелкните на кнопке О К, чтобы запустить процедуру кластерного анализа.

В окне SPSS Viewer появилась таблица Agglomeration Schedule, по которой мы определили оптимальное число кластеров описанным выше методом (рис. 5.56). Первый скачок коэффициента агломерации наблюдается на 20 шаге (с 18834,000 до 21980,967). Исходя из общего числа анализируемых переменных, равного 24, можно вычислить оптимальное число кластеров: 24 - 20 = 4.

Рис. 5.55.


Рис. 5.56.

При классификации переменных практически и статистически значимым является кластер, состоящий всего из одной переменной. Поэтому, поскольку мы получили приемлемое число кластеров математическим методом, проведение дальнейших проверок не требуется. Вместо этого снова откройте главное диалоговое окно кластерного анализа (все данные, использованные на предыдущем этапе, сохранились) и щелкните на кнопке Statistics, чтобы организовать вывод классификационной таблицы. Вы увидите одноименное диалоговое окно, где необходимо указать число кластеров, на которое необходимо разделить 24 переменные (рис. 5.57). Для этого выберите параметр Single solution и в соответствующем поле укажите требуемое число кластеров: 4. Теперь закройте диалоговое окно Statistics щелчком на кнопке Continue и из главного окна кластерного анализа запустите процедуру на выполнение.

В результате в окне SPSS Viewer появится таблица Cluster Membership, распределяющая анализируемые переменные на четыре кластера (рис. 5.58).

Рис. 5.58.

По данной таблице можно отнести каждую рассматриваемую переменную в определенный кластер следующим образом.

Кластер 1

ql. Авиакомпания X обладает репутацией компании, превосходно обслуживающей пассажиров.

q2. Авиакомпания X может конкурировать с лучшими авиакомпаниями мира.

q3. Я верю, что у авиакомпании X есть перспективное будущее в мировой авиации.

q5. Я горжусь тем, что работаю в авиакомпании X.

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

qlO. Авиакомпания X действительно заботится о пассажирах.

ql3. Мне нравится, как в настоящее время авиакомпания X представлена визуально широкой общественности (в плане цветовой гаммы и фирменного стиля).

ql4. Авиакомпания X -- лицо России.

ql6. Обслуживание авиакомпании X является последовательным и узнаваемым во всем

ql8. Авиакомпании X необходимо меняться для того, чтобы использовать в полной мере имеющийся потенциал.

ql9. Я думаю, что авиакомпании X необходимо представить себя в визуальном плане более современно.

q20. Изменения в авиакомпании X будут позитивным моментом. q21. Авиакомпания X -- эффективная авиакомпания.

q22. Я бы хотел, чтобы имидж авиакомпании X улучшился с точки зрения иностранных пассажиров.

q23. Авиакомпания X -- лучше, чем многие о ней думают.

q24. Важно, чтобы люди во всем мире знали, что мы -- российская авиакомпания.

Кластер 2

q4. Я знаю, какой будет стратегия развития авиакомпании X в будущем.

q6. В авиакомпании X хорошее взаимодействие между подразделениями.

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

q8. Сейчас авиакомпания X быстро улучшается.

qll. Среди сотрудников авиакомпании имеет место высокая степень удовлетворенности работой.

ql2. Я верю, что менеджеры высшего звена прикладывают все усилия для достижения успеха авиакомпании.

Кластер 3

ql5. Мы выглядим «вчерашним днем» по сравнению с другими авиакомпаниями.

Кластер 4

ql7. Я бы не хотел, чтобы авиакомпания X менялась.

Сравнив результаты факторного (раздел 5.2.1) и кластерного анализов, вы увидите, что они существенно различаются. Кластерный анализ не только предоставляет существенно меньшие возможности для кластеризации переменных (например, отсутствие возможности сохранять групповые рейтинги) по сравнению с факторным анализом, но и выдает гораздо менее наглядные результаты. В нашем случае, если кластеры 2, 3 и 4 еще поддаются логической интерпретации1, то кластер 1 содержит совершенно разные по смыслу утверждения. В данной ситуации можно либо попытаться описать кластер 1 как есть, либо перестроить статистическую модель с другим числом кластеров. В последнем случае для поиска оптимального числа кластеров, поддающихся логическому описанию, можно воспользоваться параметром Range of solutions в диалоговом окне Statistics (см. рис. 5.57), указав в соответствующих полях минимальное и максимальное число кластеров (в нашем случае 4 и 6 соответственно). В такой ситуации SPSS перестроит таблицу Cluster Membership для каждого числа кластеров. Задача аналитика в данном случае -- попытаться подобрать такую классификационную модель, при которой все кластеры будут интерпретироваться однозначно. С целью демонстрации возможностей процедуры кластерного анализа для кластеризации переменных мы не будем перестраивать кластерную модель, а ограничимся лишь сказанным выше.

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

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

Кластерный анализ появился сравнительно недавно - в 1939 году. Его предложил ученый К. Трион. Дословно термин "кластер" в переводе с английского "cluster" означает кисть, сгусток, пучок, группа.

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

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

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

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

Основными задачами кластерного анализа являются:

Разработка типологии или классификации исследуемых объектов;

Исследования и определения приемлемых концептуальных схем группировки объектов;

Выдвижение гипотез на основании результатов исследования данных;

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

Кластерный анализ требует осуществления таких последовательных шагов:

1) проведение выборки объектов для кластеризации;

2) определение множества признаков, по которым будут оцениваться отобранные объекты;

3) оценка степени сходства объектов;

4) применение кластерного анализа для создания групп подобных объектов;

5) проверка достоверности результатов кластерного решения.

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

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

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

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

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

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

осуществляются путем агломеративного (объединительных) действий. Они предусматривают следующие операции:

Последовательное объединение подобных объектов с образованием матрицы сходства объектов;

Построение дендрограммы (древовидной диаграммы), которая отражает последовательное объединение объектов в кластеры;

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

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

Одним из самых распространенных способов проведения итерационных процедур вот уже более сорока лет выступает метод k-средних (разработан в 1967 Дж. Маккуин). Применение его требует осуществления следующих шагов:

Разделение исходных данных исследуемой совокупности на заданное количество кластеров

Вычисление многомерных средних (центров тяжести) выделенных кластеров

Расчета Евклидовой расстояния каждой единицы совокупности определенных центров притяжения кластеров и построение матрицы расстояний, основанная на метрике расстояний. Используют различные метрики расстояний, например Евклидова расстояние (простая и взвешенная), Манхэттенский, Чебышева, Минковского, Махалонобиса и тому подобное;

Определение новых центов притяжения и новых кластеров.

Наиболее известными и широко применяемыми методами

формирование кластеров являются:

Единичного связи;

Полного связи;

Среднего связи;

Метод Уорда.

Метод единичного связи (метод близкого соседа) предусматривает присоединение единицы совокупности к кластеру, если она близка (находится на одном уровне сходства) хотя бы до одного представителя этого кластера.

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

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

Согласно методу Уорда присоединения объектов к кластерам осуществляется в случае минимального прироста внутригрупповой суммы квадратов отклонений. Благодаря этому образуются кластеры примерно одного размера, которые имеют форму гиперсферу.

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

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

1) ВВП в расчете на душу населения, дол. США;

2) среднемесячная номинальная заработная плата, рус. руб.;

3) среднемесячный размер пенсии, рус. руб.;

6) доля расходов на покупку продуктов питания в потребительских расходах домохозяйств, процентов;

7) потребление мяса и мясопродуктов в среднем за год в расчете на одного человека, кг;

8) количество пшеничного хлеба, что можно было бы приобрести на сумму среднего наличного денежного дохода в месяц (на одного человека), кг;

9) общий коэффициент рождаемости (на 1000 человек населения);

10) коэффициент младенческой смертности (умерло детей в возрасте до одного года на 1000 родившихся)

11) число занятых в процентах к экономически активному населению;

12) обеспеченность населения жильем в среднем (на одного человека), м2 общей площади;

13) количество больных злокачественными новообразованиями (на 100 000 населения), лиц;

14) количество зарегистрированных преступлений (на 100 000 населения), ед.;

15) выбросы вредных веществ в атмосферу стационарными источниками загрязнения (на одного человека), кг;

16) посещение музеев в среднем за год (на 1000 населения), ед. (табл. 12.7).

Кратера анализ осуществляется на основе сопоставим и однонаправленных показателей. Поэтому показатели входной матрицы следует сначала стандартизировать. Одним из распространенных способов для неоднородных совокупностей (в частности в нашем примере) является стандартизация показателей путем отношения отклонения - а к единице стандартизации q. В этом случае единицей стандартизации будет фактический вариационный размах.

При этом, как показано в научных трудах ученых-экономистов AM Ерин и С.С. Ващаев, для показателей-стимуляторов берется, тогда как для показателей-дестимуляторы. Исходя из этого, стандартизированные значения показателей рассчитываются по формулам:

Для показателей стимуляторов:;

Для показателей-дестимуляторы:.

где - стандартизированное значение i-ro показателя для у-й единицы совокупности,;

Входное значение i-го показателя для j-й единицы совокупности.

Полученные стандартизированные входные данные представлены в табл.12.8.

Азербайджан

Беларусь

Казахстан

Кыргызстан

Таджикистан

Таблица 12.8. Матрица стандартизированных входных данных

Азербайджан

Беларусь

Казахстан

Кыргызстан

Таджикистан

Следующим шагом кластерного анализа должна быть построение матрицы расстояний, предполагает прежде всего выбор метрики расстояний. На практике применяют различные метрики расстояний: Евклидова, взвешенная Евклидова, Манхэттенского, Чебышева, Минковского, Махалонобиса D 2 и др. В данном случае распределение стран СНГ на группы можно осуществить с помощью Манхэттенской расстояния. Она рассчитана по формуле

,

где и - стандартизированные значение i-го показателя j-й и k-й единиц совокупности.

Исходя из выбранной меры расстояний, можно построить симметричную матрицу расстояний между странами СНГ (табл. 12.9).

Страны СНГ

Азербайджан

Беларусь

Казахстан

Кыргызстан

Таджикистан

Азербайджан

Беларусь

Казахстан

Кыргызстан

Таджикистан

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

Единичного связи;

Полного связи;

Среднего связи;

Метод Уорда.

Воспользуемся методом Уорда, который позволяет минимизировать внутригрупповую дисперсию внутри кластеров. Согласно этому методу, присоединение объектов к кластерам осуществляется при минимальном прироста внутригрупповой суммы квадратов отклонений. Это способствует образованию кластеров примерно одинакового размера, которые имеют форму гиперсферу. Дендрограму результатов кластерного анализа показано на рис 12.5.

Рис. 12.5. Дендрограма результатов кластерного анализа стран СНГ по уровню жизни населения

Как видно из рисунка, вертикальная ось дендрограммы отражает страны СНГ, а горизонтальная является расстоянием объединения.

С целью определения оптимального количества кластеров следует построить график списке объединения регионов Украины в кластеры, отложив на вертикальной его оси расстояния, а на горизонтальной - шаг объединения (рис. 12.6).

Рис. 12.6. График списке объединения стран СНГ в кластеры

Как видим оптимальным, согласно установленным требованиям оптимальности, является разбиение стран СНГ по уровню жизни населения на три кластера. Отметим, что оптимальной считается такое количество кластеров, равной разности количества наблюдений (в нашем примере - 9) и количества шагов, после которых расстояние объединения растет скачкообразно (в нашем примере - 6).

Таким образом, страны СНГ разделены на три кластера. К первому кластера вошли Азербайджан и Таджикистан, в другой - Беларусь, Украина, Россия и Казахстан, и третьего - Армения, Молдова и Кыргызстан.

С помощью метода k-средние вычислены средние значения показателей для каждого из трех кластеров (рис. 12.7).

Рис. 12.7. Средние значения показателей для каждого кластера

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

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

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

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

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

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

Большинство исследователей склоняются к тому, что впервые термин «кластерный анализ» (англ. 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.