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 - 即:
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 = 221
,hp = 102
和wt = 2.91
的汽车,预计里程预测为 -
Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104
扫描二维码
程序员编程王