题目描述
文章图片
目录
一、身高体重
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 = https://www.it610.com/article/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=https://www.it610.com/article/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))
【R语言应用|R语言-线性回归实例(包括所有源码)】
文章图片
文章图片
文章图片
三、污染
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=https://www.it610.com/article/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.烟(粉)尘排放量(吨)
文章图片
文章图片
简单预测
文章图片
推荐阅读
- R语言学习笔记|R语言滞后差分diff()函数
- Python量化|行业轮动(股票)——Python量化
- java|Java 内存泄漏的排查
- java|40道Java基础常见面试题及详细答案
- 框架|IV XXSC-10
- python|大学毕业第一年失恋,无暇找工作,送外卖的心酸,我哭了整整一个夜晚
- SpringBoot|SpringBoot临时属性设置
- 生活感悟|现在的国产深度deepin操作系统不赖,推荐试用
- Python|19行Python代码让你拥有属于自己的智能聊天机器人