R语言 多重回归分析

R语言 多重回归分析

多重回归分析是线性回归的扩展,可以研究两个以上变量之间的关系。在简单线性关系中,我们有一个预测变量和一个响应变量,但在多重回归中,我们有多个预测变量和一个响应变量。

多重回归的一般数学公式为 −

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

以下是使用的参数的说明−

  • y 是响应变量。

  • a, b1, b2…bn 是系数。

  • x1, x2, …xn 是预测变量。

我们使用R中的 lm() 函数创建回归模型。该模型使用输入数据确定系数的值。接下来,我们可以使用这些系数为给定一组预测变量预测响应变量的值。

lm()函数

该函数创建预测变量与响应变量之间的关系模型。

语法

多元回归中 lm() 函数的基本语法为−

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

以下是使用的参数描述−

  • formula 是一个符号,表示响应变量和预测变量之间的关系。

  • 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
or
Y = 37.15+(-0.000937)*x1+(-0.0311)*x2+(-3.8008)*x3

应用方程预测新数值

我们可以使用以上创建的回归方程来预测当提供新的排量、马力和重量数值时的里程数。

对于一辆排量为221,马力为102,重量为2.91的汽车,预测的里程数为-

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程