Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka (data analysis) Part 2 / Metodichka (data analysis) Part 2.doc
Скачиваний:
126
Добавлен:
18.05.2015
Размер:
341.5 Кб
Скачать

Алгоритм кластерного анализа

Таким образом, алгоритм применения кластерного анализа будет следующим:

  1. Заносим данные в программу. Возможно проводим процедуру нормировки.

  2. Выбираем метод - агломеративный (объединительный) метод (joining (tree clustering)), итеративный метод k-средних (k-means clustering) или двухвходовое объединение (two-way joining).

  1. Если выбран метод tree clustering, то выбираем метод объединения объектов в кластеры.

  2. Затем выбираем правило определения сходства.

  3. Если полученная структура не устраивает исследователя по каким-то параметрам или не поддается осмысленной интерпретации, то пробуем другие правила определения сходства (возвращаемся на п. 4).

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

  5. Если это ничего не дает, то можно попробовать другой метод кластеризации (возвращаемся на п. 2)

  1. Если выбран метод k-средних (k-means clustering), то выбираем число кластеров.

  2. Затем выбираем условие, которое задает начальные центры кластеров.

  3. Задаем минимальное число итераций побольше.

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

  5. Если и это ничего не дает, то можно попробовать взять другое количество кластеров (возвращаемся на п. 8).

  6. Если это ничего не дает, то можно попробовать другой метод кластеризации (возвращаемся на п. 2)

  1. Если выбран метод two-way joining, то возможности изменить что-либо, кроме переменных, участвующих в анализе, у пользователя нет. Поэтому следует просто попытаться интерпретировать результаты. Если это не получается, то, видимо, вы выбрали неудачный метод, и следует вернуться на п. 2.

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

Литература

Просто и доходчиво кластерный анализ изложен в

    • Боровиков В. Программа STATISTICA для студентов и инженеров. – Компьютер Пресс: Москва – 2001. – 301 с.

Более подробное описание можно найти в книгах:

    • Факторный, дискриминантный и кластерный анализ. – М.: Финансы и статистика

Читатель с более солидной математической подготовкой может обратиться к книгам

    • Дюран Б., Оделл Г. Кластерный анализ. – М.: Статистика, 1977.

    • Жамбю М. Иерархичемкий кластер-анализ и соответствия. – М.: Финансы и статистика, 1988.

    • Жук Е.Е., Харин Ю.С. Устойчивость в кластер-анализе многомерных наблюдений. – Мн.: Белгосуниверситет, 1998.

    • Мандель И.А. Кластерный анализ. – М.: Финансы и статистика, 1988.

Лабораторная работа 10. Кластерный анализ

Задание 15: учебный кластерный анализ

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

    1. Прочитайте главу "Кластерный анализ" из электронного учебника по статистике. Обратите особенное внимание на разделы "Меры расстояния" и "Правила объединения или связи".

    2. Откройте программу STATISTICA. В Statistica Module Switcher выберите модуль Cluster Analysis. В модуле Cluster Analysis откройте файл Cars.sta. В этом файле приведены некоторые характеристики различных марок машин. Вы можете прочитать описание каждой переменной в окне Long name, два раза щелкнув мышкой на ее название. Обратите внимание, что данные уже стандартизированы (т.е. имеют среднее значение, равное 0, и стандартное отклонение, равное 1).

    3. Начинаем анализ Analysis Resume Analysis… Выпадает окно Clustering Methods (методы кластеризации), в котором вы должны выбрать нужный вам метод. Начнем наш анализ с самого первого из них и наиболее часто использующегося - нажмите Joining (tree clustering).

    4. С помощью кнопки Variables выберем все переменные.

    5. Для ввода данных для кластерного анализа в программе существует две возможности: 1) Raw data - "сырые" данные (это как раз наш случай, потому что в файле данных набраны значения переменных для каждой марки машины) и 2) Distance matrix - матрица расстояний (ее можно получить в модуле Cluster Analysis и сохранить). Так как в данном случае в файле находятся "сырые" данные, то в окошке Input (входной файл) оставляем Raw data.

    6. Следующая позиция Cluster (кластер) - функция, которая служит для выбора того, что нужно группировать. Она имеет два варианта: 1) Varibles (columns) - будем группировать переменные (столбики); 2)Cases (rows) - будем группировать испытуемых (строчки). В нашем случае будем группировать строчки (марки машин), поэтому следует выбрать Cases (rows).

    7. Поле Amalgamation (linkage) rule нужна для того, чтобы выбрать правило объединения или связи, о которых вы читали в электронном учебнике. Выбранное правило обычно сильно влияет на распределение объектов по кластерам. Меняя его, можно добиться большего или меньшего соответствия классификации вашей модели (гипотезе). Для начала оставим Single linkage.

    8. Поле Distance measure нужна для выбора меры расстояния. Различные меры расстояния вам тоже знакомы из электронного учебника. Обычно изменение меры расстояния не сильно влияет на распределение объектов по кластерам. Для начала оставим любимое евклидово расстояние - Euclidean distance.

    9. Поле Missing data вам уже известна. Она нужна для указания того, что будем делать с пропусками. У нас пропусков опять нет, поэтому все равно, что вы выберите.

    10. Мы полностью определили параметры модели. Нажмите ОК и попадете в окно результатов Joining results. Вверху, на белом фоне, как обычно, описана наша модель. Можете проверить, все ли правильно. А теперь посмотрим, что получилось.

    11. Кнопка Horizontal hierarchical tree plot показывает горизонтальное дерево объединения (на оси х указаны расстояния между кластерами). Это и есть главный результат кластерного анализа. Рассмотрите его и попытайтесь разбить все машины не небольшое количество классов. Как вы думаете, что может объединять марки машин в выбранные вами классы?

    12. Кнопка Vertical icicle plot показывает вертикальное дерево объединения (на оси у указаны расстояния между кластерами). Это дерево абсолютно тождественно горизонтальному дереву, только направлено по-другому.

    13. Если вы являетесь противником угловатых деревьев, то попробуйте убрать "птичку" с условия Rectangular branches и опять нажмите на кнопку Vertical icicle plot. Сравните два графика. Какой из них, по-вашему, легче интерпретировать?

    14. Scale tree to dlink/dmax*100: когда вы выбираете это условие, дерево объединения будет стандартизировано (т.е. все расстояния будут показаны на шкале от 0 до 100). В противном случае шкала будет показывать расстояния между кластерами.

    15. Amalgamation Schedule - если вы нажмете на эту кнопку, то увидите таблицу расстояний. Первый столбец таблицы содержит расстояние, на котором находится соответствующий кластер (указанный в соответствующем ряду), а каждая сточка содержит имена объектов (наблюдений или переменных), которые составляют соответствующий кластер.

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

    17. Кнопка Distance matrix показывает нам матрицу расстояний между всеми выбранными объектами.

    18. Кнопка Save distance matrix нужна, чтобы сохранить эту матрицу для дальнейшего использования. Если вы ее сохраните, то сможете открыть потом опять те только в модуле Cluster Analysis, но, например, и в модуле Многомерное шкалирование (Multidimentional Scaling).

    19. Кнопка Descriptive statistics посчитает нам средние и стандартные отклонения по все выбранным для классификации объектам. Видимо, в нашем случае она не имеет смысла.

    20. Теперь попробуйте вернуться назад и изменить меру расстояния. Выберите, например, City-block (Manhattan) distances и посмотрите, изменится ли распределение машин по кластерам. Поэкспериментируйте еще с расстояниями. Удалось ли вам добиться значительных изменений?

    21. Теперь вернитесь к любимому евклидову расстоянию и измените правило объединения на полную связь (метод наиболее удаленных соседей) - Complete linkage. Постройте дерево объединения для этого случая и сравните его с деревом объединения для одиночной связи и того же, евклидова, расстояния. Получилась ли разница? Меняя меры расстояния и правила объединения, выберите дерево, которое вам кажется легче интерпретировать и попробуйте классифицировать марки машин.

Переходим к следующему методу кластеризации - методу k-средних (K-means clustering).

    1. Вернитесь в окно выбора методов кластерного анализа (Clustering method) и выберите в списке методов k-means clustering и нажмите кнопку ОК.

    2. Появляется диалоговое окно Cluster Analysis: K-Means Clustering. Как обычно, выбираем переменные с помощью кнопки Variables. Для анализа возьмем опять все переменные.

    3. В поле Cluster опять выберем Cases (rows) - наблюдения.

    4. В поле Number of clusters (число кластеров) нужно определить число групп, на которое мы хотим разбить автомобили. Это число выбирается произвольно и, видимо, нет никакого критерия (как в факторном анализе, например), чтобы его определить. Введите в это поле какое угодно небольшое число, например, 3.

    5. В поле Number of iterations (число итераций) задается максимальное число итераций, используемых при построении классов. Напишите сюда любое число побольше, например, 25. Если построение классов завершится быстрее, скажем, за 10 итераций, вреда от этого не будет. Если решение не будет найдено и за 25 итераций, то вы всегда можете ввести в это поле еще большее число.

    6. Поле Missing data нам уже знакомо. Заполните его самостоятельно.

    7. Наконец, группа условий Initial cluster centers нужна для того, чтобы задать начальные центры кластеров. Так как у нас нет особых предположений, то выберите сначала условие Sort distances and take observations at constant intervals. Нажмите кнопку ОК.

    8. Вы попадаете в окно результатов K-means clustering results. В верхней части окна записана информация о вашей модели: число переменных, число наблюдений, метод кластеризации, число кластеров, а также сообщение о том, после скольких итераций найдено решение. Вы видите, что хватило всего 3-х итераций. Кнопки в нижней части окна позволяют провести анализ результатов кластеризации.

    9. Кнопка Analysis of variance (дисперсионный анализ). Целью процедуры k-means clustering является классификация объектов в определенное пользователем количество групп (кластеров). Чтобы оценить, насколько удачно произошло разбиение, можно сравнить внутрикластерную дисперсию (она будет маленькой, если классификация удачная) с межкластерной дисперсией (она будет большая, если классификация удачная), т.е. провести стандартный дисперсионный анализ для несвязных выборок. Если вы нажмете на эту кнопку, то получите стандартную таблицу результатов дисперсионного анализа. Хотя значения критерия F и уровни статистической значимости p приведены в таблице, следует осторожно интерпретировать результаты, так как их смысловое наполнение отличается от F и p, полученных в результате обработки экспериментальных данных. В нашем случае видно, что разница между кластерами статистически значимая по всем переменным, что можно интерпретировать как удачное разбиение.

    10. Кнопка Cluster Means & Euclidean Distances позволяет вывести таблицы, в одной из которых указаны средние для каждого кластера (усреднение производится внутри каждого кластера), во второй указаны евклидовы расстояния и квадраты евклидовых расстояний между кластерами. Мы можем определить, какие кластеры находятся ближе друг к другу, какие дальше.

    11. Кнопка Graph of means позволяет посмотреть средние значения для каждого кластера на линейном графике. Рассмотрите этот график. Попробуйте интерпретировать результаты. Видно, что в кластер № 2 вошли дорогие автомобили, быстро разгоняющиеся и поедающие много бензина. Кластеры № 1 и № 3 - недорогие экономичные автомобили, кластер № 3 отличается от кластера № 1 худшими некоторыми техническими характеристиками.

    12. Теперь нажмите кнопку Members of each cluster & distances. Она покажет, как распределились машины по кластерам (в строках таблиц указано расстояние от каждой мощины до центра кластера). Определите, какие машины входят в каждый класс. Проверьте, соответствуют ли характеристики этих машин нашей интерпретации результатов.

    13. Кнопка Descriptive statistics for each cluster открывает электронную таблицу с описательной статистикой для каждого кластера по всем переменным (среднее, стандартное отклонение, дисперсия).

    14. Наконец, кнопка Save classifications and distances позволяет сохранить результаты классификации в файле для дальнейшего использования.

    15. Теперь, когда вы знаете, для чего нужны все кнопки, попробуйте поэкспериментировать. Выберите другое условие, задающее начальные центры кластеров, например Maximize between-cluster distances. Посмотрите, какая классификация получилась в результате, сравните ее с предыдущей. Выберите теперь последнее условие - Choose the first N (number of clusters) clusters observations. Посчитайте кластерный анализ для него, сравните с предыдущими результатами. Как вы думаете, какая классификация соответствует действительности?

    16. Попробуйте поменять число кластеров. Может быть, разбиение на 2 или на 4 кластера даст лучшие результаты?

    17. Попробуйте провести кластерный анализ не для всех переменных, а только для трех - PRICE, ACCER и MILAGE. Что изменилось? Легче ли стало классифицировать машины?

Переходим к последнему методу кластеризации - двувходовое объединение (гм!) (two-way joining).

    1. Вернитесь опять в окно выбора методов кластерного анализа (Clustering method) и выберите в списке методов two-way joining и нажмите кнопку ОК.

    2. Вы попадаете в окно Cluster Analysis: Two-way joining.

    3. Кнопка Threshold Value определяет, в каких случаях алгоритм будет рассматривать два числа в матрице данных как одинаковые по величине, и, таким образом, заносить их в один кластер. Если этот порог (Threshold Value) слишком велик (по сравнению с исходными данными), то будет сформирован всего один кластер. Если порог слишком мал, то каждый объект образует свой собственный кластер. Значение, которое предлагается по умолчанию (половина общего стандартного отклонения) рекомендуется применять в большинстве случаев. Поэтому мы его и ставим. Не вводите никакого порогового значения, пусть по умолчанию будет помечено условие Computed from data.

    4. Нажмите кнопку ОК и попадете в окно результатов Two-way joining results.

    5. Кнопка Descriptive statistics for cases содержит описательную статистику для наблюдений. Так как она сразу подсчитана по всем переменным, то вряд ли имеет какой-то смысл.

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

    7. Кнопка Reorderd data matrix выдает нам реорганизованную матрицу данных (т.е. нашу входную матрицу с переставленными строчками и столбиками). Считается, что таким образом достигается главная цель нашего анализа - классифицировать одновременно и наблюдения, и переменные, т.е. передвинуть наиболее близкие точки как можно ближе друг к другу.

    8. Наконец, кнопка Two-way joining graph. Нажмите ее и вы увидите результаты кластеризации! Это графическое представление реорганизованной матрицы данных. Осталась самая малость - понять, как зашифрованы результаты в этом симпатичном цветном коврике, и интерпретировать их.

А теперь посчитаем реальный кластерный анализ.

Задание 16: реальный кластерный анализ

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

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

  2. В идеале преподавание данной дисциплины в вузе должно соответствовать высокому качеству профессиональной подготовки специалиста.

  3. Преподавание данной дисциплины в вузе реально обеспечивает интеллектуальное развитие будущего специалиста.

  4. В идеале преподавание данной дисциплины в вузе должно обеспечить интеллектуальное развитие будущего специалиста.

  5. Преподавание данной дисциплины в вузе реально оказывает влияние на развитие личности студента в целом.

  6. В идеале преподавание данной дисциплины в вузе может оказывать влияние на развитие личности студента в целом.

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

  8. Данная дисциплина является общепрофессиональной (обеспечивает теоретическую и практическую профессиональную подготовку)

В файле Filology.sta представлены средние оценки студентов 4-го курса по всем вопросам и всем предметам.

  1. Перепишите этот файл в свою рабочую папку.

  2. Откройте его в модуле Cluster Analysis.

  3. Нормируйте данные. Для этого выделите все столбцы и нажмите на ПРАВУЮ кнопку мыши. В появившемся меню выберите Fill/Standardize Block Standardize Columns.

  4. Проведите кластерный анализ с помощью метода Joining (Tree Clustering). Попробуйте разбить все учебные дисциплины на группы и объяснить, почему так получилось.

  5. Теперь испробуйте K-means clustering. Сначала попробуйте разбить учебные дисциплины на группы. Потом попробуйте разбить предлагаемые вопросы на группы. Проверьте, разделились ли вопросы на две группы - "реальная ситуация" и "как оно должно быть в идеале"?

  6. Если еще остался энтузиазм, попробуйте и Two-way Joining Method. Можно ли каким-то образом интерпретировать результаты?

  1. Остальные данные сравнительной оценки дисциплин приведены в файле FILOLOGY.xls. Попробуйте проанализировать результаты опроса студентов 2-го курса. Сравните их с результатами опроса 4-курсников. Подумайте, что еще можно сделать с этими данными.

СОДЕРЖАНИЕ

Стр.

Введение…………………………………………………………………...

3

Тема 8. Факторный анализ

4

Справочный материал. Факторный анализ и анализ главных компонент……………………

4

Лабораторная работа 9. Факторный анализ……………………..

14

Тема 9. Кластерный анализ

19

Справочный материал. Кластерный анализ…………….……….

19

Лабораторная работа 10. Кластерный анализ…………………...

29

Содержание

36

37