进行多元回归时何时转换预测变量?

机器算法验证 数据转换 多重回归
2022-03-20 03:59:41

我目前正在研究生阶段参加我的第一个应用线性回归课程,并且正在努力解决多元线性回归中的预测变量转换。我使用的文本,Kutner 等人“应用线性统计模型”似乎没有涵盖我遇到的问题。(除了建议有一种用于转换多个预测变量的 Box-Cox 方法)。

当面对一个响应变量和几个预测变量时,每个预测变量都力求满足什么条件?我知道我们最终是在寻找误差方差和正态分布误差的恒定性(至少在我迄今为止所学过的技术中)。我有很多练习回来了,解决方案在哪里,例如y ~ x1 + (1/x2) + log(x3),在哪里一个或多个预测变量被转换。

我理解了简单线性回归下的基本原理,因为很容易查看 y~x1 和相关诊断(残差的 qq 图、残差与 y、残差与 x 等)并测试是否 y~log( x1) 更符合我们的假设。

在存在许多预测变量的情况下,是否有一个好地方可以开始了解何时转换预测变量?

先感谢您。马特

1个回答

我认为您的问题是:您如何检测何时存在使转换合适的条件,而不是逻辑条件什么。通过探索来完成数据分析总是很好的,尤其是图形数据探索。(可以进行各种测试,但这里我将重点关注图形 EDA。)

对于每个变量的单变量分布的初步概览,核密度图优于直方图。使用多个变量,散点图矩阵会很方便。Lowess 在开始时也总是可取的。这将使您快速而直观地了解这些关系是否近似线性。约翰福克斯的汽车套餐有效地结合了这些:

library(car)
scatterplot.matrix(data)

确保将变量作为列。如果您有很多变量,则各个图可能很小。最大化绘图窗口,散点图应该足够大,以挑选出您要单独检查的绘图,然后制作单个绘图。例如,

windows()
plot(density(X[,3]))
rug(x[,3])
windows()
plot(x[,3], y)
lines(lowess(y~X[,3]))

拟合多元回归模型后,您仍应绘制和检查数据,就像使用简单线性回归一样。残差的 QQ 图也是必要的,您可以按照与以前类似的程序,根据预测变量绘制残差散点图矩阵。

windows()
qq.plot(model$residuals)
windows()
scatterplot.matrix(cbind(model$residuals,X))

如果有任何可疑之处,请单独绘制并添加abline(h=0), 作为视觉指南。如果您有交互,您可以创建一个 X[,1]*X[,2] 变量,然后检查残差。同样,您可以制作残差与 X[,3]^2 等的散点图。您喜欢的除残差与 x 之外的其他类型的图也可以类似地完成。请记住,这些都忽略了其他未绘制的 x 维度。如果您的数据是分组的(即来自实验),您可以制作部分图而不是 / 除了边际图。

希望有帮助。