我在数值自变量 X 和数值因变量 Y 之间有一个关键关系,这就像一个由 2 个参数确定的负指数函数。还有其他自变量。一个数字,其余是分类的。
目前我正在使用分位数回归森林。他们工作得很好。但是,不能保证上述负指数关系。
有没有办法实现上述。例如,这是否可以像分层模型一样建模。这里 X 上的负指数函数的参数根据其他特征进行调整。事实上,是否可以将其建模为 ANN(例如使用 KERAS),其中负指数函数是输出层 - 类似于 softmax 函数?
任何反馈将不胜感激!
我在数值自变量 X 和数值因变量 Y 之间有一个关键关系,这就像一个由 2 个参数确定的负指数函数。还有其他自变量。一个数字,其余是分类的。
目前我正在使用分位数回归森林。他们工作得很好。但是,不能保证上述负指数关系。
有没有办法实现上述。例如,这是否可以像分层模型一样建模。这里 X 上的负指数函数的参数根据其他特征进行调整。事实上,是否可以将其建模为 ANN(例如使用 KERAS),其中负指数函数是输出层 - 类似于 softmax 函数?
任何反馈将不胜感激!
有多种算法支持单调性,即可以学习单调的决策规则。
使用线性回归和逻辑回归时,很容易强制执行单调性约束;您只需在优化期间强制该变量的相应系数为非负数。
xgboost 支持单调性约束。但是,请注意它是“尽力而为”,并且不能保证该模型对于整个数据值空间将是全局 100% 单调的。
神经网络可以通过强制权重为非负来支持单调性约束。
我不知道如何使用决策树或随机森林分类器来强制执行单调性。参见例如https://cs.stackexchange.com/q/69220/755的反例,表明即使您的训练集是单调的,生成的决策树也可能学习非单调规则。
需要查看的一些参考资料:https ://stats.stackexchange.com/q/257049/2921、https : //stats.stackexchange.com/q/342651/2921、https : //stats.stackexchange.com/q/ 341422/2921。
这个 R 包对我有用:
https://cran.r-project.org/web/packages/Rborist/vignettes/rborist.html
可以使用 regMono 选项。我也得到了分位数回归森林。