XGBoost (Extreme Gradient Boosting) 或 Elastic Net 对异常值更稳健

机器算法验证 预测模型 异常值 大车 助推 网络
2022-04-19 03:59:15

我最近一直在使用预测模型来实现持续响应。我正在对 R 中的 Elastic Net ( glmnet) 包和 R 中的 XGBoost ( xgboost) 包进行比较。最初,我使用 Elastic Net 构建模型是因为它能够执行特征选择,并且能够缩小相关变量的系数。

我正在探索 XGBoost 是因为它的预测能力、它提供的特征重要性总结、它捕捉非线性交互的能力,还因为我相信它在存在异常值的情况下可能更加稳健。

我的问题是:

  1. XGBoost 或梯度提升树通常比广义线性模型更善于发现非线性交互吗?

  2. 我对 XGBoost 或梯度提升树的假设通常对异常值具有鲁棒性是一个公平的假设吗?

这是我的模型设置和发现:

对于模型验证,我有一个训练和测试集。log在模型拟合之前转换响应变量。我对测试集进行预测,然后将结果取幂以返回原始比例。我为每个模型制作预测与观察图。

XGBoost 预测对比 观察图 在此处输入图像描述

指数化的预测值有一些异常值,但总体上拟合良好。

弹性网络预测与。观察图 在此处输入图像描述

当我转换回原始比例时,使用弹性网络模型有一个极端的预测值。我将其解释为 GLM NET 有一些不太确定如何预测的情况(异常值)。

我很想听听意见!提前感谢您的任何帮助或评论!

1个回答
  • 1 是的,与正则化线性回归相比,增强树更容易适应未知的非线性效应或相互作用。但是,一旦您意识到某些特定的非线性,您就可以简单地将数据转换为线性并继续使用线性学习器。

  • 2 这取决于您如何训练模型。如果您不熟悉提升树,请查看一些关于如何避免过度拟合的教程。我无法从您的图中看到使用了哪种交叉验证。使用彻底的外部交叉验证,并可能将结果与随机森林模型进行比较。RF 模型更容易处理,默认设置通常接近最佳。粗略的拇指法则;如果您的 RF 性能优于增强树(通过外部交叉验证测量),您要么为增强树模型选择了次优训练参数,要么您的数据非常嘈杂。