16

背景

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

的参考手册dismo package没有参考任何关于gbm.interactions函数如何检测和建模交互的文献。相反,它提供了用于检测和建模交互的一般程序列表。小dismo插图“用于生态建模的增强回归树”指出该dismo包扩展了包中的功能gbm

问题

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

为什么

我问这个问题是因为gbm.interactionsdismo package产量结果中 > 1,gbm package参考手册说这是不可能的。

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

4

1 回答 1

7

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

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 之间。

于 2015-09-24T13:31:14.470 回答