Краткие теоретические сведения. В Statistica 6 реализованы следующие методы кластеризации – агломеративные методы: joining (tree clustering)
В Statistica 6 реализованы следующие методы кластеризации – агломеративные методы: joining (tree clustering), two-way joining, а также метод k-means clustering (k-средних).
Обычно перед началом классификации данные стандартизуются (вычитается среднее и производится деление на корень квадратный из дисперсии). Полученные в результате стандартизации переменные имеют нулевое среднее и единичную дисперсию. Эту операцию успешно можно проводить в программе MS Excel. Рассматриваемые далее данные уже стандартизованы.
Рассмотрим итеративный метод группировки k-means clustering(k-средних). Данный метод работает непосредственно с объектами, а не с матрицей сходства.
В методе k-среднихобъект относится к тому классу, расстояние до которого минимально. Расстояние понимается как евклидово
расстояние, то есть объекты рассматриваются как точки евклидова пространства.
Всем известно как определить евклидово расстояние. Но как определить расстояние от объекта до совокупностиобъектов? Оказывается, это можно сделать следующим способом: каждый класс объектов имеет центр тяжести (рассмотрите, как и ранее, простейший случай – представьте, что объект имеет только два параметра, тогда его можно изобразить точкой на плоскости, а группа объектов – это просто группа точек).
Расстояние между объектом и классом есть расстояние между объектом и центром класса. Но как вычислить центр класса? Например, взять средние по каждому параметру. Тогда расстояние между объектом и группой объектов вполне определено и алгоритм может работать.
Представьте, что число объектов в группе равно 2. Соедините эти точки отрезком прямой и найдите его середину. Это и будет центр тяжести группы, состоящей из двух точек. Расстояние от этого центра до исходной точки будет искомым расстоянием.
Принципиально метод k-средних«работает» следующим образом:
- вначале задается некоторое разбиение данных на кластеры (число кластеров определяется пользователем);
- вычисляются центры тяжести кластеров;
- происходит перемещение точек: каждая точка помещается в ближайший к ней кластер;
- вычисляются центры тяжести новых кластеров;
- шаги 2, 3 повторяются, пока не будет найдена стабильная конфигурация (то есть кластеры перестанут изменяться) или число итераций не превысит заданное пользователем. Итоговая конфигурация и является искомой.
В классическом примере рассматриваются автомобили разных марок, которые различаются ценой, расходом горючего и некоторыми техническими характеристиками, например, разгоном – временем, необходимым для того, чтобы достичь скорости 60 миль в час. Однако кластерный анализ с успехом применим и в любых биологических, химических и экологических исследованиях.
Кластеризация автомобилей в модуле Cluster Analysis (Кластерный анализ)
Шаг 1. В рабочем окне Statistica выберете название модуля – Cluster Analysis(Кластерный анализ),высветите его имя и щелкните на его имени (рисунок 16.1).
Рисунок 16.1 – Запуск модуля Кластерный анализ
На экране появится стартовая панель модуля Claster Analysis(Кластерный анализ) (рисунок 16.2).
Рисунок 16.2 – Стартовая панель модуля Кластерный анализ
Шаг 2. Стандартным образом, нажав кнопку Open Data, откройте окно выбора файла (рисунок 16.3).
Рисунок 16.3 – Выбор файла с данными об автомобилях
Шаг 3. Выберите в этом окне файл Cars.sta, как показано на рисунке, и два раза нажмите левую кнопку мышки.Файл выбран, и вы вернетесь обратно, в стартовую панель модуля.
В рабочем окне, сзади стартовой панели, вы видите открытый файл с данными (рисунок 16.4).
Рисунок 16.4 – Файл Cars.sta с данными автомобилей разных марок
Изинформации в верхней части окна вы видите, что в файлеCars.sta записаны цена автомобиля, технические характеристики, количество миль, пройденных на одном галлоне бензина.
Всего в файле содержатся данные о 22 машинах разных марок.Марки машин – это случаи.
Переменные в этом файле:
- PRICE– цена;
- ACCELE – HANDLI – технические характеристики;
- MILAGE – расход горючего (количество миль, пройденных на одном галлоне бензина).
Все характеристики машин уже стандартизованы: например, из значений переменной price вычтена средняя цена и разность поделена
на корень квадратный из дисперсии. Тоже относится к другим переменным.
Задача состоит в том, чтобы разбить автомобили на несколько групп, в которых автомобили мало отличаются друг от друга (существенно меньше, чем в целом в совокупности).
Задача эта сложна, так как сравниваются машины не по какому-то одному параметру, а по нескольким параметрам одновременно.
Вы видите, что по одним характеристикам одни машины близки друг к другу, по другим – нет. В конечном итоге разбиение на группы – тоже не самоцель. Конечно, число параметров можно увеличить. Очевидно, разбив машины на группы, можно лучше в целом представить их совокупность, с тем, чтобы затем более обоснованно принимать решение, например при покупке или обмене одной машины на другую.
Если бы машины сравнивались по одному параметру, например по расходу горючего, то, наверное, следовало бы выбрать машину с меньшим расходом топлива на одну милю. Все машины были бы упорядочены в одну линию, и задача не представляла бы проблем.
Однако параметров несколько, и ситуация существенно усложняется.
Посмотрите на стартовую панель. В главной ее части находится список методов кластерного анализа, реализованных в Statistica.
Шаг 4. В списке методов высветите k-means (k-средних)
(рисунок 16.2) и нажмите кнопку OK в правом верхнем углу панели.
Диалоговое окно метода k-meansпоявится на экране (рисунок 16.5).
Рисунок 16.5 – Диалоговое окно метода k-means
Шаг 5. Начните работать в данном окне. Прежде всего, выберите переменные для анализа.
Нажмите кнопку Variables(Переменные) в левом верхнем углу текущего окна и откройте диалоговое окно: Select variable for the analysis(Выбрать переменные для анализа) (рисунок 16.6).
Рисунок 16.6 – Выбор переменных для кластерного анализа
Так как машины разбиты на группы и учитываются все параметры, то нажмите вначале кнопку Select All(Выбрать все),а затем нажмите кнопку OK.
Шаг 6. Посмотрите далее на поле Cluster(Кластер),находящееся ниже кнопкиVariables(Переменные). Нажав на стрелку в этом поле, выберите пункт меню Cases(Случаи). Альтернативный выбор был быVariables(Переменные). Так следует поступить, если нужно кластеризировать переменные.
В данном примере кластеризируются машины, которые являются случаями в исходном файле данных, поэтому выбирается пункт Cases.
Шаг 7. В поле Number of clusters(Число кластеров) нужно определить число групп, на которые необходимо разбить автомобили. Запишите в это поле число 3.
Таким образом, машины разбиваются на 3 кластера.
Шаг 8. В строке Number of iterations(Число итераций) задается максимальное число итераций, используемых при построении классов. Задайте, например, число 11.
Шаг 9. В строке Missing data задается способ обработки пропущенных значений в данных (например, для какой-то машины отсутствует значение некоторого параметра). В данном примере пропусков в данных нет и обработки пропущенных значений не происходит.
Группа опций Initial cluster centersпозволяет задать начальные центры кластеров.
Сделайте установки, как показано на рисунке 16.5.
Шаг 10. После того как все установки сделаны, нажмите кнопку ОК в верхнем правом углу окна k-means Clusteringи запустите вычислительную процедуру.
Шаг 11. Спустя несколько секунд после нажатия кнопки ОК в
k-means Clusteringокно результатов появится на экране
(рисунок 16.7).
Рисунок 16.7 – Окно результатов кластеризации машин
по методу средних
В верхней части окна записана информация: число переменных,
число случаев, метод кластеризации, число кластеров, а также сообщение о том, после скольких итераций найдено решение:
Solution was obtained after 3 iterations(решение найдено после
3 итераций).
Кнопки в нижней части окна позволяют провести анализ результатов кластеризации.
Кнопка Analysis of variation (Дисперсионный анализ) позволяет просмотреть таблицу дисперсионного анализа.
КнопкаCluster Means&Euclidean Distancesпозволяет вывести таблицы, в первой из которых указаны средние для каждогокластера (усреднение производится внутри кластера), во второй указаны евклидовы расстояния и квадраты евклидовых расстояний между кластерами.
Кнопка Graph of meansпозволяет посмотреть средние значения для каждого кластера на линейном графике.
Кнопка Descriptive Statistics for each clustersоткрывает электронную таблицу с описательными статистиками для каждого кластера (среднее, дисперсия и т. д.)
Кнопка Save classifications and distancesпозволяет сохранить результаты классификации в файле Statistica для дальнейшего исследования.
Шаг 12. Следует посмотреть, как распределились машины по кластерам. Нажмите для этого кнопку Member of each
cluster&distances.
На экране появятся 3 электронные таблицы с названиями машин, отнесенных к определенным кластерам (рисунки 16.8 — 16.10).
Рисунок 16.8 – Первый кластер
Рисунок 16.9 – Второй кластер
Рисунок 16.10 – Третий кластер
В строках таблиц указано расстояние от каждой машины до центра кластера.
Шаг 13. Нажмите на кнопку Cluster means&Euclidean distances. На экране появится таблица, в которой даны евклидовы расстояния
между средними кластеров (по каждому из параметров внутрикластера вычисляется среднее, получается 3 точки в пятимерном пространстве, и между ними находится расстояние) (рисунок 16.11).
Рисунок 16.11 – Расстояния между кластерами
Из таблицы вы видите, что расстояние между первым и вторым кластером 0,969, а например, между вторым и третьим – 1,876.
Над диагональю в таблице даны квадраты расстояний между кластерами.
Шаг 14. С помощью кнопки Graph of means(График средних) строятся следующие графики средних значений характеристикмашиндля каждого кластера (рисунок 16.12).
Рисунок 16.12 – График средних для каждого кластера
Закроем окно результатов и вернемся в начальное окно метода
k–средних.
Изменим переменные для анализа.
Шаг 15. Нажмите кнопку Variables(Переменные)в левом верхнем углу текущего окна и откройте диалоговое окно: Select variables for the analysis. Сделайте в нем установки, как показано на рисунке 16.13 (выберем теперь только 3 параметра, характеризующих машины).
Рисунок 16.13 – Выбор части переменных для кластерного анализа методом k-средних
Шаг 16. Повторите действия, описанные ранее. Нажмите кнопку Graph of means(График средних), постройте следующие графики средних значений характеристик машин для каждого кластера
(рисунок 16.14).
Рисунок 16.14 – График средних для новых кластеров
Заметьте, что состав групп изменился. Теперь машины более отчетливо группируются. Пожертвовав размерностью, сократили
число параметров и получили более отчетливо выраженные группы (сравните с рисунком 16.12).
Поэкспериментируйте с этими данными. Возможно, вам удастся найти оптимальную кластеризацию.
После того как вы поработаете с этим примером, обязательно попробуйте расклассифицировать другие свои собственные данные.
В системе реализованы также и другие методы кластеризации, в частности, так называемый two-way joining, в котором кластеризируются случаи и переменные одновременно.
Шаг 17. Если вы воспользуетесь Joining (tree clustering), то сможете увидеть дендрограмму, или дерево объединения (рисунок 16.15), о котором говорилось вначале.
Рисунок 16.15 – Дерево объединения машин разных марок в кластер методом одиночной связи