banner
大数据平台>大数据技术与应用>R语言多元线性回归

R语言入门秘录21/25:多元线性回归

作者: afenxi来源: afenxi时间:2017-05-01 13:24:25

摘要:数据分析网整理自tbkken的《R语言入门25招》,一招招技能带你走进R语言。

问题

有若干个预测变量(比如u、v和w)和一个响应变量(y)。你觉得这些预测变量和响应变量间有线性关系,要对其做线性回归。

解决方案

用lm函数。在公式的右侧指定多个预测变量,用加号(+)连接:

代码 1 > lm(y ~ u + v + w) 讨论

显然,多元线性回归是简单的线性回归的扩展。可以有多个预测变量,还是用OLS计算多项式的系数。三变量的回归等同于这个线性模型: yi = β0 + β1ui + β2vi + β3wi + εi 在R中,简单线性回归和多元线性回归都是用lm函数。只要在模型公式的右侧增加变量即可。输出中会有拟合的模型的系数:

代码 1

 

2

3

4

5

6

7

8 > lm(y ~ u + v + w)

 

Call:

lm(formula = y ~ u + v + w)

 

Coefficients:

(Intercept)   u    v    w

 1.4222 1.0359  0.9217  0.7261

随着变量数的增加,lm的data参数显得愈发的重要,它可以让你将数据保存在一个数据框中,而无需使用一大堆的变量。假设你的数据保存在数据框中,例如这里的dfrm变量:

代码 1

 

2

3

4

5

6

7

8

9

10

11

12

13

14 > dfrm y u v w

1 6.584519 0.79939065 2.7971413 4.366557

2 6.425215 -2.31338537 2.7836201 4.515084

3 7.830578 1.71736899 2.7570401 3.865557

4 2.757777 1.27652888 0.4191765 2.547935

5 5.794566 0.39643488 2.3785468 3.265971

6 7.314611 1.82247760 1.8291302 4.518522

7 2.533638 -1.34186107 2.3472593 2.570884

8 8.696910 0.75946803 3.4028180 4.442560

9 6.304464 0.92000133 2.0654513 2.835248

10 8.095094 1.02341093 2.6729252 3.868573

.

. 等等

.

将lm的data参数设为dfrm,R就会在这个数据框的各列数据中寻找回归分析所需的各个变量:

代码 1

 

2

3

4

5

6

7

8 > lm(y ~ u + v + w, data=dfrm)

 

Call:

lm(formula = y ~ u + v + w, data = dfrm)

 

Coefficients:

(Intercept)   u   v   w

1.4222 1.0359 0.9217 0.7261 扩展阅读

第20招中介绍了简单的线性回归。

banner
看过还想看
可能还想看
最新文章
Yonghong Z-Suite一站式大数据分析平台 —— 以卓越的数据技术为客户创造价值,实现客户成功。