gbm :: interact.gbm与dismo :: gbm.interactions

GNG*_*GNG 16 interaction r machine-learning gbm

背景

为参考手册gbm package状态的interact.gbm函数计算Friedman的H-统计评估变量相互作用的强度.H统计量在[0-1]的范围内.

该参考手册dismo package未参考任何有关该gbm.interactions功能如何检测和模拟相互作用的文献.相反,它给出了用于检测和建模交互的一般过程列表.在dismo"提振回归树为生态模型"小插曲指出,dismo包中的扩展功能gbm包.

如何dismo::gbm.interactions实际检测和建模交互?

为什么

我问的是这个问题,因为gbm.interactionsdismo package收益率结果> 1时,gbm package参考手册说不可能.

我检查了每个包的tar.gz,看看源代码是否相似.这是不同的,我无法确定这两个包是否使用相同的方法来检测和建模交互.

pat*_*ckm 6

总而言之,两种方法之间的差异归结为如何估计两个预测变量的"部分依赖函数".

dismo软件包基于最初在 Elith等人,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)
Run Code Online (Sandbox Code Playgroud)

pred.frame包含所讨论的两个预测变量的网格,并且prediction是来自原始gbm拟合模型的预测,其中除了两个预测器之外的所有预测器都设置在它们的平均值上.

这与弗里德曼的H统计量(Friedman&Popescue,2005)不同,后者通过公式(44)估计任何一对预测因子.这基本上是对任何两个预测因子的平均值超过其他变量值的加性的偏离,而不是设置其他变量.它表示为两个变量(或模型隐含预测)的部分依赖函数的总方差的百分比,因此将始终在0-1之间.