15 лют. 2014 р.

Факторный анализ в R

Предположим, у вас есть большой набор утверждений (напр., «человек — это звучит гордо», «все люди — сёстры», «худой мир лучше доброй ссоры» и пр.), своё отношение к которым респонденты оценивали по одинаковому шаблону (напр., «согласен / не знаю / не согласен»). Можно, конечно, в статье дать таблички по каждому пункту, но можно попытаться найти что-то, что объединяет одну часть пунктов в более общую категорию, другую — в ещё одну категорию (безусловно, может оказаться и так, что ваши утверждения ничего не объединяет). Факторный анализ — это один из инструментов, который позволяет найти это общее, если оно там, конечно, есть.

Говоря более строго, если оценки двух и более пунктов коррелируют между собой, то логично предположить, что эта корреляция указывает на некий общий фактор (например, высокие оценки у школьников по алгебре и высокие оценки по геометрии скорее всего будут встречаться одновременно и указывать на хорошее абстрактное мышление и развитую логику). Факторный анализ помогает найти эти связи в массиве ваших данных.

Это одновременно сильное и слабое место. Сильное потому, что большой массив данных упрощается и его легче анализировать. А слабое потому, что сильная корреляция, как известно, не указывает на причинность и реальные связи — компьютер покажет вам нечто, но что это значит, насколько находка разумна и правдоподобна, судить только вам. Как написано в одной умной книге «to interpret the factors, which is more like voodoo than science».

Однако перейдём к примеру.

Итак, в 2013 г. Центр социальных экспертиз по заказу ВОО «Гей-Альянс Украины» опрашивал обычных людей (800 чел.) на предмет гомофобии (отчёт). Среди прочего, в опроснике фигурировали и пункты, к гомофобии прямого отношения не имеющие, напр. о доверии к разнообразным политическим и социальным институтам. Вопрос звучал так: «Какой уровень Вашего доверия к следующим социальным институтам? (Дайте один наиболее подходящий ответ по каждой строке)» с вариантами ответов «5. Совсем не доверяю — 4. Скорее не доверяю — 3. Трудно сказать, доверяю или нет — 2. Скорее доверяю — 1. Полностью доверяю». Список институтов, к которым респондент выражал своё отношение, таков:

1. Семье и родственникам
2. Соседям
3. Коллегам
4. Церкви и духовенству
5. Астрологам
6. Средствам массовой информации (телевидение, радио, газеты)
7. Политическим партиям
8. Налоговой инспекции
9. Милиции
10. Прокуратуре
11. Судам
12. Президенту
13. Верховной Раде
14. Правительству
15. Местным органам власти
16. Банкам
17. Страховым компаниям
18. Благотворительным фондам, общественным организациям

Как провести факторный анализ этих данных? (предположим, что таблица с ответами называется dovira)
Присоединяем массив:

>attach(dovira)

Вначале следует убедиться, что в загруженном массиве нет пропусков и ошибок ввода:

>which(is.na(dovira)==T)
integer(0)
>summary(dovira)
p1
Min. :1.000
1st Qu.:2.000
Median :2.000
Mean :2.711
3rd Qu.:4.000
Max. :5.000 ... ... ...


Как видим, всё в порядке (для того, чтобы не загромождать изложение, в выводе оставлен только первый вопрос).
Команда, выполняющая факторный анализ, входит в набор пакетов, устанавливаемых по умолчанию. Она очень проста:

>factanal(dovira,6)
Call:
factanal(x = dovira, factors = 6)

Uniquenesses:
123456789101112131415161718
0.4310.1950.3790.6140.0470.6720.5060.2850.1740.1060.1860.2150.1120.0820.4640.2880.2040.533
Loadings:
Factor1Factor2Factor3Factor4Factor5Factor6
1-0.407-0.3240.489-0.106-0.213
20.8790.131-0.112
30.784
4-0.1280.540-0.1700.193
50.1250.1710.1330.943
60.2650.1220.2520.3930.139
70.5220.3820.1480.1510.175
80.3950.673
-0.1190.2040.1820.131
90.3290.8170.181
100.2970.865-0.1130.1450.122
110.3530.769-0.1040.277
120.8050.3200.111
130.8530.318-0.1440.1510.121
140.9020.2500.125
150.5820.2300.1810.325
160.1960.4140.6670.1390.184
170.2430.3510.6940.1600.317
180.1620.1090.2280.608
Factor1Factor2Factor3Factor4Factor5Factor6
SSloadings3.6623.3992.0790.3241.2750.765
ProportionVar0.2030.1890.1160.0740.0710.043
CumulativeVar0.2030.3920.5080.5810.6520.695
Test of the hypothesis that 6 factors are sufficient.
The chi square statistic is 257.27 on 60 degrees of freedom.
The p-value is 2.95e-26


Посмотрим на результаты.

Вначале в выводе повторяется отданная машине команда, потом идёт табличка «уникальностей», т. е. долей общей дисперсии, вносимых каждой переменной по отдельности. Следом мы видим таблицу нагрузок, в которой столбцы соответствуют коэффициентам корреляции отдельных переменных с выделенными факторами. Наконец, третья таблица — доля общей дисперсии, объясняемой каждым конкретным фактором и накопление этих дисперсий. Завершает вывод информация о тестировании гипотезы «выбранное число факторов достаточно для описания массива».

Наиболее важными являются таблицы нагрузок и долей объясняемой дисперсии.

Из последней видно, что в сумме 6 выделенных факторов объясняют 70% разброса данных, при этом первый фактор отвечает за пятую часть суммарной дисперсии, второй — 19%, третий — 12% и т. д.
Таблица нагрузок указывает, что в первом факторе объединены 7, 12, 13, 14 и 15 институция (коэффициенты корреляций больше 0.5), во втором — 8, 9, 10, 11, в третьем — 2, 3, 4 и т. д.

Попробуем интерпретировать результаты.

Фактор 1 объединяет доверие к политическим партиям, президенту, Верховной Раде, правительству и к местным органам власти. Иными словами, это доверие к политической сфере в целом.
Фактор 2 объединяет доверие к налоговой инспекции, милиции, прокуратуре и судам. Иными словами, это доверие к фискальным и силовым органам.
Фактор 3 объединяет доверие к соседям, коллегам и, неожиданно, к церкви и духовенству. Эти институции можно обобщить следующим образом — доверие к людям, с которыми респонденты встречаются лицом к лицу. В пользу этого говорит и корреляция с уровнем доверия к родственникам (она лишь ненамного ниже, чем произвольно избранный нами порог коэффициента корреляции 0.5).
Фактор 4 — это доверие к банкам и страховым компаниям, т. е. к финансовым учреждениям.
Фактор 5 стоит особняком — доверие к астрологам (других заметных корреляций нет).
Фактор 6 подобно предыдущему коррелирует только с уровнем доверия только к одной институции — благотворительные фонды и общественные организации.
Лишь одна институция не вошла в эти факторы — средства массовой информации (телевидение, радио, газеты). Доверие к ней приблизительно одинаково «размазано» по выделенным факторам.

Что нам дают эти результаты?

Если мы уровень доверия к социальным институтам усредним по факторам (т. е. для каждого респондента просуммируем баллы институций, вошедших в фактор, и поделим на число этих объединённых фактором институций), то получим картинку настроений украинцев в отношении отдельных элементов государства и общества:

Доверие к ...Средний по фактору балл
(шкала от 5 — не доверяю до 1 — доверяю)
людям, с которыми респонденты встречаются лицом к лицу2.5
благотворительным фондами и общественным организациям3.1
политической сфере в целом3.4
астрологам3.4
финансовым учреждениям3.6
фискальным и силовым органам3.6
Видно, что больше всего у респондентов доверия к людям, с которыми они встречаются лицом к лицу. А меньше всего доверия к фискальным и силовым органам, а также к финансовым учреждениям.

Последний аспект, который не может не вызвать вопросов: откуда мы знаем, что факторов нужно выделить именно 6. Самым, пожалуй, точным ответом будет — ниоткуда. Каждый раз, нужно экспериментировать, опираясь на здравый смысл. Во-первых, количество факторов не может быть большим, чем число переменных. Во-вторых, можно ориентироваться на суммарную объясняемую дисперсию, ибо нет смысла рассуждать о факторах, если они в совокупности не описывают хотя бы её половину (а умные люди рекомендуют добиваться по крайней мере 70%). В-третьих, нужно ориентироваться на возможность подобрать разумное объяснение полученным факторам.

В этом очерке мы не касались многих важных аспектов факторного анализа, напр. таких, как методы вращения. Наша цель состояла в том, чтобы в самых общих чертах продемонстрировать зачем нужен этот метод и как его использовать. Более глубокое знакомство, естественно, требует самостоятельной работы с руководствами и данными.

Литература

Teetor P. R Cookbook. — O’Reilly, 2011

1 коментар:

Unknown сказав...

А почему именно 6 факторов?