- R 教程
- R - 首页
- R - 概述
- R - 环境设置
- R - 基本语法
- R - 数据类型
- R - 变量
- R - 运算符
- R - 决策
- R - 循环
- R - 函数
- R - 字符串
- R - 向量
- R - 列表
- R - 矩阵
- R - 数组
- R - 因子
- R - 数据框
- R - 包
- 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
应用方程预测新值
我们可以使用上面创建的回归方程来预测当提供置换、马力和重量的新值集时的里程。
对于一辆 disp = 221、hp = 102 和 wt = 2.91 的汽车,预测的里程为:
Y = 37.15+(-0.000937)*221+(-0.0311)*102+(-3.8008)*2.91 = 22.7104
广告