【问题标题】:Log transform dependent variable for regression tree回归树的对数变换因变量
【发布时间】:2015-03-30 04:05:06
【问题描述】:

我有一个数据集,我发现依赖(目标)变量具有偏态分布 - 即有一些非常大的值和长尾。

当我运行回归树时,会为大值观察创建一个端节点,并为大多数其他观察创建一个端节点。

是否可以记录转换因(目标)变量并将其用于回归树分析?当我尝试这样做时,我得到了一组不同的节点和拆分,这些节点和拆分似乎在每个存储桶中具有更均匀的观察分布。通过对数转换,Predicted vs. Observed 的 Rsquare 值也相当不错。换句话说,我似乎通过日志转换获得了更好的测试和验证性能。 只是想确保当因变量具有偏态分布时,对数转换是一种可接受的运行回归树的方法。

谢谢!

【问题讨论】:

  • Sandeep 的回答是正确的。需要明确的是,您无法比较两个模型的性能指标。因此,仅仅因为您的 R 平方上升并不意味着它是一个更好的模型。要比较苹果与苹果,您需要将其中一个预测集转换为与另一个相同的比例。因此,如果您使用对数转换的目标变量调整模型,则需要使用 exp() 将预测映射回原始比例,然后比较指标。

标签: machine-learning regression cross-validation


【解决方案1】:

是的。当目标变量分布偏斜时,对目标变量应用对数变换是完全可以的。话虽如此,您需要在预测值之上应用反函数以获得实际的预测目标值。

此外,您已经测试过,通过转换可以更好地估计 Rsquare 误差。我假设您在使用指数函数反转日志后计算了 R 方。

有关数据转换的更多详细信息,请参阅wiki link。

请注意,如果您的训练数据包含任何负目标值,则不能直接应用对数转换。您可能必须应用一些其他可以接受负值的函数。

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 2020-09-23
    • 2014-01-27
    • 2020-10-31
    • 2015-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多