我有房屋的租金价格,分布有点偏差(scipy.stats.skew 为 1.84)。
我在未转换的数据 (1.) 和对数转换的目标变量 (2.) 上运行 XGBRegressor。在 2. 我还对目标变量取幂(引入原始比例)以比较残差图。
- 我在未转换的数据上运行 XGBRegressor 并得到测试 RMSE: 177 和以下残差图以及预测与实际价格。该图显示数据存在异方差性。
- 如果我在对数转换数据上运行 XGBRegressor,我会得到测试 RMSE:180.5(如果我取回指数)和以下残差图以及预测与实际价格的对比(在对数数据上)。
图3
如果我对 2 的对数目标变量和预测进行指数化。我得到以下图表。它们看起来几乎与 1. 中的图相同,并且显示了与异方差性相同的问题。所以,我没有得到任何改善。
我的问题是:
据我所见,对数变换确实解决了偏度,但并没有提高 RMSE(我猜是因为我使用了非线性算法,所以算法不受偏度的影响)。这意味着,我不应该对它进行日志转换,也不应该关注残差图。这是对的吗?
当我使用非线性回归器时,我是否应该为偏度而烦恼,我应该进行对数转换吗?如果不是,但我仍然看到日志数据的指标 (RMSE) 有所改善,我是否可以说:“我记录它是因为它使我的指标有所改善”(这听起来是一个非常薄弱的论点)?这种行为的解释是什么?是因为优化算法的收敛吗?
另外,当我使用非线性回归器时,残差图仍然是一个很好的诊断方法吗?
当我使用线性回归器并且我的数据是倾斜的,但未转换数据的 RMSE 低于对数转换数据时,我应该怎么做,这意味着什么(或为什么会发生)?


