欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

R一元线性回归

最编程 2024-08-10 22:25:26
...

@TOC

1 数据预览

当我们拿到一分新数据的时候先预览下数据的情况,这里先以一份收入相关数据简单演示下

cre=read.csv("creditcard_exp.csv")
names(cre)
str(cre)
summary(cre)

2 y值的确定以及偏态数据的处理

s=hist(cre$Income,freq = F)

在这里插入图片描述
我们关注的收入指标比较正常,可以不做处理
如果明显右偏数据可以进行对数处理,左偏数据可以进行开方处理

3 数据整理

观察下数据
View(cre)
在这里插入图片描述
可以看到我们想要的y,并不在第一列,并且数据还有很多缺失值
我们可以删除此数据缺失数据(这里基础教程只是最简单的处理方式),对于缺失值的处理我们后面在讲解

cre=na.omit(cre)
which(colnames(cre)=="Income")

cre=data.frame(cre$Income,cre[,-7])
View(cre)

在这里插入图片描述
再次view数据
发现数据干净多了

4 绘图参数

pch=17,
col="red",
col.axis="green",
col.main="brown",
col.sub="blue",
fg="blue",
cex=1.5,
cex.axis=0.8,
cex.lab=1.2,
cex.main=1.5,
lwd=5
)

绘图参数只要便于数据和模型理解可以凭喜好设置

5 相关分析

correlationanalysis=cor(cre)#相关系数矩阵 correlation coefficient matrix
correlationanalysis=round(correlationanalysis,2)

View(correlationanalysis)

在这里插入图片描述
可以观察到
dist_avg_income与我们的income相关很高,如果只选一个变量的话就选它
对于Acc变量的NA值我们可以观察下

table(cre$Acc)

console
 1 
70

只有一个类型的数据所以相关分析有NA出现

我们还可以图形可视化相关系数

a=which(colnames(cre)=="Acc")
cre=cre[,-a]
corrgram(iris,order=T,lower.panel=panel.shade,upper.panel=panel.pie,text.panel=panel.txt,main="plot")
corrgram(iris, lower.panel=panel.pts, upper.panel=panel.conf,
         diag.panel=panel.density)
corrgram(vote, order=TRUE, upper.panel=panel.cor)

在这里插入图片描述

6 构建模型

a=lm(cre$Income~cre$dist_avg_income)
summary(a)

在这里插入图片描述

plot(a) #对模型结果画图

在这里插入图片描述
观察拟合值和残差,发现在y大时,齐方差性没那么好,结合summary的结果R方0.98

模型结果还可以

*此次采用的是特殊数据,,在下篇文章详细进行数据处理,敬请关注*

上一篇: 递推方程

下一篇: 机器学习之回归