我最近一直在使用预测模型来实现持续响应。我正在对 R 中的 Elastic Net ( glmnet) 包和 R 中的 XGBoost ( xgboost) 包进行比较。最初,我使用 Elastic Net 构建模型是因为它能够执行特征选择,并且能够缩小相关变量的系数。
我正在探索 XGBoost 是因为它的预测能力、它提供的特征重要性总结、它捕捉非线性交互的能力,还因为我相信它在存在异常值的情况下可能更加稳健。
我的问题是:
XGBoost 或梯度提升树通常比广义线性模型更善于发现非线性交互吗?
我对 XGBoost 或梯度提升树的假设通常对异常值具有鲁棒性是一个公平的假设吗?
这是我的模型设置和发现:
对于模型验证,我有一个训练和测试集。我在模型拟合之前转换响应变量。我对测试集进行预测,然后将结果取幂以返回原始比例。我为每个模型制作预测与观察图。
指数化的预测值有一些异常值,但总体上拟合良好。
当我转换回原始比例时,使用弹性网络模型有一个极端的预测值。我将其解释为 GLM NET 有一些不太确定如何预测的情况(异常值)。
我很想听听意见!提前感谢您的任何帮助或评论!

