Загрузил dimarik__777

MU 9(CLA)

КЛАСТЕРНЫЙ АНАЛИЗ
Кластерный анализ – это анализ, позволяющий получить разбиение большого объема
данных на классы или группы согласно некоторому критерию или их совокупности. При этом
объединяются в классы объекты близкие между собой в определенном смысле, причем
предполагается отсутствие априорной информации о характеристиках объектов внутри классов.
Например, при сравнении стран, регионов, городов имеет смысл разбить всю
совокупность изучаемых объектов на классы, близкие, например, по уровню жизни. При
производстве товаров массового потребления имеет смысл разбить всех потенциальных
покупателей на группы, близкие по потребительской способности и т.д.
В качестве основных задач, решаемых с помощью кластерного анализа, можно выделить:
1) классификацию объектов с учетом большого числа признаков, отражающих их сущность;
2) выявление скрытой структуры изучаемой совокупности объектов;
3) снижение размерности пространства изучаемых объектов.
МЕРЫ БЛИЗОСТИ ОБЪЕКТОВ
Пусть дана совокупность из n объектов, каждый из которых характеризуется k
признаками 1 , 2 ,, k . Обозначим: X ( i )  { X 1( i ) , X 2( i ) , X k( i ) } - вектор значений признаков для i(i )
ого объекта, X j - значение j-го признака для i-го объекта. Определим меру близости (или меру
однородности) объектов. В качестве меры близости будем использовать расстояние между
объектами. Напомним, что расстоянием, или метрикой определенной на множестве M
называется числовая функция  ( X ,Y ),
X ,Y  M , удовлетворяющая следующим условиям:
1)  X , Y   0,  X , Y   0  X  Y ;
2)   X ,Y    Y , X  ;
3)   X ,Y     X , Z    Z ,Y  .
В теории кластерного анализа используются следующие метрики для измерения
расстояния между отдельными объектами (точками в k-мерном пространстве):

  X
1) Евклидово расстояние:  X ( i ) , X ( j ) 
k
s 1
(i )
s
 X s( j )  . Используется, если признаки
2
однородны по физическому смыслу и их значения одинаково “весомы”.
1



k

2) Квадрат евклидова расстояния:  X ( i ) , X ( j )   X s( i )  X s( j ) . Применяется для придания
2
s 1
большего веса более отдаленным друг от друга объектам.

  w X
3) Взвешенное евклидово расстояние:  X (i ) , X ( j ) 
k
s
s 1
(i )
s
 X s( j )  ,
2
k
w
s
s 1
 1 ,где ws –
веса, пропорциональные важности признака в задаче классификации.
4) Хеммингово расстояние:  X ( i ) , X ( j )    X s( i )  X s( j ) . Данную метрику также часто
k
s 1
называют расстоянием городских кварталов (city–block). Используется для уменьшения
влияния отдельных больших разностей (выбросов).
5) Расстояние Махаланобиса:  X (i ) , X ( j )  
X
(i )
 X ( j )  A1 X (i )  X ( j )  ,где
T
A – матрица
ковариаций признаков 1 , 2 ,, k (или выборочная матрица ковариаций).


(i )
( j)
 max X s( i )  X s( j ) .
6) Расстояние Чебышева:  X , X

s
 X
7) Расстояние Минковского:  X ( i ) , X ( j ) 
k
p
s 1
8) Степенное
расстояние
 X ( i ) , X ( j )   r
k
X
s 1
(i )
s
 X s( j )
или
p
(i )
s
 X s( j )
p
, p  1.
обобщенное
расстояние
Минковского:
, p  1 , r  1 . Применяется в случае, когда необходимо
увеличить или уменьшить вес, относящийся к размерности, для которой соответствующие
объекты сильно отличаются. Параметр p ответственен за постепенное взвешивание
разностей по отдельным координатам, параметр r ответственен за прогрессивное
взвешивание больших расстояний между объектами.
9) Процент
I

X s(i )

несогласия:
X s( j )

 X ( i ) , X ( j )  


1 k
 I X s(i )  X s( j ) ,
k s 1
где
(i )
( j)

0, X s  X s
. Используется для категориальных данных.

(i )
( j)

1
,
X

X

s
s
В качестве меры тесноты связи между объектами может выступать и величина
коэффициента
корреляции
между
объектами,
рассматриваемыми
как
наблюдаемыми значениями, равными значениям соответствующих признаков:
2
переменные
с
k
r X ( i ) , X ( j )  
( X
s 1
k
( X
s 1
(i )
s
(i )
s
 X ( i ) )( X s( j )  X ( j ) )
X )
(i ) 2
.
k
( X
s 1
( j)
s
X
( j) 2
)
Чем ближе по абсолютной величине значение коэффициента корреляции к единице, тем более
близки объекты между собой (обычно в качестве характеристики тесноты связи используют
величину 1  r ).
Оценка сходства между объектами сильно зависит от абсолютного значения признака и
от степени его вариации в совокупности. Если абсолютные значения для различных признаков
сильно различаются между собой, следует проводить нормировку исходных данных,
преобразуя их, например, к стандартным величинам с выборочным средним равным нулю и
выборочной дисперсией равной единице.
Выбор метрики осуществляется исследователем в зависимости от того, какой результат он
хочет получить. Этот выбор неформализуем, так как зависит от многих факторов, в частности,
от ожидаемого результата, от опыта исследователя, уровня его математической подготовки и
т.д.
,
ИЕРАРХИЧЕСКИЕ АГЛОМЕРАТИВНЫЕ МЕТОДЫ КЛАСТЕРНОГО АНАЛИЗА
Иерархические (т.е. деревообразующие) агломеративные (т.е. объеъеденяющие) методы
являются наиболее простыми и распространенными среди алгоритмов кластерного анализа. На
первом шаге каждый из объектов X (1) ,, X ( n ) исходных данных рассматривается как
отдельный кластер. По вычисленной матрице расстояний R  ( X ( i ) , X ( j) )   ij , где  –
некоторая метрика, на каждом шаге объединяются наиболее близкие друг к другу кластеры.
При этом, каждый раз пересчитывается матрица расстояний (заметим, что при этом
размерность матрицы на каждом шаге уменьшается на единицу). Очевидно, что процесс
завершится через n  1 шаг, когда в результате все объекты будут объединены в один кластер.
Процесс объединения может быть прерван на каком либо шаге, если изначально задать
пороговое максимальное значение расстояния для объединения кластеров. Если расстояние
между кластерами превосходит эту величину, то объединения кластеров не происходит.
Последовательность объединений можно представить в виде дендрограммы или дерева.
На рисунке показано, что на первом шаге были объединены объекты X (1) , X ( 2) , так как
3
расстояние между ними 0,1. На втором шаге к ним был присоединен объект X (3) , отстоящий от
кластера { X (1) , X ( 2) } на расстояние 0,4 и т.д. Очевидно, на последнем шаге объединяются все
объекты в один кластер.
Tree Diagram for 5 Cases
Complete Linkage
Euclidean distances
2,5
Linkage Distance
2,0
1,5
1,0
0,5
0,0
C_5
C_4
C_3
C_2
C_1
Иерархические методы являются наиболее простыми методами кластерного анализа и
используются в первую очередь для анализа структуры множества объектов. В зависимости от
того, как определяется расстояние между кластерами (как происходит объединение кластеров),
выделяют методы одиночной и полной связи, методы взвешенных и невзвешенных попарных
средних, взвешенный и невзвешенный центроидные методы, метод Уорда.
4
Метод одиночной связи
В методе одиночной связи расстояние между кластерами определяется по методу
“ближнего соседа”, то есть за расстояние между кластерами принимается расстояние между


самыми близкими элементами двух кластеров:   i ,  j   min  X s  , X k  .
X s  i
X k  j
К достоинствам данного метода следует отнести то, что он не чувствителен к
монотонному преобразованию матрицы расстояний между исходными объектами. К
недостаткам следует отнести то, что зачастую данный метод приводит к появлению длинных
цепочек кластеров.
5
Метод полной связи
В методе полной связи расстояние между кластерами вычисляется по принципу
«дальнего соседа», то есть за расстояние между кластерами принимается расстояние между
самыми удаленными элементами двух кластеров:   i ,  j   max  X s  , X k   .
X s  i
X k  j
6
Метод невзвешенных попарных средних (метод средней связи)
В методе невзвешенных попарных средних за расстояние между кластерами берется
среднее
расстояние
  i ,  j  
1
ni n j
между
всеми
   X   , X    ,
s
k
X  s   i X  k   j
парами
X4,X6
X2
2,53
X3
X1,X2
X3
X4,X5,X6
2,12
X5
4,30
3,0
X3
X5
2,70
двух
кластеров:
где ni , n j - количество объектов в кластерах  i ,  j
соответственно.
X1
объектов
2,12
X4,X6
4,24
3,06
X1,X2
2,96
7
Метод взвешенных попарных средних
В методе взвешенных попарных средних расстояние между кластерами определяется
следующим образом: пусть кластер (u,v) образован путем объединения кластеров u и v,тогда
расстояние от кластера w до кластера (u,v) равно:  (( u, v ), w) 
X1
X4,X6
X2
2,53
X3
X1,X2
X3
X4,X5,X6
2,12
X5
4,30
X3
X5
2,70
2,12
X4,X6
4,24
3,28
X1,X2
3,15
3,26
8
 ( u , w)   ( v , w)
2
.
Невзвешенный центроидный метод
В невзвешенном центроидном методе за расстояние между кластерами берется


расстояние между центрами тяжести кластеров:  i ,  j    X  i , X  j , где X  s вектор
выборочных средних для кластера  s .
X1
X4,X6: (1,5;2)
X1,X2:(1;0)
X2
6,25
X4,X6
X3
4,25
X1,X2,X4,X6: (1,25;1)
X3
4,25
X5
7,25
4,25
X5
10
17
X3
X5
7,5625 9,5625
Центроидный метод в отличии от предыдущих методов не обладает свойством монотонности: в
результате объединения минимальное расстояние между кластерами может уменьшаться.
Поэтому на диаграмме по оси OY указан порядковый номер объединения, а не расстояние
между кластерами.
9
Взвешенный центроидный метод (медианный метод)
В взвешенном центроидном методе при объединении кластеров центр нового кластера
определяется просто усреднением центров объединяемых кластеров. Расстояние между
кластерами можно определить следующим образом: пусть кластер (u,v) образован путем
объединения
 (( u, v ), w) 
кластеров u и v,тогда
 ( u , w)   ( v , w)
2
X1
X4,X6: (1,5;2)
X1,X2:(1;0)
 ( u, v )
4
X2
6,25
X4,X6
X3
4,25
X1,X2,X4,X6: (1,25;1)

расстояние
.
X3
4,25
X5
7,25
4,25
X5
10
17
X3
X5
7,5625 9,5625
10
от
кластера w до
кластера (u,v)
равно:
Метод Уорда
В методе Уорда объединение кластеров происходит таким образом, что сумма квадратов
расстояний объектов до центров кластеров получает наименьшее приращение. То есть, для
каждого кластера  s , состоящего из объектов X (1) ,, X ( ns ) , в соответствии с выбранной
метрикой, вычисляется величина Ds    2 X ( i ) , X  , где X - центр кластера  s . Данная
ns
i 1
величина, по сути, характеризует внутрикластерную дисперсию для кластера  s . Для
совокупности кластеров { 1 ,  2 ,,  q } , соответственно, вычисляется суммарная сумма
q
квадратов отклонений Vq   Ds . На первом шаге все величины Ds  0, s  1, n , и на каждом
s 1
шаге объединяются те кластеры, которые приводят к наименьшему изменению величины V q
после объединения (для этого потребуется рассмотреть все возможные объединения кластеров).
Метод Уорда на каждом шаге приводит к формированию кластеров с наименьшей
внутрикластерной дисперсией.
ФОРМУЛА ЛАНСА-УИЛЬЯМСА
В общем случае процесс кластеризации – весьма трудоемкий процесс. Число
необходимых операций можно уменьшить, если на каждом шаге использовать формулы,
позволяющие подсчитывать расстояние от образовавшегося кластера w  u  v до любого
другого кластера s, используя известные расстояния с предыдущих шагов. В частности, это
можно сделать, с помощью формулы, предложенной Лансом и Уильямсом в 1967 году:
( w, s )  u(u, s )  v(v, s )   (u, v )   | (u, s )  (v, s ) |
где u , v , ,  - числовые параметры.
Расстояние между кластерами для рассмотренных выше методов кластеризации удовлетворяет
формуле Ланса-Уильямса со следующими коэффициентами:

Метод одиночной связи (англ. single linkage)
u  1 / 2, v  1 / 2,   0,   1 / 2

Метод полной связи (англ. complete linkage)
u  1 / 2, v  1 / 2,   0,   1 / 2
11

Невзвешенный метод средней связи (англ. UPGMA (Unweighted Pair Group Method
with Arithmetic mean))
u 

nu
nv
, v 
,   0,   0
nu  nv
nu  nv
Взвешенный метод средней связи (англ. WPGMA (Weighted Pair Group Method with
Arithmetic mean))
u  1 / 2, v  1 / 2,   0,   0

Невзвешенный центроидный метод (англ. UPGMC (Unweighted Pair Group Method with
Centroid average))
u 

nu
nv
nu nv
, v 
,  
0,   0
nu  nv
nu  nv
(nu  nv )2
Взвешенный центроидный метод (англ. WPGMC (Weighted Pair Group Method with
Centroid average))
u  1 / 2, v  1 / 2,   1 / 4,   0

Метод Уорда (англ. Ward’s method)
u 
nu  ns
nv  ns
ns
, v 
,  
0,   0
nu  nv  ns
nu  nv  ns
(nu  nv  ns ) 2
Формула Ланса-Уильямса для центроидного метода справедлива, если в качестве меры
используется квадрат евклидова расстояния! Пакет Statistica считает расстояние между
кластерами по формуле Ланса-Уильямса, поэтому, если выбрать центроидный метод, и, в
качестве
метрики
выбрать
евклидово
расстояние,
результат
может
получиться
парадоксальным!!!
ИТЕРАТИВНЫЕ МЕТОДЫ КЛАСТЕРИЗАЦИИ
В итеративных методах кластерного анализа на каждой итерации каждый из исходных
объектов относится к одному из кластеров в соответствии с заданными условиями
кластеризации, при этом одновременно происходит перерасчет параметров кластеров. Затем
процесс кластеризации повторяется до тех пор, пока не получатся устойчивые образования
кластеров, не меняющиеся от итерации к итерации. В качестве условий кластеризации
12
используются, например, число кластеров, которые необходимо получить, предельный радиус
кластеров и т.д. Данные условия выбираются обычно по результатам иерархических методов.
Метод k – средних
Пусть необходимо совокупность объектов X (1) ,, X ( n ) разбить на k кластеров.
1) На первом шаге из n векторов случайным образом (или не случайным) выбираем k из
них, считая, что каждый из них образует центр кластера.
2) На следующем шаге каждый вектор из оставшегося набора данных относится к тому из
кластеров, расстояние до центра которого от данного вектора минимально.
3) Пересчитываем центры кластеров.
4) Повторяем пункты 2 и 3 до тех пор пока не получится устойчивое разбиение, то есть
составы кластеров на i-ой и i+1-ой итерации не будут различаться.
Представленный
алгоритм
называется
алгоритмом
Болла-Холла.
Существует
разновидность алгоритма, при которой центр кластера пересчитывается при каждом
добавлении в кластер нового вектора (вариант Маккуина).
Можно показать, что при большом n и малом k алгоритм быстро сходится к устойчивому
решению, т.е. к решению, в котором кластеры, полученные после применения алгоритма на i-ой
итерации, совпадают по количеству и составу с кластерами, найденными на i+1-ой итерации.
Тем не менее, алгоритм применяют несколько раз, используя различные начальные векторы в
качестве центров кластеров и, если результаты различаются, выбирают оптимальное разбиение,
используя один из критериев качества разбиения. Также при определении порядка выбора
объектов на каждой итерации, рекомендуется этот порядок определять случайным образом.
Метод поиска сгущений
Данный алгоритм ориентирован на построение кластеров, радиус которых не превышает
заданный. Радиус кластера – это расстояние от центра до наиболее удаленного объекта
кластера. На первом шаге случайным образом выбирают один вектор, который будет играть
роль центра первого кластера. После этого определяются вектора X s1 ,, X sk , расстояние от
которых до центра первого кластера не превосходит R (т.е. попавшие внутрь сферы радиуса R с
центром в точке, являющейся центром первого кластера) и помещаются в данный кластер.
Затем пересчитывается центр получившегося кластера и процедура повторяется для всех
объектов без исключения. Условием окончания итераций является равенство по составу
кластеров, найденных на m и (m+1) шагах.
13
Попавшие внутрь первой сферы элементы X s ,  , X s
1
k
заключаем в один кластер и
исключаем их из дальнейшего исследования. Для оставшихся точек алгоритм повторяется.
Можно показать /2/, что алгоритм сходится при любом выборе начального приближения и
любом объеме исходных данных. Однако для получения устойчивого разбиения (т.е. разбиения,
в котором кластеры, найденные после первого применения алгоритма, совпадают по количеству
и составу с кластерами, найденными при повторном применении метода) рекомендуется
повторить алгоритм несколько раз при различном выборе центров кластеров. Для поиска
оптимального разбиения можно также варьировать значения радиуса R
ФУНКЦИОНАЛЫ КАЧЕСТВА РАЗБИЕНИЯ
Заметим, что задача кластеризации не имеет единственного решения. Как следствие,
перебрать все допустимые разбиения данных на классы достаточно сложно и не всегда
представляется возможным. Для того чтобы оценить качество различных способов
кластеризации вводят понятие функционала качества разбиения, который принимает
минимальное значение на наилучшем (с точки зрения исследователя) разбиении.
Пусть X (1) ,, X ( 2)  k – некоторая совокупность наблюдений, которая разбивается на
классы K  K1 ,, K q , причем q заранее известно. Тогда основные функционалы качества
разбиения при известном числе кластеров имеют вид:
1) Cумма квадратов расстояний до центров кластеров:
q
Q1 K   
s 1 X
  2 X ( i ) , X s  ,
(i )
K s
где X s – центр кластера K s .
2) Сумма средних квадратов расстояний до центров кластеров:
 2 X (i ) , X s  ,
q
Q2 K   
1
s 1 ns
X ( i ) K s
где ns – число элементов в кластере K s .
3) Сумма внутриклассовых квадратов расстояний между элементами
 2 X (i ) , X ( j ) 
q
Q3 K   
s 1 X ( i ) , X ( j ) K s
4) Сумма средних внутриклассовых квадратов расстояний между элементами
q
Q4 K   
1
s 1 ns
X
(i )
 2 X (i ) , X ( j ) 
, X ( j ) K s
14
где ns – число элементов в кластере K s .
5) Обобщенная внутриклассовая дисперсия
 q

Q5 K   det  ns As  ,


 s 1

где ns – число элементов в K s , As – выборочная ковариационная матрица для K s .
Если число кластеров в K  K1 ,, K q  заранее неизвестно, то используют следующие
функционалы качества разбиения при произвольно выбираемом целом m:

,  ,   0, m  
Z m K 
1) Q1 K   I m K  
2) Q2 K   I m K  / Z m K  ,
где:
1

I m K   
n



1
Z m K   
 n
n

s 1
1
ns
 
V X
 n
 
i 1
q
(i )


1
m

 m X (i ) , X ( j ) 



X (i ) , X (i )  K s
–
средняя
мера
внутриклассового
рассеяния,
1
m
m



 
– мера концентрации точек множества K , V X (i )
– число
элементов в кластере, содержащем точку X (i ) .
Заметим, что при произвольном значении параметра m, функционал Z m K  достигает
минимума, равного 1 / n , если исходное разбиение на кластеры K   K1,, K q  является
 
разбиением на одноточечные кластеры: K s  X (s ) , так как V  X i   1 . В то же время, Z m S 
достигает максимума, равного 1, если K – один кластер, содержащий все исходные данные, так
 
как V X (i )  n . В частных случаях можно показать, что Z 1 K  
1
, где q – число различных
q
кластеров в K  K1 ,, K q , Z  K   max
q
1
n 
Z   K   min  s  , Z1 K   2
s  n 
n
 ns 
 , где ns – число элементов в кластере K s ,
n
q
 ns2 .
s 1
Функционал I m K  является убывающей функцией числа классов q , а функционал
1 / Z m K  – возрастающей функцией числа классов
гарантирует
существование
q . Такое поведение
Q1 K , Q2 ( K ) ,
экстремумов
15
при
I m K  , Z m  K 
подходящем
выборе
коэффициентов ,  . Для нормированных данных можно рекомендовать значения   1,   1 .

1 n
Для произвольных данных можно взять, например,     2 X (i ) , X
 n i 1





1 / 2
,   1.
Можно для оценивания качества разбиения использовать статистические методы.
Например, проверять значимо ли различаются значения признаков для различных классов,
сравнивая характеристики межгруппового и внутригруппового разбросов (такой подход
используется в дисперсионном анализе). Пусть  j - выбранный признак. Обозначим: X j среднее значение признака  j по всем объектам (наблюдениям), X j , s - среднее значение
признака  j для кластера K s , s  1, q , X (ji, s) - значение признака  j для i-го элемента кластера
K s , i  1, ns , ns - число элементов в кластере K s . Рассмотрим следующие суммы:
q
ns
SST   ( X (ji, s)  X j ) 2 - полная сумма квадратов отклонений;
s 1 i 1
q
ns
q
SS B   ( X j , s  X j ) 2   ns ( X j , s  X j ) 2 сумма квадратов отклонений групповых средних от
s 1 i 1
s 1
общей средней (межгрупповой разброс);
q
ns
SSW   ( X ij , s  X j ,s ) 2 сумма квадратов отклонений наблюдений в группах от групповых
s 1 i 1
средних (внутригрупповой разброс).
Соответственно, величина SSB /( q  1) характеризует средний межгрупповой разброс, а
величина SSW /( n  q) средний внутригрупповой разброс. Если средние для кластеров значимо
различаются, то средний межгрупповой разброс должен значимо отличаться от среднего
внутригруппового разброса. Для проверки значимости различия используем критерий Фишера.
В предположении нормальности исходных данных статистика критерия: F 
SS B n  q
, при
q  1 SSW
истинности H 0 : SS B  SSW приближенно имеет распределение Фишера с q  1, n  q степенями
свободы. Если наблюдаемое значение статистики превышает критическое для заданного уровня
значимости, то H 0 отвергается и различие признаков для классов признается значимым. Чем
больше признаков, значения которых значимо различаются для различных классов, тем лучше
кластеризация.
16
17