为什么重复输入不好?

数据挖掘 回归 特征选择 线性回归 特征提取 特征工程
2021-10-06 01:55:14

我正在尝试使用回归模型根据几个连续赋值的输入来预测输出值。

我不确定哪种方法适合缩放/转换回归的输入数据。让我们假设它是未标记的数据。

我最天真的方法是多次添加每个输入:

  • 输入
  • 日志(输入)
  • sqrt(输入)

然后让回归模型担心找到每个输入(如果有的话)的哪种风格是重要的。

使用这种方法有什么风险?

1个回答

在所有这三个上构建回归模型的问题在于,您可能会在模型中引入多重共线性虽然 log(input) 和 sqrt(input) 不是输入的线性函数,但快速测试(使用 Matlab)表明它们仍然高度相关(取决于范围)

input=rand(1,100);
input_log=log(input);
input_rt=sqrt(input);
corrcoef(input, input_log) %->0.8549
corrcoef(input, input_rt) %->0.9779
corrcoef(input_sq, input_rt) %0>0.9407

多重共线性不会降低模型的预测能力,但会使这些变量的回归系数难以解释,因为数据中的微小调整可能会导致回归模型切换它认为显着的 3 个输入变量中的哪一个。它还给模型增加了不必要的复杂性。如果你想观察效果,​​我会分别用 3 训练模型。

此外,如果当前无法通过线性关系描述数据,则将诸如 sqrt 和 log 之类的内容应用于您的输出可能会很有用。