发布于 2016-01-02 09:42:27 | 456 次阅读 | 评论: 0 | 来源: 网络整理
多元回归是线性回归成多于两个变量之间关系的延伸。在简单的线性关系,我们有一个预测值和一个响应变量,但在多元回归我们有一个以上的预测值变量和一个响应变量。
对于多元回归的一般数学方程为:
y= a+b1x1+b2x2+...bnxn
对于多元回归的一般数学方程为:...
我们创建一个使用在 R 中的 lm() 函数的回归模型,模型确定使用输入数据的系数的值。接下来,我们可以预测响应变量的值对于给定的使用这些系数预测变量。
这是 lm()函数的多元回归的基本语法:
lm(y ~ x1+x2+x3...,data)
以下是所使用的参数的说明:
考虑数据集“mtcars”在R环境中可用。它提供了不同车型之间的每加仑(mpg)里程计汽车和一些参数的比较,气缸容量(“disp”),马力(“hp”),汽车(“wt”)的重量。
该模型的目标是建立“mpg”与"disp","hp" 和“wt”作为预测变量的响应变量之间的关系。我们从 mtcars 数据创建用于此目的设置这些变量的子集。
input <- mtcars[,c("mpg","disp","hp","wt")]
print(head(input))
当我们上面的代码执行时,它产生以下结果:
mpg disp hp wt
Mazda RX4 21.0 160 110 2.620
Mazda RX4 Wag 21.0 160 110 2.875
Datsun 710 22.8 108 93 2.320
Hornet 4 Drive 21.4 258 110 3.215
Hornet Sportabout 18.7 360 175 3.440
Valiant 18.1 225 105 3.460
input <- mtcars[,c("mpg","disp","hp","wt")]
# Create the relationship model.
model <- lm(mpg~disp+hp+wt, data=input)
# Show the model.
print(model)
# Get the Intercept and coefficients as vector elements.
cat("# # # # The Coefficient Values # # # ","n")
a <- coef(model)[1]
print(a)
Xdisp <- coef(model)[2]
Xhp <- coef(model)[3]
Xwt <- coef(model)[4]
print(Xdisp)
print(Xhp)
print(Xwt)
当我们上面的代码执行时,它产生以下结果:
Call:
lm(formula = mpg ~ disp + hp + wt, data = input)
Coefficients:
(Intercept) disp hp wt
37.105505 -0.000937 -0.031157 -3.800891
# # # # The Coefficient Values # # #
(Intercept)
37.10551
disp
-0.0009370091
hp
-0.03115655
wt
-3.800891
基于以上和截距系数值,我们创建的数学方程。
Y = a+Xdisp.x1+Xhp.x2+Xwt.x3
or
Y = 37.15+(-0.000937)*x1+(-0.0311)*x2+(-3.8008)*x3
我们可以使用上面创建的回归方程来预测里程,在提供了一组新的排量,马力和重量的值。
对于汽车, disp = 221, hp = 102 及 wt = 2.91 预测的里程是:
Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104