- R 菜鸟教程
- R - 教程
- R - 概述
- R - 环境设置
- R - 基本语法
- R - 数据类型
- R - 变量
- R - 运算符
- R - 判断语句
- R - Loop (循环)
- R - 函数
- R - 字符串
- R - 矢量
- R - 列表
- R - 矩阵
- R - 数组
- R - 因子
- R - 数据帧
- R - 包(Packages)
- R - 数据重塑
- R 数据接口
- R - CSV 文件
- R - Excel 文件
- R - 二进制文件
- R - XML 文件
- R - JSON 文件
- R - Web 数据
- R - 数据库
- R 图表和图形
- R - 饼图
- R - 条形图
- R - 箱线图
- R - 直方图
- R - 折线图
- R - 散点图
- R 统计示例
- R - 平均值、中位数和众数
- R - 线性回归
- R - 多元回归
- R - Logistic 回归
- 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)
以下是所用参数的描述 -
- 公式是表示响应变量和预测变量之间关系的符号。
- 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
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