我正在尝试使用回归模型根据几个连续赋值的输入来预测输出值。
我不确定哪种方法适合缩放/转换回归的输入数据。让我们假设它是未标记的数据。
我最天真的方法是多次添加每个输入:
- 输入
- 日志(输入)
- sqrt(输入)
然后让回归模型担心找到每个输入(如果有的话)的哪种风格是重要的。
使用这种方法有什么风险?
我正在尝试使用回归模型根据几个连续赋值的输入来预测输出值。
我不确定哪种方法适合缩放/转换回归的输入数据。让我们假设它是未标记的数据。
我最天真的方法是多次添加每个输入:
然后让回归模型担心找到每个输入(如果有的话)的哪种风格是重要的。
使用这种方法有什么风险?
在所有这三个上构建回归模型的问题在于,您可能会在模型中引入多重共线性。虽然 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 之类的内容应用于您的输出可能会很有用。