具有附加约束的多目标回归树

数据挖掘 回归 决策树 多输出 梯度提升决策树
2021-10-10 07:51:28

我有一个回归问题,我需要预测三个因变量(y) 基于一组自变量 (x):

(y1,y2,y3)=β0+β1x1+β2x2++βnxn+u.

为了解决这个问题,我更喜欢使用基于树的模型(即梯度提升或随机森林),因为自变量 (x) 是相关的,并且问题与事前未知参数化是非线性的。

我知道我可以使用 sklearnMultiOutputRegressor()RegressorChain()作为元估计器。

但是,我的问题还有一个额外的转折,即我确实知道 y1+y2y3=x1.

也就是说,三者之间存在着固定的关系 y自变量之一。所以本质上,价值x1 需要以最佳方式“分发”到(未知)目标 (y1,y2,y3) 对于每个观察,取决于剩余的自变量 x2,,xn.

当然,一种天真的方法是,以某种方式将预测值压缩在一起,以满足 y1^+y2^y3^=x1. 但是,我想知道是否还有其他选项可以引入“硬约束”,例如y1^+y2^y3^=x1 到一些(基于树的)估计器。

我注意到了这篇文章但是,出于上述原因,我更喜欢基于树的方法。

1个回答

因此,似乎没有任何开箱即用的东西为此做好准备,但是,我发现了一个例子,有人在做类似于你想用随机森林做的事情。这是链接:http ://astrohackweek.org/blog/multi-output-random-forests.html