平滑目标变量

数据挖掘 机器学习 回归 预处理
2022-03-06 21:45:41

我正在训练一个回归模型(使用分位数回归森林),以使用具有不同滞后时间的天气变量来预测作物产量与趋势(残差)的偏差。为了提高我的结果的准确性和可信度,我最近测试了将目标变量替换为它的平滑版本(使用局部加权散点图平滑计算,LOWESS),使用没有滞后时间的特征作为自变量(即,有滞后时间= 0) 试图从测量数据中去除噪声。下图中,叉号代表观测值,红点为异常值,灰线为因变量的平滑版本。

在此处输入图像描述

结果我得到了显着改善,但这种方法似乎有些不对劲。

我一直在研究机器学习中平滑技术的使用,并发现平滑是一种在数据预处理、特征工程和数据挖掘中用于噪声过滤的技术(例如,此处此处;或此处,应用于时间序列预测)。一方面,从目标变量中去除噪声以估计从我试图建模的过程中得出的“真实值”听起来是合乎逻辑的;但是,我了解到预处理适用于特征(解释变量),我不确定平滑目标变量是一个有效的过程。总结一下:

  1. 用平滑版本替换目标变量是否有效?

  2. 如果是,鉴于用于平滑目标变量的自变量先验不可用,我应该如何进行?

    一种。使用平滑的目标变量训练模型并使用原始目标变量对其进行测试;或者

    湾。使用平滑的目标变量训练和测试模型。

任何想法将不胜感激。

1个回答

用平滑版本替换目标变量是否有效?

这听起来不像是一种有效的方法。

我不相信你消除了噪音而不是合法的影响。如果您考虑图表上的任何两个相邻点,则目标变量的差异可能是由许多因素驱动的(图中未显示)。它可能表现为噪音(大跳跃),因为我们没有考虑其他因素。

想象一下,您的目标变量是学生的身高,并且您使用 height ~ age loess 进行平滑处理,因为您观察到身高有一些大幅度的跳跃,例如在 17 到 17.5 岁之间问题是您的学生中有一半来自荷兰(最高的国家在欧洲)。如果您如上所述平滑您的目标,即使您将国籍作为特征包含在内,您也永远无法很好地适应(当然是原始目标)。

换句话说,应用这种平滑,您忽略了所有其他因素的影响,并隐含地假设目标可以建模为单个(在您的情况下不可观察/不可用)因素的平滑函数。

一般来说,消除噪音可能会有所帮助,但我想在实践中很难区分真实效果和噪音。我不会对目标进行预处理,而是控制过度拟合(例如,通过一些正则化或提前停止)并让模型平滑数据。