Логистический пошаговый выбор переменных - PullRequest
0 голосов
/ 27 мая 2019

Доступны следующие примеры данных:

X=as.data.frame(cbind(rep(c(1,23,456,7,8),5),c(2,34,89,4,52),c(1,4,32,4,5),c(81,30,32,41,100),c(1,-9,8,8,512),
        c(5,356,854,33,522),c(12,31,34,345,565),c(11,84,889,42,2),c(18,349,8239,2,521),c(15,3,9,32,44),
        c(67,55,9,4,2),c(18,114,56,7,77),c(89,23,56,41,52),c(21,234,5,4,2),c(133,776,88,42,54),
        c(12,374,11,22,58),c(11,90,0,5,14),c(12,45,66,32,54),c(13,33,67,77,526),c(67,34,99,177,2)))
y=as.data.frame(c(0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0))
names(y)="y"

Поэтому у меня 20 независимых переменных и двоичная зависимая переменная.Сначала я хочу оценить все модели с одной переменной и выбрать модель с наименьшим отклонением.Затем я хочу добавить переменную к этой модели из оставшихся переменных и выбрать модель с двумя переменными с наименьшим отклонением.Я хочу сделать это для всех 3, ..., 20 переменных моделей.Тогда у меня 21 (только перехват и 20 моделей переменных с самым низким отклонением).Затем я хочу выбрать тот, который имеет наименьший BIC.Это можно сделать с помощью bestglm:

Xy=cbind(X,y)
bestglm(Xy, family = binomial, IC = "BIC",,
        method = "forward", intercept = TRUE)

Однако bestglm не позволяет иметь более 15 ковариат:

Ошибка в bestglm (Xy, family = binomial, IC = "BIC", method = "forward",: p = 20. должно быть <= 15 для GLM. </p>

Как я могу сделать этот пошаговый логистический выбор вперед с более чем 15 ковариатами, как в случае с примером?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...