Кластерный анализ при большом количестве наблюдений
Кластерный анализ при большом количестве наблюдений называют еще Кластерный анализ методом к-средних.
Иерархические методы объединения, хотя и точны, но трудоемки: на каждом шаге необходимо выстраивать дистанционную матрицу для всех текущих кластеров. Расчетное время растет пропорционально третьей степени количества наблюдений, что при наличии нескольких тысяч наблюдений может утомить и серьезные вычислительные машины.
Поэтому при наличии большого количества наблюдений применяют другие методы. Недостаток этих методов заключается в том, что здесь необходимо заранее задавать количество кластеров, а не так как в иерархическом анализе, получить это в качестве результата Эту проблему можно преодолеть проведением иерархического анализа со случайно отобранной выборкой наблюдений и, таким образом, определить оптимальное количество кластеров. Если количество кластеров указать предварительно, то появляется следующая проблема: определение начальных значений центров кластеров. Их также можно взять из предварительно проведенного иерархического анализа, в котором для каждого наблюдения рассчитывают средние значения переменных, использовавшихся при анализе, а потом в определенной форме сохраняют их в некотором файле. Этот файл может быть затем прочитан методом, который применяется для обработки больших количеств наблюдений.
Если нет желания проходить весь этот длинный путь, то можно воспользоваться методом, предлагаемым для данного наблюдения программой SPSS. Если количество кластеров k, которое необходимо получить в результате объединения, задано заранее, то первые k наблюдений, содержащихся в файле, используются как первые кластеры. На последующих шагах кластерный центр заменяется наблюдением, если наименьшее расстояние от него до кластерного центра больше расстояния между двумя ближайшими кластерами. По этому правилу заменяется тот кластерный центр, который находится ближе всего к данному наблюдению. Таким образом получается новый набор исходных кластерных центров. Для завершения шага процедуры рассчитывается новое положение центров кластеров, а наблюдения перераспределяются между кластерами с измененным центрами. Этот итерационный процесс продолжается до тех пор, пока кластерные центры не перестанут изменять свое положение или пока не будет достигнуто максимальное число итераций.
В качестве примера расчета по этому алгоритму, рассмотрим выборку из результатов исследований Института социологии Марбургского Университета им. Филипса, в котором проводился опрос 1000 студентов относительно использования ими компьютера и их отношения к современным информационным и телекоммуникационным технологиям. В разделе "Пользование компьютерными программами" были представлены следующие вопросы с различным количеством подпунктов, на которые необходимо было ответить в соответствии с пятибальной шкалой (от отлично до абсолютно не использую):
- Насколько свободно вы можете работать в следующих приложениях?
Обработка текста, Графические программы, обработка звука или видео, монтаж Базы данных и табличные расчеты.
- Насколько хорошо вы владеете следующими языками программирования?
BASIC, Paskal,С, Машинные языки, Программирование для Интернета(к примеру, HTML), Java.
- Насколько хорошо Вы можете работать в следующих операционных системах?
DOS, Windows,UNIX.
- Насколько хорошо Вы разбираетесь в следующих возможностях Интернета?
E-mail, группы новостей, почтовая рассылка, Путешествие по всемирной сети Интернет, Chat, IRC, ICQ, Предложение собственных услуг(к примеру, домашней страницы).
- Насколько хорошо Вы разбираетесь в играх?
Как часто Вы играете в компьютерные игры, Насколько хорошо Вы ориентируетесь в сценах компьютерных игр?
Ответы на эти вопросы хранятся в переменных v1a-v5b в файле computer.sav. В этом файле также находятся и другие переменные, использовавшиеся при исследовании (пол, возраст, место жительства, профессия). На основании вопросов об использовании программных продуктов попытаемся определить группы (кластеры) пользователей. Для начала рекомендуется сократить количество переменных при помощи факторного анализа, как описано в разделе 20.2.3.
- Откройте файл computer.sav
- Выберите в меню Analyze (Анализ) › Data Reduction (Преобразование данных) › Factor… (Факторный анализ)
- Переменные v1a-v5b внесите в список целевых переменных.
- Через выключатель Extraction… (Отбор) деактивируйте вывод неповернутого факторного решения.
- Через выключатель Rotation… (Вращение) для осуществления вращения активируйте метод варимакса.
- Минуя выключатель Options… (Опции) в разделе Coefficient Display Format (Формат отображения коэффициентов) (подразумеваются факторные нагрузки) активируйте Sorted by Size (Отсортированные по размеру). Затем активируйте опцию Suppress absolute values less then: (Не выводить абсолютные значения меньше чем:) и введите значение 0.40.
- В заключение щелкните по выключателю Scores… (Значения), чтобы значения факторов сохранить в виде новых переменных.
В результате расчета было отобрано четыре фактора и добавлено в файл четыре переменные от (fac1_1 до fac4_1), которые и отображают эти четыре фактора. Среди результатов присутствует повернутая факторная матрица (см. следующую таблицу).