2015-04-05 4 views
14

ФоновыхGBM :: interact.gbm против dismo :: gbm.interactions

Справочного руководства для gbm package состояний функции interact.gbm вычисляет Фридман H-статистику для оценки силы переменных взаимодействий. H-статистика находится в масштабе [0-1].

Руководство по эксплуатации для dismo package не содержит ссылок на литературу по тому, как функция gbm.interactions обнаруживает и моделирует взаимодействия. Вместо этого он дает список общих процедур, используемых для обнаружения и моделирования взаимодействий. Виньетка dismo «Повышенные деревья регрессии для экологического моделирования» гласит, что пакет dismo расширяет функции в пакете gbm.

Вопрос

Как dismo::gbm.interactions на самом деле обнаружения и модели взаимодействия?

Почему

Я задаю этот вопрос, потому что gbm.interactions в дает результаты dismo package> 1, в котором говорится gbm package справочное руководство не представляется возможным.

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

ответ

3

Подводя итог, различие между двумя подходами сводится к тому, как оценивается функция «частичной зависимости» двух предикторов.

Пакет dismo основан на коде, первоначально указанном в Elith et al., 2008, и вы можете найти исходный текст в дополнительном материале. В документе очень кратко описывается процедура. В принципе, предсказания модели получены по сетке из двух предикторов, , устанавливая все остальные предиктора по их средствам. Затем предсказания модели регрессируются на сетке. Средние квадратичные ошибки этой модели затем умножаются на 1000. Эта статистика указывает отклонения модельных предсказаний от линейной комбинации предикторов, что указывает на возможное взаимодействие.

Из пакета dismo мы также можем получить соответствующий исходный код для gbm.interactions. Тест взаимодействия сводится к следующим командам (скопированных непосредственно из источника):

interaction.test.model <- lm(prediction ~ as.factor(pred.frame[,1]) + as.factor(pred.frame[,2])) 

interaction.flag <- round(mean(resid(interaction.test.model)^2) * 1000,2) 

pred.frame содержит сетку из двух предикторов в вопросе, и prediction является предсказанием от оригинального gbm подобранной модели, где все, кроме два предикторов рассматриваются на их средствах.

Это отличается от статистики Фридмана H (Friedman & Popescue, 2005), которая оценивается по формуле (44) для любой пары предикторов. Это, по сути, отход от аддитивности для любых двух предикторов , усредняя по значения других переменных, НЕ устанавливая другие переменные по их усмотрению. Он выражается как процент от общей дисперсии функции частичной зависимости двух переменных (или предполагаемых предполагаемых прогнозов), поэтому всегда будет находиться между 0-1.