SAS CLUSTERIZATION HW (SAS-6task)
Описание файла
Файл "SAS CLUSTERIZATION HW" внутри архива находится в папке "Clasterization-Kazachuk". Документ из архива "SAS-6task", который расположен в категории "". Всё это находится в предмете "(ппп соиад) (sas) пакеты прикладных программ для статистической обработки и анализа данных" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "SAS CLUSTERIZATION HW"
Текст из документа "SAS CLUSTERIZATION HW"
SAS/STAT CLUSTERIZATION HOMEWORK
Кластеризация множества объектов – процесс во многом творческий, и его результаты непросто формализовать и оценить строгими математическими способами. Поэтому при выполнении этого домашнего задания вам не потребуются ни навыки программирования, ни сколько-нибудь серьезные логические рассуждения. Его цель – дать вам возможность «пощупать» кластеризацию: развить интуицию в вопросе подготовки данных и выборе параметров алгоритмов, а также сравнить различные методы визуально.
Ответом на домашнее задание будут считаться ответы на все вопросы, поставленные в тексте оранжевого цвета. И, конечно, любые дополнительные эксперименты с настройками процедур и программами приветствуются: вы потратите лишние 20 секунд, зато увидите множество наглядных картинок и будете гораздо увереннее ориентироваться в вопросах кластеризации.
Задание №0. Создание наборов данных для дальнейшей работы
clus00d01.sas
-
Сгенерировать наборы данных с помощью программы clus00d01.sas. Большинство из них понадобятся нам в дальнейшей работе.
Задание №1. Влияние типа метрики на результаты кластеризации
clus01d01.sas
-
Запустить программу clus01d01.sas.
Эта программа рассчитывает «похожесть» финансовой истории15 американских компаний на основании данных о выплачиваемых дивидендах за последние 5 лет. Расчет проводится с участием двух разных метрик – Евклидовой и Манхэттенской.
Задание: привести списки компаний в обоих кластерах, а также список компаний, поменявших кластеры из-за смены метрики.
Ответ:
Евклидова метрика:
Кластер1: Wisconsin Energy, Pennsylvania Power&Light, Oklahoma Gas&Electric, Minnesota Power&Light, Dominion Resources, Kentucky Utilities, Kansas Power&Light, Orange&Rockland Utilities.
Кластер2: Detroit Edison, Texas Utilities, Green Mountain power, Allegheny Power, Iowa – III Gas&Electric, Union Electric, Cincinnati G&E.
Манхэттенская метрика:
Кластер1: Wisconsin Energy, Oklahoma Gas&Electric, Minnesota Power&Light, Kansas Power&Light, Dominion Resources, Kentucky Utilities.
Кластер2: Detroit Edison, Pennsylvania Power&Light, Iowa – III Gas&Electric, Union Electric, Green Mountain power, Allegheny Power, Orange&Rockland Utilities, Texas Utilities, Cincinnati G&E.
Поменяли кластеры:
Pennsylvania Power&Light, Orange&Rockland Utilities.
Задание №2. Выбор значимых переменных (VARCLUS)
clus02d01.sas
Среди исходных характеристик объектов часто встречаются как незначимые признаки (в смысле незначимости для цели кластерного анализа), так и группы скоррелированных признаков. Так как в процессе кластеризации по определению отсутствует целевая переменная, фильтрация незначимых признаков должна проводиться до кластерного анализа (например, на основе априорных соображений). В то же время с корреляцией между признаками можно бороться, выделяя кластеры связанных переменных и затем выбирая одного представителя из каждого такого кластера для последующего анализа. В SAS/STAT для этого существует процедура PROC VARCLUS, проводящая Principal Component Analysis переменных для определения их связи между собой. Посмотреть на её работу вам и предлагается в этом задании.
-
Запустить программу clus02d01.sas. В ней идет поиск признаков, наиболее подходящих для разделения на группы различных видов пиццы. При этом с помощью PCA определяются кластеры связанных признаков, а на основании сопутствующей статистики можно выбрать переменные для дальнейшей кластеризации видов пиццы.
Задание: на сколько кластеров разбились 7 признаков характеристик пищевой ценности пиццы? Какие из признаков вы возьмете для последующего кластерного анализа? (смотреть на 1-R^2 Ratio, грубо равного отношению силы связи переменной с собственным кластером к силе связи переменной с ближайшим чужим кластером)
Ответ:
Произошло разбиение на три кластера:
Кластер1: prot, ash, carb.
Кластер2: mois, cal.
Кластер3: fat, sodium.
Нам необходимо оставить по одному элементу в каждом кластере.
Выбираем элемент с наибольшим значением 1-R^2 Ratio.
Следовательно, у нас остаются:
Кластер1: ash.
Кластер2: cal.
Кластер3: fat.
Задание №3. Визуальное исследование данных
clus02d02.sas, clus02d03.sas
Performance алгоритма кластеризации сильно зависит от формы и количества кластеров в исходных данных. Практически все алгоритмы кластеризации легко находят сферические кластеры, но не все справляются с кластерами продолговатой формы. Кроме того, целые классы алгоритмов (например, hierarchical clustering) плохо переваривают большие объемы данных. Именно поэтому определение предполагаемой формы кластеров и их количества – неотъемлемая составляющая подготовки данных и выбора метода кластеризации.
-
PCA plot. Запустите clus02d02.sas. Эта программа пытается выделить кластеры в пространстве собственных векторов ковариационной матрицы, построенной на наименее скоррелированных переменных, найденных в предыдущем задании.
Задание: сколько кластеров вы видите? Сколько среди них сферических, а сколько – нежелательной продолговатой формы?
Ответ:
Получилось 5 кластеров. Из них три сферических, другие два- продолговатой формы.
-
MultiDimensional Scaling plot (MDS plot).
Запустите clus02d03.sas. Эта программа находит оптимальную (в смысле сохранения расстояний между векторами) проекцию N-мерного пространства в 2-мерное, т.е. позволяет нарисовать исходные многомерные вектора на 2D графике.
Задание: Видно ли какое-либо отличие этого метода от PCA-проекции в нашем случае? Почему?
Ответ:
Мы снова получили пять кластеров, только теперь они немного по-другому объединены. Все кластеры продолговатой формы. Отличие существует, так как в этих методах кластеры мы строим на разных этапах, в различных пространствах.
Задание №4. Влияние метода стандартизации на вид кластеров
clus02d04.sas
При использовании любого метода анализа данных полезно сперва привести все переменные к единой шкале – дабы не сравнивать слонов и апельсины. Кластеризация здесь не является исключением, однако выбор метода стандартизации имеет серьезное влияние на её результат.
-
Запустите clus02d04.sas. Эта программа сравнивает разбиение исходной выборки на кластеры при использовании различных алгоритмов стандартизации переменных. Классы объектов в этой выборке нам известны, что делает возможным оценку качества и сравнение эффективности алгоритмов кластеризации.
Задание: найдите в отчете квадратные матрицы – они описывают распределение объектов разных классов по различным кластерам. Какой метод стандартизации приводит к самой качественной кластеризации?
Ответ:
К самой качественной кластеризации приводит STD-метод.
Задание №5. Приведение кластеров к сферической форме
clus02d05.sas
Сферическая форма кластеров – важный шаг на пути к оптимальной группировке объектов выборки. Поцедура PROC ACECLUS пытается подобрать такое преобразование пространства, чтобы все кластеры оказались максимально «сферическими».
-
Запустите clus02d05.sas.
Задание: посмотреть на работу PROC ACECLUS. Заметьте , как отрабатывает алгоритм K-Means. Какой общий вывод об условиях применимости этого алгоритма вы бы сделали?
Ответ:
Из двух продолговатых кластеров мы получили два кластера сферической формы. Для качественной работы K-Means нам необходимо заранее знать число кластеров и постараться наиболее оптимально предугадать центры кластеров в самом начале работы.
Задание №6. Алгоритм K-Means
clus03d01.sas, clus03s01.sas
K-Means – один из самых простых алгоритмов кластеризации, относится к классу Partitive (Optimization) Clustering (то есть кластеризация сводится к оптимизации некоей функции потерь, рассчитываемой на всей выборке объектов). Алгоритм разбивает все многомерное пространство прямыми линиями на ячейки Вороного. По этой причине он неплохо работает со сферическими кластерами, но почти всегда терпит поражение в попытках уловить форму продолговатого кластера.
-
Запустите clus03d01.sas. Эта программа рассчитывает кластеры населения по их покупательной способности / плотности расселения. Цель – понять, в каких регионах страны размещать продуктовые ларьки / супермаркеты / дорогие бутики.
Задание: посмотреть на работу PROC FASTCLUS. Заметьте, что изначально искалось разбиение множества на 6 кластеров, а на карте США отображены только 3 кластера (каждый соответствует своему типу магазина). Посмотрите на сопутствующую статистику. Что решил сделать с начальным разбиением аналитик и почему?
Ответ:
Получили, что некоторые из исходных шести кластеров можно объединить. А именно:
Кластер1: 1, 4, 5, 6 исходные кластеры.
Кластер2: 2 исходный кластер.
Кластер3: 3 исходный кластер.
-
Запустите clus03s01.sas. Эта программа показывает, как с помощью предварительной кластеризации выборки отловить выбросы (и затем удалить их из процесса обучения, конечно)
Задание: что служит критерием отнесения объекта к выбросу? Сильно ли меняется вид кластеризации после их фильтрации?
Ответ:
Если частота встречи переменной меньше трех, то данная переменная изымается из выборки. После фильтрации вид кластеров меняется незначительно.
Задание №7. Сравнение K-Means и Non-Parametric Clustering
clus03d03.sas
Методы непараметрической кластеризации относятся к классу Partitive Clustering (вспоминаем, что этот класс старается сгруппировать объекты, минимизируя некую глобальную функцию потерь) и пытаются аппроксимировать плотность распределения объектов в многомерном пространстве с помощью линейной комбинации так называемых ядерных функций (Kernel Functions). Все эти функции имеют одинаковый общий вид (обычно колоколообразный) и 1-2 настраиваемых параметра. Собственно кластеризация сводится к а)подгонке числа и параметров ядер так, чтобы их сумма была по форме наиболее близка к форме плотности распределения объектов и б)выделению в отдельные кластеры регионов вокруг наиболее «высоких гор» на этой аппроксимации (области с высокой концентрацией объектов), рассеченных «глубокими долинами» (области с низкой плотностью объектов). Заметьте – в постановке задачи присутствуют параметры, но отсутствует модель плотности распределения объектов. Именно поэтому данный метод считается непараметрическим (в том смысле, что нет модели, которую мы настраиваем путем подкручивания параметров). В SAS/STAT эта задача решается с помощью PROC MODECLUS, причем в эту процедуру добавлена возможность иерархической кластеризации с помощью опции JOIN= (сколько полученных при начальном разбиении кластеров мы хотим затем объединить)
-
Запустите clus03d03.sas.
Задание: посмотрите на работу PROC MODECLUS. Сравните работу этой процедуры с PROC FASTCLUS. Круто, правда? В чем, чисто визуально, преимущества непараметрической кластеризации над алгоритмом K-Means?
Ответ:
При непараметрической кластеризации, в отличие от K-Means, нам не нужно заранее угадывать необходимое число кластеров. Нужное число кластеров подбирается самостоятельно методом перебора.