R中具有多个自变量的多项式回归

时间:2017-07-10 13:38:21

标签: r regression polynomials non-linear-regression

我有一个包含5个独立变量和1个因变量的数据集。我想知道我可以将多项式回归模型应用于它。如果是,那么请指导我如何将多项式回归模型应用于R中的多个自变量,而我还没有关于它们之间关系的任何先验信息。

另请告诉我们如何在这种情况下使用预测函数?

假设我的数据中的列是

ind1 ind2 ind3 ind4 ind5 dep

1 个答案:

答案 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可能会给您带来数值问题。