我有一个包含5个独立变量和1个因变量的数据集。我想知道我可以将多项式回归模型应用于它。如果是,那么请指导我如何将多项式回归模型应用于R中的多个自变量,而我还没有关于它们之间关系的任何先验信息。
另请告诉我们如何在这种情况下使用预测函数?
假设我的数据中的列是
ind1 ind2 ind3 ind4 ind5 dep
答案 0 :(得分:1)
这里有一些会生成多项式的例子。
# Simulate some data
ind1 <- rnorm(100)
ind2 <- rnorm(100)
ind3 <- rnorm(100)
ind4 <- rnorm(100)
ind5 <- rnorm(100)
dep <- rnorm(100, mean=ind1)
可以使用I
函数手动定义多项式。例如,ind1
的3次多项式将是
lm(dep ~ ind1 + I(ind1^2) + I(ind1^3))
您也可以使用poly
函数为您生成多项式,例如,
lm(dep ~ poly(ind1, degree=3, raw=TRUE))
需要参数raw=TRUE
来获得原始多项式而不是正交多项式。它不会影响预测或拟合,但确实可以确保参数估计值具有可比性。
因此,您可以使用
来拟合所需的模型lm(dep ~ poly(ind1, degree=3, raw=TRUE) +
poly(ind2, degree=3, raw=TRUE) +
poly(ind3, degree=3, raw=TRUE) +
poly(ind4, degree=3, raw=TRUE) +
poly(ind5, degree=3, raw=TRUE))
请注意,可能需要扩展预测变量。如果您测量的结果值很大,那么ind^3
可能会给您带来数值问题。