基于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

相关推荐
重生之我是数学王子8 分钟前
QT基础 编码问题 定时器 事件 绘图事件 keyPressEvent QT5.12.3环境 C++实现
开发语言·c++·qt
Ai 编码助手10 分钟前
使用php和Xunsearch提升音乐网站的歌曲搜索效果
开发语言·php
学习前端的小z14 分钟前
【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制
开发语言·前端·javascript
神仙别闹22 分钟前
基于C#和Sql Server 2008实现的(WinForm)订单生成系统
开发语言·c#
XINGTECODE23 分钟前
海盗王集成网关和商城服务端功能golang版
开发语言·后端·golang
zwjapple39 分钟前
typescript里面正则的使用
开发语言·javascript·正则表达式
小五Five40 分钟前
TypeScript项目中Axios的封装
开发语言·前端·javascript
前端每日三省42 分钟前
面试题-TS(八):什么是装饰器(decorators)?如何在 TypeScript 中使用它们?
开发语言·前端·javascript
凡人的AI工具箱1 小时前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang
chnming19871 小时前
STL关联式容器之map
开发语言·c++