Доступны следующие примеры данных:
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 ковариатами, как в случае с примером?