多元回归( Multiple Regression)
优质
小牛编辑
130浏览
2023-12-01
多元回归是线性回归到两个以上变量之间关系的扩展。 在简单线性关系中,我们有一个预测变量和一个响应变量,但在多元回归中,我们有多个预测变量和一个响应变量。
多元回归的一般数学方程是 -
y = a + b1x1 + b2x2 +...bnxn
以下是所用参数的说明 -
y是响应变量。
a, b1, b2...bn是系数。
x1, x2, ...xn是预测变量。
我们使用R中的lm()函数创建回归模型。模型使用输入数据确定系数的值。 接下来,我们可以使用这些系数预测给定预测变量集的响应变量的值。
lm() Function
此函数创建预测变量和响应变量之间的关系模型。
语法 (Syntax)
多元回归中lm()函数的基本语法是 -
lm(y ~ x1+x2+x3...,data)
以下是所用参数的说明 -
formula是表示响应变量和预测变量之间关系的符号。
data是将应用公式的向量。
例子 (Example)
数据输入 (Input 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
应用公式来预测新值
我们可以使用上面创建的回归方程来预测一组新的位移,马力和重量值时的里程数。
对于disp = 221,hp = 102且wt = 2.91的汽车,预计里程为 -
Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104