无法根据提供的数据找到预测 y 的方程

机器算法验证 回归 多重回归 广义线性模型 残差
2022-03-22 14:06:50

我被要求根据为解释变量的方程。我做的第一件事是(天真地)拟合线性回归,我得到以下结果:yx1,x2,x3,x4y=β0+β1x1+β2x2+β3x3+β4x4+ε

yx10.227(0.100)x20.554(0.370)x30.150(0.029)x40.155(0.006)const.6.821(10.123)Observations32R20.962Adjusted R20.957Residual Std. Error2.234(df=27)F Statistic171.713(df=4;27)

整体成绩不错。但是当我根据残差检查拟合值时,我得到了二次关系。

在此处输入图像描述

由于残差不是随机分布的,而且趋势提醒了一些二次函数,这意味着我一开始假设线性的方式实际上并不正确。

在前面的示例中,将更改为解决了问题。然而,在这里,当我尝试类似的方法时,我最终改变了曲率的方向。ylog(y)

在此处输入图像描述

我的问题是,为了找到“正确的”非线性模型,还能做些什么?我是否应该尝试对每个术语进行平方和记录以查看它如何影响模型?或者有更简洁的方法吗?如果找不到可以解决此问题的组合,我该怎么办?


编辑。

我添加了散点图矩阵,以显示每个变量之间的关系。老实说,我很难观察到任何具体的事情。对我来说唯一透明的是之间的正关系。我还发现非常有趣的是之间的关系,但不完全确定它告诉我什么。yx4yx1

在此处输入图像描述

1个回答

重要的是不要过度解释这些图。如果您只关注红线,我认为第一个残差与拟合值图有点误导,部分原因是样本量相当小。

在此处输入图像描述

是的,红线的形状是弯曲的,但是从数据点来看,根本不清楚是否存在非线性。这种类型的模式很容易通过随机变化发生。我们希望条线完全水平,但实际上这永远不会发生。

这是一个非常简单的线性模型模拟图:

set.seed(2)
X <- rnorm(30)
Y <- 10 + X + rnorm(30)

plot(lm(Y~X))

在此处输入图像描述

如您所见,即使从具有线性关系的正态分布中采样,如果我们只关注红线,残差与拟合值的关系图仍然可能呈现非线性。

如果你有理由相信所有x变量与y并且它们之间没有相互依赖关系xs (从相关关系图中可以看出),那么我会坚持使用第一个模型。