Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Качественные и количественные методы психологических исследований количественные методы. Практикум.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
830 Кб
Скачать

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

5.2.1.Иерархический кластерный анализ

Иерархический кластерный анализ позволяет классифицировать данные, разделить данные на группы. Он может быть проведен как для наблюдений, так и для переменных. Рассмотрим оба варианта. Перед проведением кластерного анализа важно стандартизировать данные, чтобы уравнять их веса, так как иначе шкалы, по которым значения выше (например, от 50 до 100), получат неоправданное преимущество перед шкалами, значения которых варьируются в пределах, например, 0–20. Функция scale() нормирует данные, приводя к среднему, равному нулю, и стандартному отклонению, равному единице.

Вариант с переменными требует предварительного транспонирования матрицы, кроме того, оставим только оригинальные шкалы методик, т.е. удалим шкалы «Импульсивность» и «Общительность», так как они высчитываются по тем же пунктам, что и шкалы «Экстраверсия» и «Нейротизм» методики EPI, также удалим шкалу лжи.

#Создадим матрицу эвклидовых дистанций, предварительно стандартизировав и транспонировав датафрейм

d <- dist(t(scale(epi.bfi[, c(1, 5:13)])), method = "euclidean")

#Реализуем иерархический кластерный анализ, используя метод Варда

hc <- hclust(d = d, method = "ward.D2")

#Построим дендрограмму (cex отвечает за размер шрифта шкал, hang = -1 - позволяет выровнять метки)

plot(hc, cex = 1.5, hang = -1, main = "Иерархическая кластеризация (переменные)")

#Наблюдаются 3 наиболее выраженных кластера, выделим их на дендрограмме rect.hclust(hc, 3)

43

Кластеры достаточно хорошо поддаются интерпретации: 1-й кластер включает шкалы «Экстраверсии» методик EPI и «Большая пятерка», характеризуя тем самым экстравертированность человека; 2-й кластер включает в себя шкалы тревожности, депрессивности и нейротизма, вероятно, отличительной особенностью этого кластера является эмоциональная неустойчивость; в 3-й кластер вошли три черты «Большой пятерки»: «Доброжелательность», «Добросовестность» и «Открытость опыту».

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

# Создаем матрицу дистанций

dd <- dist(scale(epi.bfi[, 12:13]), method = "euclidean")

# Проводим иерархический кластерный анализ, используя метод Варда hcm <- hclust(d = dd, method = "ward.D2")

44

#Строим дендрограмму, удалив имена наблюдений, так как из-за большого количества они сливаются и становятся неразличимы

plot(hcm, hang = -1, labels = FALSE, main = "Иерархическая кластеризация

(наблюдения)")

#Выделяем на дендрограмме три наиболее выраженных кластера

rect.hclust(hcm, 3)

#Присвоим соответствующие номера кластеров каждому наблюдению cluster <- cutree(hcm, k = 3)

#Рассмотрим, сколько в каждом кластере наблюдений

table(cluster)

## cluster

 

##

1

2

3

##

59

115

57

45

# Далее можно сравнить средние, чтобы понять специфику кластеров library(psych)

describeBy(epi.bfi[, 12:13], group = cluster)

##

##Descriptive statistics by group

##group: 1

##

vars

n mean

sd median trimmed

mad min max range

skew

## traitanx

1

59

28.1

2.94

29

28.2

2.97

22

34

12

-0.33

## stateanx

2

59

30.8

7.31

28

29.9

5.93

21

54

33

1.10

##kurtosis se

## traitanx

-0.76 0.38

 

 

 

 

 

 

 

## stateanx

 

0.90

0.95

 

 

 

 

 

 

 

--------------------------------------------------------##

 

 

 

 

 

 

 

 

 

 

## group: 2

 

 

 

 

 

 

 

 

 

 

##

vars

n mean

sd median trimmed

mad min max range skew

## traitanx

1

115

40.0

5.63

39

39.4

4.45

31

61

30 1.05

## stateanx

2

115

36.5

5.44

37

36.5

5.93

26

48

22 0.00

##kurtosis se

## traitanx

 

1.25

0.53

 

 

 

 

 

 

 

 

## stateanx

-0.98

0.51

 

 

 

 

 

 

 

--------------------------------------------------------##

 

 

 

 

 

 

 

 

 

 

 

 

## group: 3

 

 

 

 

 

 

 

 

 

 

 

 

##

vars

n mean

sd median trimmed

mad min max range skew kurtosis

## traitanx

1

57

48.3

9.09

47

47.9 7.41

31

71

40 0.48

-0.05

## stateanx

2

57

56.0

7.20

55

55.5

7.41

42

79

37 0.71

0.55

##

se

 

 

 

 

 

 

 

 

 

 

 

##traitanx 1.20

##stateanx 0.95

Функции пакета "factoextra" позволяют построить красивые диаграммы кластерного анализа.

library(factoextra)

 

fviz_dend(x = hcm,

# Указываем объект класса «дендрограмма»

k = 3,

# Указываем количество кластеров

show_labels = FALSE,

# Удаляем имена наблюдений

palette = "aaas",

# Задаем палитру

main = "Иерархическая кластеризация")

46

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]