一、问题
有两个向量,x和y,其中是成对的观察:(x1, y1), (x2, y2), …, (xn, yn)。你觉得两者间有某种线性关系,想构建两者间的回归模型。
二、解决方案
用lm函数做线性回归,得到系数:
代码
> lm(y ~ x)
Call: lm(formula = y ~ x)
Coefficients:
(Intercept) 17.72
三、讨论
简单的线性回归涉及到两个变量:一个是预测(predictor)变量,通常称为x;另一个是响应(response)变量,通常称为y。回归会用常见的最小二乘算法拟合线性模型:
yi = β0 + β1xi + εi
其中β0和β1是回归系数,εi表示误差。
lm函数可以实现线性回归。主要参数是模型公式,例如y ~ x。公式中波浪号(~)左侧的是响应变量,右侧是预测变量。函数会估计回归系数β0和β1,分别以截距(intercept)和x的系数表示:
代码
Coefficients:
(Intercept) x
17.72 3.25
这个例子中得到的回归等式就是:yi = 17.72 + 3.25xi + εi。
数据经常会放在数据框中,这就需要对数据框中的两列数据做回归。这里,x和y是数据框dfrm中的两列数据:
代码
> dfrm x y
1 0.04781401 5.406651
2 1.9085798