基于R语言实现线性回归模型及测试应用

基于R语言实现线性回归模型及测试应用

mpg=B0+B1*dart+E

调用R语言函数

r 复制代码
>data(mtcars)
>head(mtcars)
> mod <- lm(formula = mpg ~ drat, data = mtcars)
> summary(mod)
> # 画出拟合的线
>abline(mod, col = "blue")
>points(mtcars$drat, mtcars$mpg) 

显示效果图:

作为示例,我们使用线性回归模型拟合汽车燃油消耗量(miles per gallon, mpg)和后轴数比(Rear axle ratio, dart)之间的关系。我们将构建的模型形式为:

mpg=B0+B1*dart+E

r 复制代码
#模型形式为
mpg字段=B0+B1*dart+E

#我们拟合的模型为:
mpg= -7.525 + 7.678*drat+E     (   E~Normal(0,4.485^2)   )

R语言中,拟合线性回国模型只需要使用lm()函数指定formula和data。formula参数的完整形式应该为y ~ x1 + x2 + ... + 1,

其中x1,x2等表示自变量;1表示截距,可以省略不写。拟合以后,我们使用summary()函数显示拟合的结果。

我们使用R软件自带的mtcars数据集为示例。该数据集来自于1974年美国杂志《Motor Trend》,它包含了32辆汽车的燃油消耗量与10个描述汽车设计和性能的参数数据。我们使用data()命令即可导入该数据集到计算机内存:

r 复制代码
#加载cars数据
> data(mtcars)

#显示前6行
> head(mtcars)
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
#绘制二维平面点图
>plot(mtcars$drat,mtcars$mpg,xlab="Rear axle ratio",ylab="Miles per gallon")

> mod <- lm(formula = mpg ~ drat, data = mtcars)
> summary(mod)

Call:
lm(formula = mpg ~ drat, data = mtcars)

Residuals:
    Min      1Q  Median      3Q     Max 
-9.0775 -2.6803 -0.2095  2.2976  9.0225 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   -7.525      5.477  -1.374     0.18    
drat           7.678      1.507   5.096 1.78e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 4.485 on 30 degrees of freedom
Multiple R-squared:  0.464,	Adjusted R-squared:  0.4461 
F-statistic: 25.97 on 1 and 30 DF,  p-value: 1.776e-05

> abline(mod, col = "blue")
> points(mtcars$drat, mtcars$mpg) 

这里我们暂时忽略其他的输出结果,仅关注Coefficients部分展示的内容以及模型的标准误差rse(Residual standard error)。可以看到,模型估计出参数:

Estimate=估计

Std. Error=标准差

rse=Residual standard error= 4.485

r 复制代码
         估计          标准差
B0      -7.525         5.477
B1      7.678          1.507
Rse     4.485

可以计算得到线性回归模型公式

mpg字段与drat字段的线性回归模型公式如下所示:

mpg= -7.525 + 7.678*drat+E ( E~Normal(0,4.485^2) )

r 复制代码
# 画出拟合的线
abline(mod, col = "blue")
# 画出数据点
points(mtcars$drat, mtcars$mpg) 

本blog地址:https://blog.csdn.net/hsg77

相关推荐
geovindu几秒前
java: Backtracking Algorithm
java·开发语言·windows·后端·算法·回溯算法
Scott9999HH8 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
码智社9 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海10 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖10 小时前
JDK 26 新特性详解
java·开发语言
马优晨11 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
人邮异步社区13 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大13 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai14 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
এ慕ོ冬℘゜14 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript