Как применить анализ экстремальных границ к набору данных из более чем 100 переменных с помощью пакета ExtremeBounds в R? - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть набор данных, состоящий из 107 переменных с 1794 наблюдениями.Я хочу реализовать Extreme Bounds Analysis, чтобы определить, какая из 106 переменных надежно коррелирует с зависимой переменной в широком диапазоне регрессий, каждая из которых имеет свою спецификацию модели.Я намерен выбрать наиболее надежные переменные для моей окончательной модели.

Я использую пакет Marek Hlavac ExtremeBounds.Я пытаюсь запустить следующую строку кода:

free=eba(formula=flg_activacion_0_12~., data=Data1, k=0:106, reg.fun=glm, family=binomial(link='logit'), draws=100)

Зависимая переменная

flg_activacion_0_12

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

Аргумент reg.fun предназначен для R не для запуска регрессий OLS, а для обобщенных линейных моделей, таких как logit.

Я установил аргумент k как 0: 106.Это означает, что я хочу определить, являются ли переменные надежными среди моделей, которые включают до 106 переменных.Тем не менее, общее количество моделей для оценки будет огромным.Существует 106 возможных моделей, которые включают только одну объясняющую переменную.Возможны 106! / [2! (104!)] Моделей, которые включают две объясняющие переменные.Аргумент draws = 100 ограничивает количество моделей до 100. Он запускает только 100 моделей, выбранных случайным образом из огромного пула моделей, которые могут быть записаны как комбинации из 106 переменных.

Я считаю, что аргумент draws долженсделать эту задачу возможной для моего компьютера, но я получаю следующие сообщения об ошибках:

All variables in argument 'focus' must be in the data frame. 

Argument 'k' is too high for the given number of doubtful variables.

Я уже проверил документацию, и так как я не указал, какие переменные свободны, какие являются фокусом, а какиесомнительные, тогда все 106 переменных следует считать фокусными.Я не понимаю, почему это предполагает, что некоторые переменные фокуса не находятся в моем фрейме данных.Пожалуйста, скажите мне, что я делаю неправильно и как я могу делать то, что собираюсь сделать.

1 Ответ

0 голосов
/ 23 ноября 2018

Я думаю, что проблема здесь в аргументе формулы.В результате вы получите ту же ошибку и с этим кодом:

 library(ExtremeBounds) 
 naive.eba <- eba(formula = mpg ~. , data = mtcars, k = 0:9)

Модель будет работать хорошо, если вы используете (как в виньетке ExtremeBounds) следующую команду, которая записывает зависимые переменные в формуле:

 naive.eba <- eba(formula = mpg ~ cyl + carb + disp + hp + vs + drat + wt + qsec + gear + am, data = mtcars, k = 0:9)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...