【问题标题】:Polynomial regression with multiple independent variables in RR中具有多个自变量的多项式回归
【发布时间】:2017-12-14 06:38:33
【问题描述】:

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

另外请告诉如何在这种情况下使用预测功能?

假设我的数据中的列是

ind1 ind2 ind3 ind4 ind5 dep

【问题讨论】:

  • 如果你问是否可以进行多项式回归,那么答案是肯定的。您可以将lm 用于具有正态分布误差的模型。如果您问它是否相关,那么我们没有足够的信息来帮助您
  • 谢谢,我问的是可能性。
  • 是否有任何简单的方法可以使用lm 实现多项式回归,而无需添加额外的幂 2 和幂 3 等列。
  • 输入一些示例数据,我给你写一个例子
  • 在多元线性回归中,我们使用lm(formula = dep ~ .) 来表明因变量取决于所有其他变量我使用这些列应用多项式回归到 3 次?

标签: r regression polynomials non-linear-regression


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

【讨论】:

  • @ekstroem。谢谢!它非常有用。我想确定是否有更多的 ind 变量(30 个),有没有什么简单的方法可以在不写所有变量的情况下获取所有变量?
  • 如果您想包含数据框中的变量,我相信您可以在模型公式的右侧使用句点 .。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-13
相关资源
最近更新 更多