Bootstrap森林调整参数、分割数和预测公式亲爱的 JMP 和社区:
(W10 企业版、JMP Pro 15.0.0)
我很好奇引导森林建模的哪些调整参数会影响每个因素的分割数量。 我熟悉如何使用调整表等来优化拟合以最大化拟合,例如验证集的 R^2。 在下面突出显示的六个参数中,哪一个可以影响拆分数量(来自列贡献)?

如果您查看引导林的报告输出,您会发现“列贡献”中有一个名为“拆分数”的列。 如果将这些分割相加,就会给出森林中的分割总数。 单独来看,这些是模型在给定参数上分裂的次数。

如果您随后开始查看可以保存在数据表中的公式的详细信息,则有时公式中计算参数的次数与该参数的拆分次数之间可能存在差异。
例如,如果一个参数有 1000 次分割,则它应该在公式中出现两次,总共 2000 次,这是有意义的。 但这种情况并不总是发生。 我怀疑这是由于调整参数之一造成的,但我不确定。 如果不是,还有什么会影响这个?
举一个具体的例子,下面是拟合的列贡献的屏幕截图,并将其与 2* 分割数以及公式中计算该参数的次数进行比较。 可以看出,参数在公式中出现的次数(例如,X_1 为 12626)与 2* 分割数(X_1 为 12636)不匹配。 有时很接近,有时则相当大(参见“差异”栏)。 另外,有趣的是差异之和为零。 因此,无论是什么导致了这种差异,都会以这样一种方式进行“加权”,即它实际上不会改变分割的总数,只是改变它们的分配方式。

我发现非常有趣的是,在公式中,参数 X_11 被发现比 2* 分割数多 276 倍。 对我来说,这表明在某些分割中,它不是均匀地决定 X_11,而是决定另一个参数。 而且,这样做的方式是使分割总数保持不变。 它是否与每次拆分采样的条款或最小拆分大小有关? 我尝试了一些手动测试,但无法确定其中任何一个如何影响分割数量。
顺便说一句,我将公式复制到 Word 中,并对参数 X_1、X_2 等进行简单计数。考虑到公式的大小和树的数量,我无法手动搜索找到是什么原因造成的。 不幸的是,据我所知,无法使用文本资源管理器或 JMP 中的类似工具来计算公式。
我们非常感谢 JMP 开发人员或社区建模者的任何反馈。
谢谢,
DS
回复:Bootstrap森林调整参数、分割数和预测公式你好@Byron_JMP ,
是的,我知道分割次数是算法选择在该特定变量上分割树的次数。 如果您更深入地研究写入列中的公式,就会发现列贡献中报告的拆分数量并不总是恰好是公式中计算的 X 因子的乘积的 1/2。
您可能会认为树决策可能类似于(仅作为示例):
如果(缺少(X_1)| X_1 <= 32, 41, 35)
如果每个决策都是这种情况,那么您预计 X_1 在公式中出现的次数恰好是 2*与该因子关联的分割数。
但是,如果决策树看起来更像:
如果(缺少(X_1)| X_3 > 16, 20, 18)
那么您可能会遇到这样的情况:树在该变量上的分割次数与其在公式中出现的次数不同。 当决策树建立时,什么可能推动这一点?
在原始帖子的特定情况下,您可以看到因子 X_1、X_2 和 X_7 相互平衡,使得“差异”列中的值相加总和为 0。 当所有其他 X 因素的差异相加时,情况也是如此。
因此,在这种情况下,公式中因子 X_1 的使用量实际上比“贡献列”中的“分割数”列所报告的少 5 倍(差值/2)。 同样,对于 X_2 和 X_7,它们在公式中分别使用了 124 次 MORE 和 119 次 LESS。 如果将它们相加:5 + (-124) + 119 = 0。
是否可能缺少信息? 恕我直言,这太“完美”了,不可能是巧合。 我只是无法弄清楚调整过程的哪个部分对此负责。
至于你的问题:
1. 我使用 DOE 空间填充均匀选项生成一组至少 60 次运行(是我要更改的因子数量的 10 倍)。 然后,我复制 DOE 几百次并运行它——我通过脚本来完成它,这样它就不会消耗我所有的 RAM。 运行可能需要几天时间。
2. 我将原始数据表分成 80/20 训练/测试数据集。 然后,我将原始数据表拆分为仅训练表和仅测试表。 我使用训练表并使用大约 0.18 到 0.25 的数据集之间的随机保留来验证模型拟合。 同样,我通过脚本来完成这一切,这样我就可以找到调整的最佳值并将其用作验证部分。 我经常发现精确的 80/20 训练/验证分割并不像稍微偏离的那样最佳,比如 0.79/.21。 您通常可以在验证集上获得更好的 R^2。
谢谢,
DS
回复:Bootstrap森林调整参数、分割数和预测公式这可能不是一个非常令人满意的答案,但分割次数只是变量是分割分支的最佳位置的次数的计数。
实际上并不能控制变量可以拆分多少次。
也许有几个问题要回馈给您:
1. 您如何建造转台?您使用了多少次转盘?
2. 当你调整时,你是针对整个数据集还是随机子集进行调整?
-您在子集中使用的数据比例是多少(如果使用)
您对公式中使用的参数名称的观察很有趣。 我可能会稍微研究一下。