Я использую логистическую c регрессию для прогнозирования двоичной выходной переменной (группа, 0/1). Итак, я кое-что заметил: у меня есть две переменные, представляющие один и тот же результат, одна кодируется просто как «0» или «1».
> df$Group
>[1] 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1
> 0 0 0 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1
> [59] 1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1
> 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0
>[117] 0 0 0 1 1 1 1
> 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 0 1 0
> 0 1 1 1 1 0 1 1 0 1 1 1 1 0 0 1
>[175] 1 0 1
>Levels: 0 1
> is.factor(df$Group)
> [1] TRUE
Та же история для другого, который представляет то же самое, но имеет метки «имена»:
> df$Group
>[1] CON CI CON CI CI CON CI
> CI CON CI CI CI CON CI
>[15] CI ecc.. ecc..
> Levels: CI CON
> is.factor(df$Group2)
> [1] TRUE
> contrasts(df$Group2)
> CI 0
> CON 1
В котором 0 в первой переменной = CON, тогда как 1 = CI. Я создал эту первую числовую переменную, потому что хотел, чтобы CI была моей группой «1», а CON - эталонной группой 0, но когда я преобразовывал из набора данных, каждый раз, когда я пытался сделать «as.factor», происходило то, что CI = уровень 1, CON = уровень 2.
Я думал, что это одно и то же, но когда я попытался изобразить отношение шансов с помощью пакета sjPlot и просто проверил, чтобы быть уверенным, я заметил, что OR были совсем другими , хотя при проверке коэффициентов сводки (модель glm) все казалось одинаковым (кроме -или + оценок, что имеет смысл, поскольку две группы кодируются по-разному). В частности, при использовании числовой переменной ИЛИ на графике определенно больше, тогда как при использовании переменной «имя» ИЛИ меньше.
Я что-то упустил в понимании r (я сам подумал ) или при вычислении логистической c регрессии? Какую из переменных мне следует использовать в логистической c регрессии? И как я могу изменить тот факт, что в переменных «name» r используется «CI» как группа ссылок 0 вместо CON? Спасибо.