Глава 6. КЛАСТЕРНЫЙ АНАЛИЗ
- 6.1. Возможности кластерного анализа
- 6.2. Иерархический кластерный анализ в SPSS
- 6.3. Быстрый кластерный анализ
- 6Л. Возможности кластерного анализа
Кластерный анализ - это группа методов, используемых для классификации объектов или событий в относительно гомогенные (однородные) группы, которые называют кластерами (clusters). Синонимы: классификационный анализ (Classification Analysis), численная таксономия (Numerical Taxonomy). Если процедура факторного анализа сжимает матрицу признаков в матрицу с меньшим числом переменных, то кластерный анализ дает нам группы единиц анализа, т.е. выполняет классификацию объектов. Если в факторном анализе группируются столбцы матрицы данных, то в кластерном анализе группируются строки.
Если данные понимать как точки в признаковом пространстве, то задача кластерного анализа состоит в выделении «сгущений точек», в разбиении совокупности на однородные подмножества объектов.
Статистики кластерного анализа:
- - протокол объединения (Agglomeration Scheduling);
- - кластерный центроид (Cluster Centroid);
- - кластерные центры, зерна (Clusters Centers);
- - принадлежность кластеру (Cluster Membership);
- - древовидная диаграмма (Dendrogram);
- - расстояния между центрами (Distance between Centers);
- - сосульчатая диаграмма (Icicle Diagram);
- - матрица сходства (Distance Coefficient Matrix).
При проведении кластерного анализа обычно определяют расстояние на множестве объектов; алгоритмы кластерного анализа формулируют в терминах этих расстояний. Мер близости и расстояний между объектами существует великое множество. Их выбирают в зависимости от цели исследования. В частности, евклидово расстояние лучше использовать для количественных переменных, расстояние хи-квадрат- для исследования частотных таблиц, имеется множество мер для бинарных переменных.
Кластерный анализ является описательной процедурой, он не позволяет сделать никаких статистических выводов, но дает возможность провести своеобразную разведку - изучить структуру совокупности [6].
Стадии кластерного анализа:
- - формулировка проблемы;
- - выбор способа измерения расстояния;
- - выбор метода кластеризации;
- - принятие решения о количестве кластеров;
- - интерпретация и профилирование кластеров;
- - оценка достоверности кластеризации.
А. Формулировка проблемы. Имеются данные опроса 20 респондентов, отвечавших на 6 вопросов. Ответ на каждый вопрос по 7-балльной шкале, от не согласен, до полностью согласен. Требуется провести классификацию объектов, схожих по набору признаков.
Б. Выбор меры расстояния или меры сходства. Для каждого типа данных существует несколько способов измерения расстояния или определения меры сходства объектов. Наиболее часто используются для интервальных данных:
- евклидово расстояние (Euclidian Distance):
J.
- - квадрат евклидова расстояния (Squared Euclidian distance)
- (x,r)=?(x,-i;)2.
i=l
В. Выбор метода кластеризации. Мы можем осуществить выбор между следующими методами:
- - среднее расстояние между кластерами (Between-groups linkage);
- - среднее расстояние между всеми объектами пары кластеров с учетом расстояний внутри кластеров (Within-groups linkage);
- - расстояние между ближайшими соседями (Nearest neighbor);
- - расстояние между самыми далекими соседями (Furthest neighbor);
- - расстояние между центрами кластеров (Centroid clustering);
- - метод медиан (Median clustering);
- - метод Варда (Ward's method).
Г. Принятие решения о числе кластеров. При принятии данного решения руководствуются следующими соображениями.
- 1. Руководствуются практическими и теоретическими соображениями. Исходя из цели исследования, например, может быть необходимо три кластера.
- 2. В иерархической кластеризации в качестве критерия можно использовать расстояния. При этом обращаем внимание на коэффициент в протоколе объединения.
- 3. В иерархической кластеризации можно воспользоваться графиком зависимости отношения суммарной внутригрупповой дисперсии к межгрупповой дисперсии от числа кластеров. Скачок указывает на число кластеров.
4. Размеры кластеров должны быть достаточно выразительными.
Д. Интерпретация и профилирование кластеров. Эта стадия включает проверку кластерных центроидов. Центроиды - это средние значения объектов, содержащихся в кластере, по каждой из переменных. Они позволяют описывать кластеры.
Е. Оценка достоверности кластеризации. Для выполнения этой задачи следуйте перечисленным ниже рекомендациям:
- 1. Выполняйте кластерный анализ на основании одних и тех же данных, но с использованием различных способов измерения расстояния. Сравните результаты, полученные на основе разных мер расстояния, чтобы определить, насколько совпадают полученные результаты.
- 2. Используйте разные методы кластерного анализа и сравните полученные результаты.
- 3. Разбейте данные на две равные части случайным образом. Выполните кластерный анализ отдельно для каждой половины. Сравните кластерные центроиды двух подвыборок.
- 4. Случайным образом удалите некоторые переменные. Выполните кластерный анализ по сокращенному набору переменных. Сравните результаты с полученными на основе полного набора переменных.
- 5. В неиерархической кластеризации решение может зависеть от порядка случаев в наборе данных. Выполните анализ несколько раз, меняя порядок случаев, до получения стабильного решения.
- 6.2. Иерархический кластерный анализ в SPSS
Процедура иерархического кластерного анализа в SPSS предусматривает группировку как объектов (строк матрицы данных), так и переменных (столбцов). Можно считать, что в последнем случае роль объектов играют переменные, а роль переменных - столбцы.
Этот метод реализует иерархический агломеративный алгоритм. Его смысл заключается в следующем. Перед началом кластеризации все N объектов считаются отдельными кластерами, которые в ходе алгоритма объединяются. Вначале выбирается пара ближайших кластеров, которые объединяются в один кластер. В результате количество кластеров становится равным N- 1. Процедура повторяется, пока все классы не объединятся. На любом этапе объединение можно прервать, получив нужное число кластеров. Таким образом, результат работы алгоритма агрегирования определяют способы вычисления расстояния между объектами и определения близости между кластерами.
Для определения расстояния между парой кластеров могут быть сформулированы различные подходы, для чего в SPSS предусмотрены методы, определяемые на основе расстояний между объектами:
- - среднее расстояние между кластерами (Between-groups linkage);
- - среднее расстояние между всеми объектами пары кластеров с учетом расстояний внутри кластеров (Within-groups linkage);
- - расстояние между ближайшими соседями - ближайшими объектами кластеров (Nearest neighbour);
- - расстояние между самыми далекими соседями (Furthest neighbour);
- - расстояние между центрами кластеров (Centroid clustering), или «центроидный» метод. Недостатком этого метода является то, что центр объединенного кластера вычисляется как среднее центров объединяемых кластеров, без учета их объема;
- - метод медиан - тот же «центроидный» метод, но центр объединенного кластера вычисляется как среднее всех объектов (Median clustering);
- - метод Варда (Ward's method). В качестве расстояния между кластерами берется прирост суммы квадратов расстояний объектов до центров кластеров, получаемый в результате их объединения.
Расстояния и меры близости между объектами. У нас нет возможности сделать полный обзор всех коэффициентов, поэтому остановимся лишь на характерных расстояниях и мерах близости для определенных видов данных. Меры близости отличаются от расстояний тем, что они тем больше, чем более похожи объекты.
Пусть имеются два объектах = (Хь ..., Х„;) и Y = (Уь ..., У„(). Используя эту запись для объектов, определим основные виды расстояний, используемых в процедуре CLUSTER:
- евклидово расстояние (Euclidian distance)
/ ш
(*Т) = . 2;
V i=l
- квадрат евклидова расстояния (Squared Euclidian distance)
d(X,Y) = t(X,-Yy
- 1=1
- (евклидово расстояние и его квадрат целесообразно использовать для анализа количественных данных);
- - мера близости - коэффициент корреляции
т
5(X,Y) = (XzxZy)/(m-l),
i=l
где Zx и ZY компоненты стандартизованных векторов X и У (эту меру целесообразно использовать для выявления кластеров переменных, а не объектов);
- расстояние хи-квадрат получается на основе таблицы сопряженности, составленной из объектов X и У, которые, предположительно, являются векторами частот.
|
X |
Х1 |
... |
хт |
X. |
|
У |
Ym |
У. |
||
|
Х+У |
Х1+У1 |
Xm+Ym |
Х. + У. |
- - расстояние ^-квадрат является расстоянием хи-квадрат, нормированным на число объектов в таблице сопряженности, представляемой строками X и У, т.е. на корень квадратный из N = X. + Y.;
- - в иерархическом кластерном анализе в SPSS также имеется несколько видов расстояний для бинарных данных (векторы X и У состоят из нулей и единиц, обозначающих наличие или отсутствие определенных свойств объектов). Наиболее естественными из них, по-видимому, являются евклидово расстояние и его квадрат.
Стандартизация. Непосредственное использование переменных в анализе может привести к тому, что классификацию будут определять переменные, имеющие наибольший разброс значений. Поэтому применяются следующие виды стандартизации:
- - Z-шкалы (Z-Scores). Из значений переменных вычитается их среднее и эти значения делятся на стандартное отклонение.
- - Разброс от -1 до 1. Линейным преобразованием переменных добиваются разброса значений от-1 до 1.
- - Разброс от 0 до 1. Линейным преобразованием переменных добиваются разброса значений от 0 до 1.
- - Максимум 1. Значения переменных делятся на их максимум.
- - Среднее 1. Значения переменных делятся на их среднее.
- - Стандартное отклонение 1. Значения переменных делятся на стандартное отклонение.
- - Кроме того, возможны преобразования самих расстояний, в частности, можно расстояния заменить их абсолютными значениями, это актуально для коэффициентов корреляции. Можно также все расстояния преобразовать так, чтобы они изменялись от 0 до 1.
Таким образом, работа с кластерным анализом может превратиться в увлекательную игру, связанную с подбором метода агрегирования, расстояния и стандартизации переменных с целью получения наиболее интерпретируемого результата. Желательно только, чтобы это не стало самоцелью и исследователь получил действительно необходимые содержательные сведения о структуре данных.
Процесс агрегирования данных может быть представлен графически деревом объединения кластеров (Dendrogramm) либо «сосульковой» диаграммой (Icicle). Но подробнее о процессе кластеризации можно узнать по протоколу объединения кластеров (Schedule).
6.3. Быстрый кластерный анализ
Процедура иерархического кластерного анализа хороша для малого числа объектов. Ее преимущество в том, что каждый объект можно, образно говоря, пощупать руками. Но эта процедура не годится для огромных социологических данных из-за трудоемкости агломеративного алгоритма и слишком больших размеров дендрограмм.
Здесь наиболее приемлем быстрый алгоритм, носящий название метода к-средних. Он реализуется в пакете командой QUICK CLUSTER или командой меню Z:-means.
Алгоритм заключается в следующем: выбирается заданное число к-точек (объектов из данных), и на первом шаге эти точки рассматриваются как центры кластеров. Каждому кластеру соответствует один центр. Объекты распределяются в кластерах по такому принципу: каждый объект относится к кластеру с ближайшим к этому объекту центром. Таким образом, все объекты распределились по к-кластерам.
Затем заново вычисляются центры этих кластеров, которыми с этого момента считаются покоординатные средние кластеров. После этого опять перераспределяются объекты. Вычисле ние центров и перераспределение объектов происходит до тех пор, пока не стабилизируются центры.
Синтаксис команды:
QUICK CLUSTER W3dl ТО W3D6/CRITERIA CLUSTERS(3) /MISSING = PAIRWISE /SAVE CLUSTER(SAVCLU) /PRINT ANOVA.
За именем команды располагаются переменные, по которым происходит кластеризация. Параметр/CRITERIA CLUSTERS задает в скобках число кластеров. Подкомандой /SAVE CLUSTER можно сохранить полученную классификацию в виде переменной, имя которой дается в скобках. Подкоманда /PRINT ANOVA позволяет провести по каждой переменной одномерный дисперсионный анализ - сравнение средних в кластерах. Последний имеет лишь описательное значение и позволяет определить переменные, которые не оказывают никакого влияния на классификацию.
Команда использует только евклидово расстояние. При этом часть переменных может иметь неопределенные значения, расстояния до центров определяются по определенным значениям. Для использования такой возможности следует употребить подкоманду /MISSING = PAIRWISE.
Часто переменные имеют разный диапазон изменений, так как измерены они в различных шкалах или просто из-за того, что характеризуют разные свойства объектов (например, рост и вес, килограммы и граммы). В этих условиях основное влияние на кластеризацию окажут переменные, имеющие большую дисперсию. Поэтому перед кластеризацией полезно стандартизовать переменные. К сожалению, в «быстром» кластерном анализе средства стандартизации не предусмотрены непосредственно, как в процедуре иерархического кластерного анализа.
Для этого можно использовать команду DESCRIPTIVE. Напомним, что подкоманда /SAVE в ней позволяет автоматически сохранить стандартизованные переменные. Кроме того, хо рошие средства стандартизующих преобразований шкал дает команда RANK.
В выдаче распечатываются центры кластеров (средние значения переменных кластеризации для каждого кластера), получаемые на каждой итерации алгоритма. Однако для нас полезна лишь часть выдачи, помеченная текстом Final centres.
Интерпретация кластеров осуществляется на основе сравнения средних значений, выдаваемых процедурой, а также исследования сохраненной переменной средствами статистического пакета.
Вопросы для самопроверки
- 1. Каковы возможности применения кластерного анализа?
- 2. Когда применяется иерархический кластерный анализ?
- 3. В чем причина ограниченности использования иерархического кластерного анализа?
- 4. Какие возможности демонстрирует быстрый кластерный анализ?
Автор: Добрина О.А.