.

Сделать репост в соц сети!

вторник, 25 февраля 2014 г.

Выбор контрольной группы в программе R при использовании категориальных переменных в регрессионном анализе

При использовании категориальных переменных в регрессионном анализе исследователю бывает важно задать контрольную группу самостоятельно.
Пост - инструментальная подсказка для тех, кто пользуется R. В качестве кейса беру результаты нашего опроса по исследованию факторов текучести персонала (поучаствуйте заодно). В качестве независимой категориальной переменной я беру источники трафика подбора персонала (через какие каналы кандидаты узнали о вакансии).
Знакомые
friend
Социальные сети
 sm
Джоб сайты
jobsites
Объявление в газете
paper
Раздел Вакансии компании (карьерный портал)
cariersite
Работодатель сам вышел на Вас
direct
Вы обратились непосредственно в саму компанию (отдел кадров и т.п.)
self_direct
Кадровое агентство
KA
Центр занятости
Center_job
другое
etc
В R по умолчанию контрольная группа задается первой в алфавитном порядке, т.е. если у вас "арбузы", "апельсины", "мандарины", то по умолчанию контрольной группой будет "апельсины".

Проверяется это так (я сразу беру данные своего кейса)
contrasts(t$info)
Выбор контрольной группы в программе R при использовании категориальных переменных в регрессионном анализе
Коэффициенты регрессии выдаются так
Выбор контрольной группы в программе R при использовании категориальных переменных в регрессионном анализе
Замечательно, что у нас есть значимые коэффициенты, но эксперты скажут, что интереснее было взять в качестве контрольной группы не карьерные сайты, а, например, джоб сайты и сравнить с ними, например, кадровые агенства или трафик через знакомых (что для экспертов более важно).
Можно переменные перекодировать самостоятельно в 0 или 1 (а в SPSS только так и можно делать, поскольку текст программа не распознает, но это затраты времени). Тем более, это неудобно, когда хочется поиграться с разными контрольными группами.
Для изменения контрольной группы мы используем команду
contr.treatment
В нашем случае формула выглядит так
Выбор контрольной группы в программе R при использовании категориальных переменных в регрессионном анализе

где где 10 - число вариантов ответов или категорий, а 6 - та категория, которую мы выбираем в качестве контрольной. Далее, run


Выбор контрольной группы в программе R при использовании категориальных переменных в регрессионном анализе
И коэффициенты регрессии такие 
Выбор контрольной группы в программе R при использовании категориальных переменных в регрессионном анализе

Не решил пока

Заметно, что вместо названий коэффициентов появились обезличенные info1 2 3 4 и т.д...

Хотелось бы исправить, поскольку в случае, если вариантов будет не 10, а хотя бы 35, то воспиятие будет затруднено. Буду благодарен, если подскажите, как этого достичь.
И подскажите, как лучше всего вставлять данные из R? Простым копированием неудобно: формат разъезжается во все стороны....

ПыСы

Опубликовал пост в группе на Линкедин, мне сразу подсказали еще один элегантный способ
lm(y ~ as.factor(x)) - берет первый уровень (например, "a") фактора за базу (по нулям при dummy coding) 
Если мы хотим сделать за базовый уровень, например, "b": 
lm(y ~ relevel(x, ref = "b"))

Комментариев нет:

Отправить комментарий