当原始变量没有解释力时转换变量

机器算法验证 多重回归 数据转换 线性模型
2022-04-10 13:26:27

有时在多元线性回归中,会有一个解释变量对解释力的贡献不大。然后,我们将对该变量执行转换,即取对数,按某个因子对其进行缩放等。突然间,这个变量现在具有解释能力,并被认为适合包含在模型中。

这是一个好习惯吗?即简单地转换一个变量以使其看起来具有解释力?领域经验是否指导变量需要做什么......即在转换后将其排除或包含?

3个回答

这取决于您是纯粹主义者、实用主义者还是数据挖掘者。

纯粹主义者只会尝试一种转换,并且仅基于科学和先前的知识,并且将在收集(或查看)任何数据之前进行选择。这是最安全的方法,但也可以从数据中获得洞察力。

数据挖掘者将尝试每一种可能的转换,直到他们找到一个给他们想要的答案的转换。这可能会产生令人印象深刻的结果,但也会导致过度拟合模型和不可重现的结果。

实用主义者(最大和最有生产力的群体)认识到我们可以从数据中学到一些东西,但也对过度拟合数据持谨慎态度。他们将研究一些经过科学证明的可能变换,或者尝试具有合理平滑约束的样条曲线或其他平滑。他们还将做交叉验证之类的事情,以确保他们的实验没有导致过度拟合,如果有的话,他们会恢复原状。然后,他们还将诚实地说明他们所做的事情(解释在讨论中试验了哪些变换),并在后续研究中寻求验证。

我推荐务实的方法。

这是您所描述的合法做法。事实上,使所有变量都线性化是一种不必要的简化。通常,我们不知道变量之间的真实关系是什么,因此我们对它们进行线性建模。

如果你碰巧知道这些关系,通常是非线性的,那么一定要去做。

这是一个例子,真正的过程是yt=sin(βt)+εt. 首先我用它建模yt=βt+εt,然后使用适当的规格建模。在第一种情况下,系数不显着,在第二种情况下,它很重要。

MATLAB 代码:

rng(0);
x = (1:100)'/100*pi;
% data generating process
y = sin(x) + randn(100,1)/2;

% fit linear x
fit = fitlm(x,y)

% fit sin(x)
fit2 = fitlm(sin(x),y)

plot([y fit.Fitted fit2.Fitted])
legend({'actual' ,'fitted x','fitted sin x'})

输出:

fit = 


Linear regression model:
    y ~ 1 + x1

Estimated Coefficients:
                   Estimate       SE        tStat       pValue  
                   ________    ________    _______    __________

    (Intercept)     0.89621     0.12771     7.0177    2.9539e-10
    x1             -0.12487    0.069885    -1.7868      0.077068


Number of observations: 100, Error degrees of freedom: 98
Root Mean Squared Error: 0.634
R-squared: 0.0315,  Adjusted R-Squared 0.0217
F-statistic vs. constant model: 3.19, p-value = 0.0771

fit2 = 


Linear regression model:
    y ~ 1 + x1

Estimated Coefficients:
                   Estimate      SE       tStat       pValue  
                   ________    _______    ______    __________

    (Intercept)    0.13799     0.13389    1.0306       0.30527
    x1             0.87991     0.18936    4.6468    1.0507e-05


Number of observations: 100, Error degrees of freedom: 98
Root Mean Squared Error: 0.583
R-squared: 0.181,  Adjusted R-Squared 0.172
F-statistic vs. constant model: 21.6, p-value = 1.05e-05

在此处输入图像描述

这绝对是个好习惯!如果您的回答和解释变量之间的真实关系是对数,那么您的模型应该反映这一点。当然,我们永远无法确定真实关系的性质,所以我们会做一些事情,比如绘制数据或以不同的方式(有和没有对数转换)拟合模型并评估拟合。