R语言 回归及其类型
回归分析是一种统计工具,用于估计两个或多个变量之间的关系。总是有一个响应变量和一个或多个预测变量。回归分析被广泛用于对数据进行相应的拟合,并进一步对数据进行预测预报。它帮助企业和组织利用因果/响应变量和独立/预测变量了解其产品在市场上的行为。在这篇文章中,让我们借助实例来了解R编程中的不同类型的回归。
R语言中的回归类型
在R编程中,主要有三种被广泛使用的回归类型。它们是。
- 线性回归
- 多重回归
- Logistic回归
线性回归
线性回归模型是三种回归类型中广泛使用的一种。在线性回归中,两个变量之间的关系被估计,即一个响应变量和一个预测变量。线性回归在图形上产生一条直线。在数学上
其中
- x 表示预测者或自变量
- y 表示反应或因变量
- a 和 b 是系数
R语言 执行
在R编程中, lm() 函数被用来创建线性回归模型。
语法: lm(formula)
参数:
formula: 代表数据必须被拟合的公式 要了解更多的可选参数,请在控制台使用以下命令:help(“lm”)
例子: 在这个例子中,让我们在图上画出线性回归线,用身高来预测体重。
# R program to illustrate
# Linear Regression
# Height vector
x <- c(153, 169, 140, 186, 128,
136, 178, 163, 152, 133)
# Weight vector
y <- c(64, 81, 58, 91, 47, 57,
75, 72, 62, 49)
# Create a linear regression model
model <- lm(y~x)
# Print regression model
print(model)
# Find the weight of a person
# With height 182
df <- data.frame(x = 182)
res <- predict(model, df)
cat("\nPredicted value of a person
with height = 182")
print(res)
# Output to be present as PNG file
png(file = "linearRegGFG.png")
# Plot
plot(x, y, main = "Height vs Weight
Regression model")
abline(lm(y~x))
# Save the file.
dev.off()
输出
Call:
lm(formula = y ~ x)
Coefficients:
(Intercept) x
-39.7137 0.6847
Predicted value of a person with height = 182
1
84.9098
多重回归
多元回归是另一种回归分析技术,是线性回归模型的延伸,因为它使用一个以上的预测变量来建立模型。在数学上。
R语言 的实现
R编程中的多元回归使用相同的 lm() 函数来创建模型。
语法: lm(formula, data)
参数
- formula: 代表数据必须被拟合的公式
- data: 代表需要应用公式的数据帧。
例子: 让我们对R基础包中的空气质量数据集创建一个多元回归模型,并在图上绘制模型。
# R program to illustrate
# Multiple Linear Regression
# Using airquality dataset
input <- airquality[1:50,
c("Ozone", "Wind", "Temp")]
# Create regression model
model <- lm(Ozone~Wind + Temp,
data = input)
# Print the regression model
cat("Regression model:\n")
print(model)
# Output to be present as PNG file
png(file = "multipleRegGFG.png")
# Plot
plot(model)
# Save the file.
dev.off()
输出
Regression model:
Call:
lm(formula = Ozone ~ Wind + Temp, data = input)
Coefficients:
(Intercept) Wind Temp
-58.239 -0.739 1.329
逻辑回归
Logistic回归是另一种广泛使用的回归分析技术,可以预测有范围的数值。此外,它还被用于预测分类数据的值。例如,电子邮件是垃圾邮件还是非垃圾邮件,赢家还是输家,男性还是女性,等等。在数学上。
其中。
- y 代表响应变量
- z 代表自变量或特征的方程式
R语言 实现
在R编程中, glm() 函数被用来创建一个逻辑回归模型。
语法: glm(formula, data, family)
参数
- formula: 代表一个公式,模型必须在此基础上进行拟合
- data: 代表需要应用公式的数据帧
- family: 代表要使用的函数类型。”二项式 “用于逻辑回归
例子
# R program to illustrate
# Logistic Regression
# Using mtcars dataset
# To create the logistic model
model <- glm(formula = vs ~ wt,
family = binomial,
data = mtcars)
# Creating a range of wt values
x <- seq(min(mtcarswt),
max(mtcarswt),
0.01)
# Predict using weight
y <- predict(model, list(wt = x),
type = "response")
# Print model
print(model)
# Output to be present as PNG file
png(file = "LogRegGFG.png")
# Plot
plot(mtcarswt, mtcarsvs, pch = 16,
xlab = "Weight", ylab = "VS")
lines(x, y)
# Saving the file
dev.off()
输出
Call: glm(formula = vs ~ wt, family = binomial, data = mtcars)
Coefficients:
(Intercept) wt
5.715 -1.911
Degrees of Freedom: 31 Total (i.e. Null); 30 Residual
Null Deviance: 43.86
Residual Deviance: 31.37 AIC: 35.37