Реализовать нулевое распределение силы взаимодействия с gbm - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь определить, какие взаимодействия в модели gbm являются значимыми, используя метод, описанный в [Friedman and Popescu 2008] [1].Мой гбм - это модель классификации с 9 различными классами.Я борюсь с тем, как перевести Раздел 8.3 в код для запуска в R.

Я думаю, что общий процесс заключается в следующем:

  1. Обучить версию модели с max.depth= 1
  2. Имитация данных отклика из этой модели
  3. Обучите новую модель на этих данных с максимальной глубиной, равной реальной модели
  4. Получите силу взаимодействия для этой модели
  5. Повторите шаги 1-4, чтобы создать нулевое распределение сильных сторон взаимодействия

Часть, которую я нахожу наиболее запутанной, - это реализация уравнений 48 и 49. (Вам нужно будет взглянуть насвязанная статья, поскольку я не могу воспроизвести их здесь)

Это то, что я думаю, я понимаю, но, пожалуйста, поправьте меня, если я ошибаюсь:

y_i - это новыйвектор ответа, который мы будем использовать для обучения новой модели, которая будет обеспечивать нулевое распределение статистики взаимодействия.

F_A (x_i) - прогноз по версии модели gbm, обученной с max.depth = 1

b_i - вероятность между0 и 1 на основе прогноза из аддитивной модели F_A (x_i)

Вопросы

  1. Что такое индекс i ?Это число итераций в начальной загрузке?
  2. Чем каждый искусственный набор данных отличается от других?
  3. Подставляем ли мы Pr (b_i = 1) вуравнение 48?
  4. Как это можно сделать с помощью полиномиальной классификации?
  5. Как реализовать это в R?Желательно использовать пакет gbm.

Любые идеи или ссылки приветствуются!

...