线性回归的非线性数据转换

时间:2021-02-07 01:44:01

标签: regression linear-regression transformation non-linear-regression data-transform

我是各种非线性数据转换的新手。如果这个问题对专家来说太基本了,我很抱歉。我读到 (https://stattrek.com/regression/linear-transformation.aspx) 有多种类型的转换可用:

Exponential
Logarithmic
Polynomial (Quadratic, cubic etc.)
Inverse
Sine/cosine

我想直观地了解我应该使用哪种转换。我知道如果数据的因变量为零,我们就不能真正使用指数变换。同样,如果自变量中存在零,则对数变换将不起作用。此外,我在某处读到日志变换用于减少异常值的影响。这就是我所知道的。

我希望能够直观地了解在给定分布的情况下我应该使用哪种变换。

例如,这是原始数据的样本转换。由于保密,我不能分享原始数据,所以我在下面用python创建了一个具有代表性的数据集。

import numpy as np

ylist = [1]*6+[2]*12+[3]*18+[4]*15+[5]*11+[6]*6+[7]*3+[8]*2+[9]+[10]+[11]*2+[12]*3
tlist = np.arange(80)

import matplotlib.pyplot as plt

plt.title('Distribution')
plt.hist(ylist, bins=100)
plt.show()

有人可以指导我是否应该使用指数、对数、多项式或逆变换?我知道人们可以对这些转换进行试验,看看哪一种更适合。但是,如果我们有一些功能,则此方法不可扩展。很多时候,我最终会碰壁,觉得自己对于在什么情况下应该使用哪种转换缺乏直观的理解。

因此,我的目标是了解选择一种转换而不是另一种转换的原因和一般准则。我很感激你的想法。有人可以帮我吗?

这是 Python 代码的分布/输出: enter image description here

0 个答案:

没有答案