📜  R 编程中的多项式回归(1)

📅  最后修改于: 2023-12-03 15:19:40.959000             🧑  作者: Mango

R编程中的多项式回归

多项式回归是线性回归的一种扩展,它可以适用于非线性关系的建模。在R编程中,可以使用lm()函数实现多项式回归。

简单线性回归

在介绍多项式回归之前,我们先来回顾一下简单线性回归。

假设我们要研究一个因变量$y$和一个自变量$x$的关系,我们可以用一个一次函数来拟合它们之间的关系:

$$ y = \beta_0 + \beta_1 x + \epsilon $$

其中,$\beta_0$和$\beta_1$是常数,$\epsilon$是误差项。

在R中,可以使用lm()函数来进行简单线性回归的建模。例如,假设我们有以下数据:

x <- c(1, 2, 3, 4, 5)
y <- c(2, 3, 5, 7, 9)

我们可以使用下面的代码进行简单线性回归的建模:

fit <- lm(y ~ x)

此时,参数fit即为我们建立的回归模型。我们可以使用summary()函数来查看模型的摘要信息:

summary(fit)

其中包含了系数的估计值、标准误、t统计量、p值和置信区间等信息。

绘制散点图和回归线

我们可以使用下面的代码绘制$x$和$y$的散点图:

plot(x, y)

接下来,我们可以用下面的代码把回归线绘制到散点图上:

abline(fit)

其中,abline()函数用于绘制一条直线,它的参数为我们建立的回归模型。

多项式回归

多项式回归是线性回归的一种扩展形式,它可以用于建模非线性关系。多项式回归建立的模型形式为:

$$ y = \beta_0 + \beta_1 x + \beta_2 x^2 + \cdots + \beta_p x^p + \epsilon $$

其中,$p$为多项式的次数。我们可以使用poly()函数来生成$x$的多项式项,并使用lm()函数进行拟合。例如,假设我们有以下数据:

x <- c(1, 2, 3, 4, 5)
y <- c(1, 7, 26, 63, 124)

我们可以使用下面的代码进行二次多项式回归的建模:

fit <- lm(y ~ poly(x, 2))

此时,我们可以通过summary()函数查看回归模型的摘要信息,或者使用plot()abline()函数绘制散点图和回归线。

更高次数的多项式回归同理,只需要将poly()函数中的次数参数改变即可。

总结

多项式回归是线性回归的一种扩展形式,可以用于建模非线性关系。在R中,我们可以使用poly()函数生成$x$的多项式项,并使用lm()函数进行拟合。使用summary()函数可以查看回归模型的摘要信息,使用plot()abline()函数可以绘制散点图和回归线。

参考文献:

  • R Core Team (2020). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL https://www.R-project.org/.