2

在找出可以应用于数据集的目标值(y 列)的许多转换之后,例如 box-cox 转换,我了解到线性回归模型需要使用正态分布的目标值进行训练才能提高效率.(https://stats.stackexchange.com/questions/298/in-linear-regression-when-is-it-appropriate-to-use-the-log-of-an-independent-va

我想知道这是否同样适用于非线性回归算法。目前,我已经看到 kaggle 上的人们通过使用 xgboost 使用对数转换来减轻异方差性,但他们从未提及是否也这样做是为了获得正态分布的目标值。

我试图做一些研究,我在第 11 页的 Andrew Ng 的讲义(http://cs229.stanford.edu/notes/cs229-notes1.pdf)中发现最小二乘成本函数,被许多算法线性使用和非线性,是通过假设误差的正态分布得出的。我相信如果误差应该是正态分布的,那么目标值也应该是正态分布的。如果这是真的,那么所有使用最小二乘成本函数的回归算法应该更好地处理正态分布的目标值。

由于 xgboost 使用最小二乘成本函数进行节点拆分(http://cilvr.cs.nyu.edu/diglib/lsml/lecture03-trees-boosting.pdf - slide 13)那么如果我转换目标,这个算法可能会更好使用 box-cox 变换来训练模型的值,然后在输出上应用逆 box-cox 变换以获得预测值。从理论上讲,这会产生更好的结果吗?

4

2 回答 2

1

我不知道这应该是什么意思:“线性回归模型需要使用正态分布的目标值进行训练才能提高效率。” 以什么方式有效?

线性回归模型是全局模型。它们只是将表面拟合到整体数据。这些操作是矩阵操作,因此“训练”模型的时间仅取决于数据的大小。目标的分布与模型构建性能无关。而且,它也与模型评分性能无关。

因为目标通常不是正态分布的,我当然希望机器学习算法不需要这样的分布来有效地工作。

于 2016-07-22T01:55:13.280 回答
1

你的猜想“我相信如果误差应该是正态分布的,那么目标值也应该是正态分布的。” 是完全错误的。所以你的问题根本没有任何答案,因为它不是一个有效的问题。

根本没有假设目标变量是正常的。

转换目标变量并不意味着错误是正态分布的。事实上,这可能会破坏常态。

于 2016-12-14T14:36:23.330 回答