Обозначение категориальных переменных в регрессионном анализе - PullRequest
0 голосов
/ 24 сентября 2018

В процессе изучения логистической регрессии с использованием данных Каррета mdrr возникают вопросы.Я создал полную модель, используя всего 19 переменных, и у меня есть вопросы по поводу обозначения категориальной переменной.

В моей регрессионной модели категориальными переменными являются:

  • ндБ: 0 или 1 или 2

  • nR05: 0 или 1

  • nR10: 1 или 2

Я создал полную модель, используя glm, но я не знаю, почему имена категориальных переменных имеют одно из чисел в категории.

-------------------------------------------------------------------------------

glm(formula = mdrrClass ~ ., family = binomial, data = train)

#Coefficients:
#(Intercept)         nDB1         nDB2           nX        nR051        nR101        nBnz2  
  #5.792e+00    5.287e-01   -3.103e-01   -2.532e-01   -9.291e-02    9.259e-01   -2.108e+00  
        #SPI          BLI          PW4         PJI2          Lop         BIC2         VRA1  
  #3.222e-05   -1.201e+01   -3.754e+01   -5.467e-01    1.010e+00   -5.712e+00   -2.424e-04  
       # PCR          H3D          FDI         PJI3        DISPm        DISPe      G.N..N.  
# -6.397e-02   -4.360e-04    3.458e+01   -6.579e+00   -5.690e-02    2.056e-01   -7.610e-03  

#Degrees of Freedom: 263 Total (i.e. Null);  243 Residual
#Null Deviance:     359.3 
#Residual Deviance: 232.6   AIC: 274.6

-------------------------------------------------------------------------------

Приведенные выше результаты показывают, что nDB пронумерованы, а nR05 и nR10 относятся к категориям.Мне интересно, почему цифры прикреплены, как указано выше.

Ответы [ 3 ]

0 голосов
/ 24 сентября 2018

Для анализа двоичной переменной (значения которой будут ИСТИНА / ЛОЖЬ, 0/1 или ДА / НЕТ) в соответствии с количественной пояснительной переменной, можно использовать логистическую регрессию.

Рассмотрим, например,следующие данные, где x - это возраст 40 человек, а y - переменная, указывающая, купили ли они альбом дэт-метала за последние 5 лет (1, если «да», 0, если «нет»).Вероятно, чем старше люди, тем меньше они покупают дэт-метал.

enter image description here

Логистическая регрессия является частным случаем Обобщенной линейной модели (GLM).В классической модели линейной регрессии мы рассмотрим следующую модель:

Y = αX + β

Следовательно, ожидание Y прогнозируется следующим образом:

E (Y)= αX + β

Здесь из-за бинарного распределения Y вышеприведенные соотношения неприменимы.Поэтому для «обобщения» линейной модели мы считаем, что

g (E (Y)) = αX + β

, где g - функция связи.В этом случае для логистической регрессии функция связи соответствует функции logit:

logit (p) = log (p / (1-p))

Обратите внимание, что эта функция logitпреобразует значение (p) от 0 до 1 (например, вероятность) в значение от - ∞ до + ∞.Вот как выполнить логистическую регрессию в R:

myreg=glm(y~x, family=binomial(link=logit))
summary(myreg)

glm(formula = y ~ x, family = binomial(link = logit))
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.8686  -0.7764   0.3801   0.8814   2.0253  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)   
## (Intercept)   5.9462     1.9599   3.034  0.00241 **
## x            -0.1156     0.0397  -2.912  0.00360 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 52.925  on 39  degrees of freedom
## Residual deviance: 39.617  on 38  degrees of freedom
## AIC: 43.617
## 
## Number of Fisher Scoring iterations: 5

. Получим следующую модель:

logit (E (Y)) = - 0,12X + 5,95

и мы отмечаем, что (отрицательное) влияние возраста на покупку альбомов дэт-метала значимо на уровне 5% (p (> [Z | ----> <5%). </p>

Таким образом,логистическая регрессия часто используется для выявления факторов риска (таких как возраст, а также ИМТ, пол и т. д.)

0 голосов
/ 28 сентября 2018

Если в любой регрессионной модели есть категориальные предикторы, вам необходимо создать фиктивные переменные.R делает это для вас, и результат, который вы видите, является контрастом

Ваша переменная nDB имеет 3 уровня: 0, 1, 2

Один из них должен быть выбран в качестве контрольного уровня(R был выбран для вас 0 в этом случае, но это также может быть указано вручную).Затем создаются фиктивные переменные для сравнения каждого другого уровня с вашим опорным уровнем: 0 против 1 и 0 против 2

R называет эти фиктивные переменные nDB1 и nDB2.nDB1 для контраста 0 против 1, а nDB2 для контраста 0 против 2.Числа после имен переменных служат только для обозначения контраста, на который вы смотрите

Значения коэффициента интерпретируются как разница в вашем значении y (результат) между группами 0 и 1 (nDB1), иотдельно между группами 0 и 2 (nDB2).Другими словами, какое изменение в результате вы ожидаете при переходе из одной группы в другую?

Ваши другие категориальные переменные имеют 2 уровня и являются просто более простым случаем вышеупомянутого

ДляНапример, nR05 имеет только 0 и 1 в качестве значений.В качестве эталона был выбран 0, и поскольку здесь имеется только 1 возможный контраст, создается одна фиктивная переменная, сравнивающая 0 против 1. На выходе эта фиктивная переменная называется nR051

0 голосов
/ 24 сентября 2018

Это всегда так для категориальных переменных, особенно когда они не являются двоичными (например, ваш nDB).Это так, что вы знаете, для какого значения у вас есть коэффициент.Для переменной nDB модель создала две новые переменные: nDB_1, которая равна 1, если nDB = 1, и равна 0, если nDB = 0 или nDB = 2.

...