R语言开发之多元(多重)回归了解下

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luyaran/article/details/82771854

多元(多重)回归是线性回归扩展到两个以上变量之间的关系。在简单的线性关系中,我们有一个预测因子和一个响应变量,但在多元回归中,可以有多个预测变量和一个响应变量,来看下多元(多重)回归的数学方程:

y = a + b1x1 + b2x2 +...bnxn

参数描述如下:

  • y - 是响应变量。
  • a,b1,b2 … bn - 是系数。
  • x1,x2,… xn - 是预测变量。

我们可以使用R中的lm()函数创建回归模型,该模型使用输入数据确定系数的值。 完事之后,就可以使用这些系数来预测给定的一组预测变量的响应变量的值,或者说是创建预测变量与响应变量之间的关系模型,其中lm()的语法如下:

lm(y ~ x1+x2+x3...,data)

参数描述如下:

  • formula - 即:y ~ x1+x2+x3...是呈现响应变量和预测变量之间关系的符号。
  • data - 是应用公式的向量。

我们使用R环境中可用的数据集mtcars,它比较不同的车型,每加仑里程(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
## 或者 
Y = 37.15+(-0.000937)*x1+(-0.0311)*x2+(-3.8008)*x3

当提供一组新的位移,马力和重量值时,我们可以使用上面创建的回归方程来预测里程,大意就是,对于具有disp = 221hp = 102wt = 2.91的汽车,预计里程预测为:

Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104

好啦,本次记录就到这里了。

如果感觉不错的话,请多多点赞支持哦。。。

猜你喜欢

转载自blog.csdn.net/luyaran/article/details/82771854