R语言红酒模型实战

R语言数据分析报告

使用软件:R studio
一、对数据的基本分析
在这一次的数据分析报告我选取的是对红酒质量的一个数据分析。我从kaggle上下载了一个1599×12的数据集,其中对于红酒质量影响因素一共有11个因素,分别是:fixed.acidity volatile.acidity Citric.acid Residual.sugar chlorides free.sulfur.dioxide total.sulfur.dioxide density pH sulphates alcohol。接下来开始对该数据集进行分析。
我准备使用多元线性回归模型来对这个数据集建模,得到有关质量的一个回归模型。
首先先装载所需要用到的逻辑包:

R语言红酒模型实战
setwd是设置一个工作路径,方便读取,读取后的数据集如下图所示:
R语言红酒模型实战
R语言红酒模型实战
R语言红酒模型实战
从该图可以看出,各列都有着不少的异常点,所以在后面进行回归模型的拟合时,需要对异常点进行一个筛选与清除。
二、模型的建立与分析
2.1 接下来开始建立回归模型,在这里选用了多元线性回归模型来对数据集进行分析,而选用多元线性回归的原因是因为其用两个或多个量化的解释变量预测一个量化的响应变量,根据前面对红酒数据集的一个观察,发现符合该要求。并且因为红酒质量不属于类别型或计数型的因变量,而是一个连续型变量,并且所有自变量都是连续型变量,所以选择使用多元线性回归模型。但仍然无法确定这里使用多元线性回归模型是否是合适的,所以在2.2当中我们将要对其是否符合多元线性回归模型进行验证。
R语言红酒模型实战
2.2 这是建立后回归模型中各个变量的回归系数,从中可以看出,有六个因素与质量呈负相关,五个因素与质量呈正相关,可以发现,volatile、citric、density、sulphates、alcohol对质量的影响较大,接下来绘制成分残差图,观察各自变量与因变量是否呈非线性关系。
R语言红酒模型实战
R语言红酒模型实战
R语言红酒模型实战
R语言红酒模型实战
R语言红酒模型实战
可以看出,除了653、833这两个点,其他店都离直线很近,表明正态性假设符合的很好。
2.7 而线性假设已经在前面检验过了,故这里不再进行检验。
2.8 接下来运用ncvTest函数检验同方差性。
R语言红酒模型实战
R语言红酒模型实战
通过AIC值及p的对比,发现应该删去这两个因素。
2.10 接下来使用逐步回归法,得出一个更好的模型。
R语言红酒模型实战
R语言红酒模型实战
R语言红酒模型实战
可以看出该模型的回归效果较为理想,基本符合了线性假设,同方差性,残差正态性(除了650、829、1273这三个点)。
2.13 对新构建的模型再次运用summary函数,可以得到一个新的计算公式:
R语言红酒模型实战
Quality=4.43-1.01volatile-2.017chlorides+0.005free-0.0035total-0.48pH+0.88sulphates+0.29alcohol。
对计算公式进行代入数值计算,发现结果基本吻合。
3. 结论
结论:在对红酒质量的数据分析中,一共有11个变量,在经过筛选之后,得出volatile.acidity+chlorides + free.sulfur.dioxide + total.sulfur.dioxide + pH + sulphates + alcohol这七个因素才是影响红酒质量的因素,并且可以根据构建的回归模型,得到一个和红酒质量有关的计算公式:Quality=4.43-1.01
volatile-2.017chlorides+0.005free-0.0035total-0.48pH+0.88sulphates+0.29alcohol。
附录一:代码整合:
library(plyr)
library(car)
library(MASS)

setwd(“D:作业r语言数据处理”)
file View(file)
summary(file)
par(mfrow=c(3,4))
boxplot(t1 f i x e d . a c i d i t y , m a i n = " f i x e d . a c i d i t y " ) b o x p l o t ( t 1 fixed.acidity,main="fixed.acidity") boxplot(t1 fixed.acidity,main=fixed.acidity)boxplot(t1volatile.acidity,main=“volatile.acidity”)
boxplot(t1 c i t r i c . a c i d , m a i n = " c i t r i c . a c i d " ) b o x p l o t ( t 1 citric.acid,main="citric.acid") boxplot(t1 citric.acid,main=citric.acid)boxplot(t1residual.sugar,main=“residual.sugar”)
boxplot(t1 c h l o r i d e s , m a i n = " c h l o r i d e s " ) b o x p l o t ( t 1 chlorides,main="chlorides") boxplot(t1 chlorides,main=chlorides)boxplot(t1free.sulfur.dioxide,main=“free.sulfur.dioxide”)
boxplot(t1 t o t a l . s u l f u r . d i o x i d e , m a i n = " t o t a l . s u l f u r . d i o x i d e " ) b o x p l o t ( t 1 total.sulfur.dioxide,main="total.sulfur.dioxide") boxplot(t1 total.sulfur.dioxide,main=total.sulfur.dioxide)boxplot(t1density,main=“density”)
boxplot(t1 p H , m a i n = " p H " ) b o x p l o t ( t 1 pH,main="pH") boxplot(t1 pH,main=pH)boxplot(t1sulphates,main=“sulphates”)
boxplot(t1 a l c o h o l , m a i n = " a l c o h o l " ) n e w d a t a < ? f i l e [ o r d e r ( f i l e alcohol,main="alcohol") newdata<-file[order(file alcohol,main=alcohol)newdata?file[order(filequality),]
quality summary(quality)
crPlot(quality)
outlierTest(quality)
stepAIC(quality, direction=“backward”)
anova(test1,quality)
AIC(quality,test1)
confint(quality)
state t2 coef(t2)
test anova(test,quality)

来源:阿根廷大蜥蜴

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月15日
下一篇 2019年5月15日

相关推荐