R语言-线性回归实例(包括所有源码)

2023-11-09

题目描述

目录

一、身高体重

1.身高和体重的散点图(先肉眼观察来判断使用什么模型)

2.画出拟合后的线性函数与散点图背景对比

3.对该模型的分析

4.置信区间分析和假设检验

5.多图像分析

二、不良贷款 

三、污染

1.以二氧化硫排放量(吨)为因变量

2.氮氧化物排放量(吨)为因变量

 ​编辑

3.烟(粉)尘排放量(吨)


一、身高体重

1.身高和体重的散点图(先肉眼观察来判断使用什么模型)

我们可以看到体重和身高大致还是呈现线性关系,尤其是在两端时候。但是由于我们的数据是男女混合,可能男生女生对于体重有不同的追求,进而导致数据拟合中间端看起来不是太线性。

 

# library
library(ggplot2)
 
# The iris dataset is provided natively by R
#head(iris)
data <- data.frame(
  体重=c(63,71,80,68,56,63,65,70,63,55,80,70,70,60,55,47,55,47,68.5,55,75,65,65,66,56,60) ,  
  身高=c(180,178,181,172,178,170,170,190,179,170,185,178,170,179,164,162,170,168,186,175,178,178,178,181,167,180)
)
 
# basic scatterplot
ggplot(data, aes(x=体重, y=身高)) + 

根据散点图,我们使用一元线性回归

2.画出拟合后的线性函数与散点图背景对比

我们观察图像,发现该直线还是较为拟合,但是也有一些偏离度较大的点 

library(gcookbook)                   #引用gcookbook数据集
heightweight<- data.frame(
  体重=c(63,71,80,68,56,63,65,70,63,55,80,70,70,60,55,47,55,47,68.5,55,75,65,65,66,56,60) ,  
  身高=c(180,178,181,172,178,170,170,190,179,170,185,178,170,179,164,162,170,168,186,175,178,178,178,181,167,180)
)                 #heightweight为下面分析所用数据
 
summary(heightweight)                #查看数据基本内容
 
model <- lm(身高 ~ 体重,data = heightweight)     #建立回归模型                                      #直接查看回归系数
summary(model)                                 #查看回归模型参数
 
plot(身高 ~ 体重,data = heightweight,xlab="体重",ylab = "身高")
abline(model,lwd=3,col="darkorange")

3.对该模型的分析

参数总体分析

系数参数,可知两参数分别为142.8399344和0.5175382 

残差分析

 估计误差项标准差

拟合优度分析

  

我们发现R为0.4288243,其拟合的效果不是很好

4.置信区间分析和假设检验

以0.05为置信度

 假设检验

 F检验

5.多图像分析

这就是残差与真实值之间的关系画图。在理想线性模型中有五大假设,其中之一便是残差应该是一个正态分布,与估计值无关(近乎是一条直线)。

 Normal QQ-plot用来检测其残差是否是正态分布的。根据图可以判断残差基本为正态分布

 

这个图是用来检查等方差假设的。可以看到这个直线基本水平,可以认为反差不变 

Leverage就是杠杆的意思。这种图的意义在于检查数据分析项目中是否有特别极端的点。

在这里我们引入了一个非常重要的指标:Cook距离。我们在线性模型里用Cook距离分析一个点是否非常“influential。”一般来说距离大于0.5的点就需要引起注意了。

我们可以看到极端的点有很多

二、不良贷款 

library(readxl)
 
datas = read_excel("D:/浏览器下载路径/loan.xls")
model = lm(不良贷款~各项贷款余额+本年累计应收贷    +贷款项目个数 +本年固定资产投资额,data=datas)
m=summary(model)
 
plot(model)
#拟合系数
coef(model)
#估计标准误
m$sigma
#残差
m$residuals
#拟合优度
m$r.squared
#置信区间
confint(model,level=0.95)
#假设检验
m$coefficients
#F检验
m$fstatistic
#杠杆值
hatvalues(model)
hatvalues(model)>2*mean(hatvalues(model))

 

三、污染

library(readxl)
 
datas = read_excel("D:/浏览器下载路径/pollution.xlsx")
datas = na.omit(datas)
 
model = lm(SO2 ~    cabon+  ethene+ cement+ glass+  pigiron+    crudesteel+    steel+  capacity+   coal
,data=datas)
m=summary(model)
 
 
#拟合系数
coef(model)
#估计标准误
m$sigma
#残差
m$residuals
#拟合优度
m$r.squared
#置信区间
confint(model,level=0.95)
#假设检验
m$coefficients
#F检验
m$fstatistic
#杠杆值
hatvalues(model)
hatvalues(model)>2*mean(hatvalues(model))

 先做出相关系数的矩阵,我们发现三种排放量之间高度相关,乙烯产量与大部分不相关

1.以二氧化硫排放量(吨)为因变量

2.氮氧化物排放量(吨)为因变量

 

3.烟(粉)尘排放量(吨)

简单预测

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R语言-线性回归实例(包括所有源码) 的相关文章

随机推荐

  • USDT信用卡和转账入账接口

    class Usdtpay public function index data this gt request gt param uid data uid token data token type data type changeid
  • 经验模态分解(EMD)

    目录 1 背景 2 时间序列平稳性 3 EMD 方法 4 EMD 过程 5 EMD 方法的缺陷 6 Python 1 背景 实际工程测量中由于测量系统受外界环境影响经常在测量信号中产生趋势项 趋势项是指信号中周期大于采样长度的频率成分 通常
  • Unity内存与资源管理

    内存管理是程序开发的核心问题 而资源的使用又与内存息息相关 因此本章想要梳理整个开发流程中Unity对于内存与资源的管理方式 一 内存基础 1 1 基础概念 内存是暂时存放CPU中的运算数据 与硬盘等外部存储器交换的数据 在操作系统中 内存
  • R语言产生随机数

    R语言中有4个产生随机数的函数 dunif 指定随机数密度 punif 指定随机数的分布类型 qunif 指定quantile function runif 产生随机分布的散点 如果需要指定随机数的类型 可用以下几个函数 round 四舍五
  • kubernetes deploy standalone mysql demo

    文章目录 deployment mysql standalone statefulset mysql standalone helm install mysql standalone deployment mysql standalone
  • mac连接linux报错Unable to negotiate with port 22: no matching host key type found. Their offer: ssh-rsa,

    mac 使用ssh连接linux服务器报错 Unable to negotiate with 10 254 8 211 port 22 no matching host key type found Their offer ssh rsa
  • 软件测试怎么去介绍一个项目的测试流程?

    1 自我介绍 以XXX简历来举例 参照下面的案例 编写你的自我介绍 框架就是 我是谁 我做过什么 我能做什么 我来的目的是什么 面试官您好 我叫 毕业之后进入河北东软软件有限公司从事软件测试方面的工作 一开始从底层做起 在工作中逐渐接触和学
  • shell脚本启动jar包示例

    这里主要为shell脚本启动部署在服务器中jar包 bin bash 这里可替换为你自己的执行程序 其他代码无需更改 APP NAME demo jar 使用说明 用来提示输入参数 usage echo Usage sh demo sh s
  • 数据结构和算法(1)-----稀疏数组

    一 实际需求 编写的五子棋程序中 有存盘退出和继续上盘的功能 分析问题 因为该二维数组的很多值是默认值0 因此记录了很多没有意思的数据 如何在计算机中高效的存储这样的二维数组是一个需要考虑的问题 二 基本介绍 当一个数组中大部分元素为0 或
  • CTF.show:web6

    登陆窗 先想到sql注入 抓包测试发现失败 利用 代替空格进行绕过 username admin or 1 1 password 123456 利用联合查询找到回显位置 username admin or 1 1 union select
  • IDispose

    需要为本类提供DISPOSE函数的情况 1 从IDispose继承 2 有成员对象实现了IDispose 3 本类有包装本机资源 需要在回收对象堆内存前进行释放 Dispose函数并不会将托管对象从托管堆删除 只会回收内部的本机资源
  • 万向锁的理解

    万向锁 万向锁这个概念其实还是不大好理解的 看了很多的博客 虽然看起来他们讲的很有道理 可还是想不通 希望我这篇文章能讲清楚 万向锁产生的根本原因是绕三个轴的旋转不是同时进行的 想象一下我们旋转矩阵的推导是不是绕三个轴的旋转矩阵乘起来得到的
  • 测试用例设计白皮书--测试用例设计综合策略

    测试用例设计白皮书 测试用例设计综合策略 Author Vince 来源 http blog csdn net vincetest 1 Myers提出了使用各种测试方法的综合策略 1 在任何情况下都必须使用边界值分析方法 经验表明用这种方法
  • 微信小程序-SOA架构(17年1月)

    微信小程序 顾名思义 它有两个方面的含义 重点在小 也就是不用安装就能使用的意思 另一个重点 它是应用程序 它和公众号绑定在一起使用 从用户角度去看 它是各种APP的替代品 有了它以后 不再需要安装APP 作为IT人员 更多的是从工程思维的
  • Snort搭建以及规则编写

    目录 Snort IDS Snort搭建 安装web服务 方便设置sonrt后期访问 Mysql安装 PHP安装 安装 Snort Snort配置 创建snort专用的用户和组 配置目录 配置规则 修改配置文件 规则编写 Snort IDS
  • QGIS二次开发02:交互动作实现

    地图交互动作就是通过鼠标操作与地图间的互动 动作包括按下 press 按键弹起 release 鼠标移动 move 双击等等 QGIS实现地图的交互主要是通过继承QgsMapTool这个类实现 目前集成了QgsMapToolZoom 拉框缩
  • 数据结构---堆的构建和堆排序(向下、向上调整算法)

    一 建堆 1 堆的概念及性质 如果有一个关键码的集合 K k0 k1 k2 kn 1 把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中 并满足 Ki lt K2 i 1 且 Ki lt K2 i 2 Ki gt K2 i 1 且
  • 七大排序知识点

    目录 1 稳定性 2 冒泡排序 3 插入排序 3 1 折半插入排序 4 希尔排序 5 选择排序 6 堆排序 7 快速排序 挖坑法 8 归并排序 9 海量数据的排序问题 1 稳定性 两个相等的数据 如果经过排序后 排序算法能保证其相对位置不发
  • JSON与MODEL互转

    HYBJSONModel h Json2ModelDemo Created by huangyibiao on 14 9 15 Copyright c 2014年 Home All rights reserved import
  • R语言-线性回归实例(包括所有源码)

    题目描述 目录 一 身高体重 1 身高和体重的散点图 先肉眼观察来判断使用什么模型 2 画出拟合后的线性函数与散点图背景对比 3 对该模型的分析 4 置信区间分析和假设检验 5 多图像分析 二 不良贷款 三 污染 1 以二氧化硫排放量 吨