R 线性回归

R 线性回归 首页 / R入门教程 / R 线性回归

线性回归用于基于一个或多个输入预测变量x预测结果变量y的值。换句话说,线性回归用于在预测变量和响应变量之间建立线性关系。

在线性回归中,预测变量和响应变量通过方程式关联,其中两个变量的指数均为1。在数学上,当绘制为图形时,线性关系表示一条直线。

有以下用于线性回归的一般数学方程式:

y = ax + b

这里,

  • y是一个响应变量。
  • x是一个预测变量。 a和b是称为系数的常数。

建立回归步骤

一个人的身高已知时对其体重的预测就是回归的一个简单例子。要预测体重,我们需要在一个人的身高和体重之间建立关系。

可以按照以下步骤创建关系:

无涯教程网

  1. 第一步,我们进行了一项收集高度和体重观察值样本的实验。
  2. 之后,我们使用R的lm()函数创建一个关系模型。
  3. 接下来,我们将在模型的帮助下找到系数,并使用该系数创建数学方程。
  4. 我们将获得关系模型的摘要,以了解预测中的平均误差。
  5. 最后,我们使用predict()函数预测新人的体重。

lm()函数的语法如下:

lm(formula,data)

这里,

    formula  -  它是表示x和y之间关系的符号。

    data       -  这是一个我们将在其上应用公式的向量。

创建模型并获取系数

让我们开始执行第二步和第三步,即创建一个关系模型并获取系数。我们将使用lm()函数并传递x和y输入向量,并将结果存储在名为 relationship_model 的变量中。

示例

# 为LM()函数创建输入向量
x <- c(141, 134, 178, 156, 108, 116, 119, 143, 162, 130)  
y <- c(62, 85, 56, 21, 47, 17, 76, 92, 62, 58)  
# 应用LM()函数。
relationship_model<- lm(y~x)  
# 打印系数
print(relationship_model)  

输出:

Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)            x  
   47.50833      0.07276

关系模型信息

我们将使用summary()函数获取关系模型的摘要信息。让我们看一个示例,以了解summary()函数的用法。

示例

#为LM()函数创建输入向量
x <- c(141, 134, 178, 156, 108, 116, 119, 143, 162, 130)  
y <- c(62, 85, 56, 21, 47, 17, 76, 92, 62, 58)  
  
# 应用LM()函数。 
relationship_model<- lm(y~x)  
  
# 打印系数
print(summary(relationship_model))  

输出:

Call:
lm(formula = y ~ x)

Residuals:
    Min      1Q  Median      3Q     Max 
-38.948  -7.390   1.869  15.933  34.087 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept) 47.50833   55.18118   0.861    0.414
x            0.07276    0.39342   0.185    0.858

Residual standard error: 25.96 on 8 degrees of freedom
Multiple R-squared:  0.004257,	Adjusted R-squared:  -0.1202 
F-statistic: 0.0342 on 1 and 8 DF,  p-value: 0.8579

Predict()函数

现在,我们将借助predict()函数来预测新人的体重。预测函数的语法如下:

predict(object, newdata)

    object      -  这是我们已经使用lm()函数创建的公式。

    newdata  -  它是包含预测变量新值的向量。

示例

# 为LM()函数创建输入向量
x <- c(141, 134, 178, 156, 108, 116, 119, 143, 162, 130)  
y <- c(62, 85, 56, 21, 47, 17, 76, 92, 62, 58)  
  
# 应用LM()函数。
relationship_model<- lm(y~x)  
  
# 找到高度170的人的重量。
z <- data.frame(x = 160)  
predict_result<-  predict(relationship_model,z)  
print(predict_result)  

输出:

1 
59.14977 

绘制回归

现在,我们借助plot()函数绘制预测结果。此函数将参数x和y作为输入向量和更多参数。

示例

# 为LM()函数创建输入向量
x <- c(141, 134, 178, 156, 108, 116, 119, 143, 162, 130)  
y <- c(62, 85, 56, 21, 47, 17, 76, 92, 62, 58)  
relationship_model<- lm(y~x)  
#向图表文件提供名称。
png(file = "linear_regression.png")  
# 绘图图表。
plot(y,x,col = "red",main = "Height and Weight Regression",abline(lm(x~y)),cex = 1.3,pch = 16,xlab = "Weight in Kg",ylab = "Height in cm")  
# 保存文件。
dev.off()  

输出:

R Linear Regression

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0打造音视频直播系统 -〔李超〕

浏览器工作原理与实践 -〔李兵〕

视觉笔记入门课 -〔高伟〕

如何看懂一幅画 -〔罗桂霞〕

深度学习推荐系统实战 -〔王喆〕

恋爱必修课 -〔李一帆〕

操作系统实战45讲 -〔彭东〕

大型Android系统重构实战 -〔黄俊彬〕

AI大模型系统实战 -〔Tyler〕

好记忆不如烂笔头。留下您的足迹吧 :)