R中具有多个自变量的多项式回归
Polynomial regression with multiple independent variables in R
我有一个包含 5 个自变量和 1 个因变量的数据集。我想知道我可以对其应用多项式回归模型吗?如果是,那么当我没有关于它们之间关系的任何先验信息时,请指导我如何将多项式回归模型应用于 R 中的多个自变量。
另外请说说这种情况下如何使用predict函数?
假设我的数据中的列是
ind1 ind2 ind3 ind4 ind5 部门
这里有一些例子可以生成你的多项式。
# 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
可能会给您带来数值问题。
我有一个包含 5 个自变量和 1 个因变量的数据集。我想知道我可以对其应用多项式回归模型吗?如果是,那么当我没有关于它们之间关系的任何先验信息时,请指导我如何将多项式回归模型应用于 R 中的多个自变量。
另外请说说这种情况下如何使用predict函数?
假设我的数据中的列是
ind1 ind2 ind3 ind4 ind5 部门
这里有一些例子可以生成你的多项式。
# 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
可能会给您带来数值问题。