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

Автор работы: Пользователь скрыл имя, 25 Февраля 2012 в 13:49, курсовая работа

Краткое описание

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

Содержание работы

Вступление 5
1 Кластерный анализ. Общие сведения 7
1.1 Основные понятия 7
2 Задача кластерного анализа 10
3 Методы кластерного анализа 13
3.1 Алгоритм последовательной кластеризации 14
4 Число кластеров 17
5 Дендрограммы 19
6 Применение к интервальным данным, частотам и бинарным данным 20
7 Решение задач с помощью кластерного анализа 23
Выводы 30
Перечень ссылок 31

Содержимое работы - 1 файл

Работа3.doc

— 268.50 Кб (Скачать файл)

Задача кластерного анализа заключается в том, чтобы на основании данных, содержащихся во множестве Х, разбить множество объектов G на m (m – целое) кластеров (подмножеств) Q1, Q2, …, Qm, так, чтобы каждый объект Gj принадлежал одному и только одному подмножеству разбиения и чтобы объекты, принадлежащие одному и тому же кластеру, были сходными, в то время, как объекты, принадлежащие разным кластерам были разнородными.

Например, пусть G включает n стран, любая из которых характеризуется ВНП на душу населения (F1), числом М автомашин на 1 тысячу человек (F2), душевым потреблением электроэнергии (F3), душевым потреблением стали (F4) и т.д. Тогда Х1 (вектор измерений) представляет собой набор указанных характеристик для первой страны, Х2 - для второй, Х3 для третьей, и т.д. Задача заключается в том, чтобы разбить страны по уровню развития.

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

,

где xj - представляет собой измерения j-го объекта.

Для решения  задачи кластерного анализа необходимо определить понятие сходства и разнородности.

Понятно то, что объекты -ый и j-ый попадали бы в один кластер, когда расстояние (отдаленность) между точками Х и Хj было бы достаточно маленьким и попадали бы в разные кластеры, когда это расстояние было бы достаточно большим. Таким образом, попадание в один или разные кластеры объектов определяется понятием расстояния между Х и Хj из Ер, где Ер - р-мерное евклидово пространство. Неотрицательная функция d(Х , Хj) называется функцией расстояния (метрикой), если:

а) d(Хi , Хj)  0, для всех Х и Хj из Ер

б) d(Хi, Хj) = 0, тогда и только тогда, когда Х = Хj

в) d(Хi, Хj) = d(Хj, Х)

г) d(Хi, Хj)  d(Хi, Хk) + d(Хk, Хj), где Хj; Хi и Хk - любые три вектора из Ер.

Значение d(Хi, Хj) для Хi и Хj называется расстоянием между Хi и Хj и эквивалентно расстоянию между Gi и Gj соответственно выбранным характеристикам (F1, F2, F3, ..., Fр).

Наиболее часто употребляются следующие функции расстояний:

1. Евклидово расстояние               d2(Хi , Хj) =

2. l1 - норма                                                        d1(Хi , Хj) =

3. Сюпремум - норма                             d (Хi , Хj) = sup

k = 1, 2, ..., р

4. lp - норма                                           dр(Хi , Хj) =

Евклидова метрика является наиболее популярной. Метрика l1 наиболее легкая для вычислений. Сюпремум-норма легко считается и включает в себя процедуру упорядочения, а lp - норма охватывает функции расстояний 1, 2, 3,.

Пусть n измерений Х1, Х2,..., Хn представлены в виде матрицы данных размером p  n:

Тогда расстояние между парами векторов d(Х , Хj) могут быть представлены в виде симметричной матрицы расстояний:

Понятием, противоположным расстоянию, является понятие сходства между объектами G. и Gj. Неотрицательная вещественная функция S(Х ; Хj) = Sj называется мерой сходства, если :

1) 0 S(Хi , Хj)1 для Х  Хj

2) S(Хi , Хi) = 1

3) S(Хi , Хj) = S(Хj , Х)

Пары значений мер сходства можно объединить в матрицу сходства:

Величину Sij называют коэффициентом сходства.

 

3 Методы кластерного анализа

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

Пусть Х - матрица наблюдений: Х = (Х1, Х2,..., Хu) и квадрат евклидова расстояния между Х и Хj определяется по формуле:

1) Метод полных связей.

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

2) Метод максимального локального расстояния.

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

3) Метод Ворда.

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

 

4) Центроидный метод.

Расстояние между двумя кластерами определяется как евклидово расстояние между центрами (средними) этих кластеров:

d2 ij =  (X –Y)Т(X –Y) Кластеризация идет поэтапно на каждом из n–1 шагов объединяют два кластера G и , имеющие минимальное значение d2ij Если n1 много больше  n2,  то центры объединения двух кластеров близки друг к другу и характеристики  второго кластера при объединении кластеров практически игнорируются. Иногда этот метод иногда называют еще методом взвешенных групп.

3.1 Алгоритм последовательной кластеризации

Рассмотрим Й = (Й1, Й2, … Йn) как множество кластеров {Й1}, {Й2},…{Йn}. Выберем два из них, например, Й  и Й j, которые в некотором смысле более близки друг к другу и объединим их в один кластер. Новое множество кластеров, состоящее уже из n-1 кластеров, будет:

{Й1}, {Й2}…, {Й  , Й j}, …, {Йn}.

Повторяя процесс, получим последовательные множества кластеров, состоящие из (n-2), (n-3), (n–4) и т.д. кластеров. В конце процедуры можно получить кластер, состоящий из n объектов и совпадающий с первоначальным множеством Й = (Й1, Й2, … Йn).

В качестве меры расстояния возьмем квадрат евклидовой метрики d j2. и вычислим матрицу D = {di j2}, где di j2 - квадрат расстояния между

Й  и Ι j:

 

Й1

Й2

Й3

….

Йn

Й1

0

d122

d132

….

d1n2

Й2

 

0

d232

….

d2n2

Й3

 

 

0

….

d3n2

….

 

 

 

….

….

Йn

 

 

 

 

0


 

Пусть расстояние между Й i и Й j будет минимальным:

d j2 = min {di j2, i  j}. Образуем с помощью Й i и Й j новый кластер

{Й i , Й j}. Построим новую ((n-1), (n-1)) матрицу расстояния (n-2) строки для последней матрицы взяты из предыдущей, а первая строка вычислена заново. Вычисления могут быть сведены  к минимуму, если удастся выразить di j2k,k = 1, 2,…, n; (k  i  j) через элементы первоначальной матрицы.

 

 

{Й i , Й j}

Й1

Й2

Й3

….

Йn

{Й i ; Й j}

0

di j21

di j22

di j23

….

di j2n

Й1

 

0

d122

d13

….

d12n

Й2

 

 

0

di j21

….

d2n

Й3

 

 

 

0

….

d3n

 

 

 

 

 

 

 

Йn

 

 

 

 

 

0


 

Исходно определено расстояние лишь между одноэлементными кластерами, но надо определять расстояния и между кластерами, содержащими более чем один элемент. Это можно сделать различными способами, и в зависимости от выбранного способа мы получают алгоритмы кластер анализа с различными свойствами. Можно, например, положить расстояние между кластером i + j  и некоторым другим кластером k, равным среднему арифметическому из расстояний между кластерами i и k и кластерами j и k:

di+j,k = Ѕ (di k + dj k).

Но можно также определить di+j,k как минимальное из этих двух расстояний:

di+j,k = min (di k + dj k).

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

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

di+j,k = A(w) min(dik djk) + B(w) max(dik djk), где

A(w) = , если dik  djk

A(w) = , если dik  djk

B(w) =, если dk  djk

B(w) = , если dik   djk

где ni и nj - число элементов в кластерах i и j, а w – свободный параметр, выбор которого определяет конкретный алгоритм. Например, при w = 1 мы получаем, так называемый, алгоритм “средней связи”, для которого формула перерасчета расстояний принимает вид:

di+j,k =

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

Наглядный смысл параметра w становится понятным, если положить w  . Формула пересчета расстояний принимает вид:

di+j,k = min (d,k djk)

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

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

В случае кластер анализа объектов наиболее часто мерой различия служит либо квадрат евклидова расстояния

Информация о работе Кластерный анализ