Li Zeng 曾黎

##  [1] "X"                    "fixed.acidity"        "volatile.acidity"    
##  [4] "citric.acid"          "residual.sugar"       "chlorides"           
##  [7] "free.sulfur.dioxide"  "total.sulfur.dioxide" "density"             
## [10] "pH"                   "sulphates"            "alcohol"             
## [13] "quality"

白葡萄酒文件里面共有13个变量,4898 样本记录, 13个变量分别是:

X: ID

fixed.acidity: 固定酸度, 白葡萄酒里面主要是苹果酸

volatile.acidity: 挥发酸, 主要是细菌在发酵过程中产生的乙酸, 有特征性的气味

citric.acid: 柠檬酸, 固定酸度里面的一种

residual.suger: 残糖量,由果糖和葡糖糖组成,葡萄中的天然成分,细菌发酵后大部分变为酒精,余下没有被转化的糖就是残留糖量

chlorides: 氯化物含量 让葡糖酒有咸味

free.sulfur.dioxide: 游离状态的二氧化硫含量

total.sulfur.dioxide: 总二氧化硫含量

density: 密度, 葡萄酒中乙醇的含量越高,密度越小, 但是密度变化不大

sulphates: 细菌在发酵过程中产生的硫酸盐, 一般白葡萄酒的硫酸盐含量高于红葡萄酒,白葡萄酒的味道更加微妙,细腻, 硫酸盐起保护味道和颜色的作用

alcohol: 酒精度

quality: 质量评分

所有参数数据类型都是数字numeric, 仅有quality可以作为categorical data,密度受到酸度,酒精,糖量和SO2含量的影响较大, 后续可以探索密度和这几个测量值之间的关系, 那么密度作为物理指标,间接的反应葡萄酒评分的高低吗? 在非品酒专业人士的印象中,酸甜口味比较受欢迎, 这个酸甜的特性会让评委加分吗? 影响评分的因素到底是什么呢?

首先我们来概括wine这个dataframe里面的数据结构, 了解每个变量的最大最小值,中位数,平均值

##        X        fixed.acidity    volatile.acidity  citric.acid    
##  Min.   :   1   Min.   : 3.800   Min.   :0.0800   Min.   :0.0000  
##  1st Qu.:1225   1st Qu.: 6.300   1st Qu.:0.2100   1st Qu.:0.2700  
##  Median :2450   Median : 6.800   Median :0.2600   Median :0.3200  
##  Mean   :2450   Mean   : 6.855   Mean   :0.2782   Mean   :0.3342  
##  3rd Qu.:3674   3rd Qu.: 7.300   3rd Qu.:0.3200   3rd Qu.:0.3900  
##  Max.   :4898   Max.   :14.200   Max.   :1.1000   Max.   :1.6600  
##  residual.sugar     chlorides       free.sulfur.dioxide
##  Min.   : 0.600   Min.   :0.00900   Min.   :  2.00     
##  1st Qu.: 1.700   1st Qu.:0.03600   1st Qu.: 23.00     
##  Median : 5.200   Median :0.04300   Median : 34.00     
##  Mean   : 6.391   Mean   :0.04577   Mean   : 35.31     
##  3rd Qu.: 9.900   3rd Qu.:0.05000   3rd Qu.: 46.00     
##  Max.   :65.800   Max.   :0.34600   Max.   :289.00     
##  total.sulfur.dioxide    density             pH          sulphates     
##  Min.   :  9.0        Min.   :0.9871   Min.   :2.720   Min.   :0.2200  
##  1st Qu.:108.0        1st Qu.:0.9917   1st Qu.:3.090   1st Qu.:0.4100  
##  Median :134.0        Median :0.9937   Median :3.180   Median :0.4700  
##  Mean   :138.4        Mean   :0.9940   Mean   :3.188   Mean   :0.4898  
##  3rd Qu.:167.0        3rd Qu.:0.9961   3rd Qu.:3.280   3rd Qu.:0.5500  
##  Max.   :440.0        Max.   :1.0390   Max.   :3.820   Max.   :1.0800  
##     alcohol         quality     
##  Min.   : 8.00   Min.   :3.000  
##  1st Qu.: 9.50   1st Qu.:5.000  
##  Median :10.40   Median :6.000  
##  Mean   :10.51   Mean   :5.878  
##  3rd Qu.:11.40   3rd Qu.:6.000  
##  Max.   :14.20   Max.   :9.000

Univariate Plots Section

表示白葡萄酒品质的参数quality,这列的数值分布情况如下, 评分5-8的居多, 4898组数据里仅有5例评为9分, 最低分3分也只有20例:

## 
##    3    4    5    6    7    8    9 
##   20  163 1457 2198  880  175    5

凭我的生活经验, 认为白葡萄酒的味道受以下几种物质的含量影响:residual.sugar, alcohol, fixed.acidity, volatile.acidity, citric.acid, total.sulfur.dioxide 这些物质又决定了白葡萄酒的密度和pH值, 密度和pH如何影响评分的呢? 其二, 在酿酒过程中,为防腐抗氧化而加入的SO2会影响评分吗? 首先我们来看看葡萄酒中各个化学成分的数据分布,是否有outliner, 剔除这些outliner数据后,验证数据处于正态分布的情况下, 我们来探索以上问题是否和预期一致

糖的含量 residual.sugar,最大值是65, 最小值为0. 中位数是5.2, 均值是6.3,我们具体画图来看看数据分布

以上图一展示的是X轴数值涵盖所有剩余糖量的数值时,数据呈现非正态分布, 右边逐渐减小趋势(skewed right) 因为看到图一因上面在大约X轴中间部分已经看不到数据呈现,所以把X轴数值限制在0-30之间,放大图像数据看得更加清晰些. 后续会将残糖量用log10转化后, 观察其呈biomodal双峰分布, 这样数据才能有效做进一步的分析

第二个比较值得关注的参数是酒精含量, alcohol 最大值是14.2, 最小值是8, 均值为10.51, 高于13度的白葡萄酒属于少数, 大多数白葡萄酒的度数在9-11之间

探索葡萄酒发酵过程中原本就存在或是细菌代谢产生的乙酸,苹果酸和柠檬酸的含量. 由图可见,三种显示酸度的数据,基本呈正态分布,大部分酸度值集中在均值附近

在酿造过程中加入的SO2, 因为发酵产生生化反应,葡萄液中的游离SO2(FSO2)和总SO2(TSO2)含量是不同的.具有高TSO2的葡萄酒通常在其酿造期间添加了许多SO2,通常是因为FSO2不断下降。当我们看到葡萄酒中FSO2在TSO2中的比例非常小时,通常表明葡萄酒存在化学和/或微生物不稳定性。TSO2可以作为FSO2的一种“缓冲”。当游离SO2失去时,葡萄酒中的化学平衡可能会发生变化,因此一些结合状态的SO2可能会释放到其自由状态。 葡萄酒里面拥有的TSO2越多,FSO2就越稳定。

相关系数显示总SO2越多, 游离SO2含量也相应升高.

## 
##  Pearson's product-moment correlation
## 
## data:  x and y
## t = 54.645, df = 4896, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5977994 0.6326026
## sample estimates:
##      cor 
## 0.615501

游离SO2在总SO2中的占比与评分没有太大关系, 在不同的评分里面, 我们看到的不同的占比都存在

大部分的样本密度都低于1, 可能是因为含有酒精的缘故

酸碱度pH值的数据分布 如图所示, 呈现标准正态分布, 样本的pH值集中在3.0-3.4之间, 酸碱度是衡量发酵过程顺利的主要指标之一

最后看一下含盐氯化物Chlorides的数据分布 如图所示, 有些outliners, 去掉Top1%的data后, 数据大致呈现正态分布

Univariate Analysis

What is the structure of your dataset?

该数据集包含4868个12个特征的观察结果(固定酸度,挥发酸,柠檬酸,残糖,氯化物,游离二氧化硫,总二氧化硫,密度,pH,硫酸盐,酒精和质量). 这里,11个特征是数值数据类型,反映了葡萄酒的物理和化学特性,而最后一个(质量)是葡萄酒评分, 虽然是数值,我们把对于葡萄酒的评分作为衡量质量的指标, 看做是一个分类变量。

What is/are the main feature(s) of interest in your dataset?

糖量,酒精和柠檬酸单独可以决定评分的高低吗? 这是我们平日品尝葡萄酒的时候, 能够影响我们对于葡萄酒体验的三个主要因素, 那么保鲜剂SO2的含量是否影响评分呢? 在酿造过程中加入的SO2,葡萄酒里面拥有的总SO2越多,FSO2就越稳定。探索FSO2和质量之间的关系,可以了解这个关联性

What other features in the dataset do you think will help support your investigation into your feature(s) of interest?

pH 值可以作为监控酿造环境的指标

Did you create any new variables from existing variables in the dataset?

建立一个新的变量: FSO2与TSO2的比例: so2.rate 用这个数据来计算是否与质量成正相关

Of the features you investigated, were there any unusual distributions? Did you perform any operations on the data to tidy, adjust, or change the form of the data? If so, why did you do this?

根据绘制出来的Histograph, 残糖量未呈现正态分布, 我们用log值转化一下, 并且去掉top1%的数值, 这样均匀分布的数据利于观察与其他变量的关系. 在绘制图像期间, 调整binwidth, 更好地去呈现数据的细节

Bivariate Plots Section

在讨论两个测量数据的相关性的之前,我们先看看相关性数值如何

## 
## CORRELATIONS
## ============
## - correlation type:  pearson 
## - correlations shown only when both variables are numeric
## 
##                           X fixed.acidity volatile.acidity citric.acid
## X                         .        -0.256            0.003      -0.150
## fixed.acidity        -0.256             .           -0.023       0.289
## volatile.acidity      0.003        -0.023                .      -0.149
## citric.acid          -0.150         0.289           -0.149           .
## residual.sugar        0.007         0.089            0.064       0.094
## chlorides            -0.046         0.023            0.071       0.114
## free.sulfur.dioxide  -0.012        -0.049           -0.097       0.094
## total.sulfur.dioxide -0.162         0.091            0.089       0.121
## density              -0.186         0.265            0.027       0.150
## pH                   -0.116        -0.426           -0.032      -0.164
## sulphates             0.010        -0.017           -0.036       0.062
## alcohol               0.214        -0.121            0.068      -0.076
## quality               0.036        -0.114           -0.195      -0.009
## so2.rate              0.125        -0.139           -0.196       0.016
##                      residual.sugar chlorides free.sulfur.dioxide
## X                             0.007    -0.046              -0.012
## fixed.acidity                 0.089     0.023              -0.049
## volatile.acidity              0.064     0.071              -0.097
## citric.acid                   0.094     0.114               0.094
## residual.sugar                    .     0.089               0.299
## chlorides                     0.089         .               0.101
## free.sulfur.dioxide           0.299     0.101                   .
## total.sulfur.dioxide          0.401     0.199               0.616
## density                       0.839     0.257               0.294
## pH                           -0.194    -0.090              -0.001
## sulphates                    -0.027     0.017               0.059
## alcohol                      -0.451    -0.360              -0.250
## quality                      -0.098    -0.210               0.008
## so2.rate                      0.051    -0.033               0.739
##                      total.sulfur.dioxide density     pH sulphates alcohol
## X                                  -0.162  -0.186 -0.116     0.010   0.214
## fixed.acidity                       0.091   0.265 -0.426    -0.017  -0.121
## volatile.acidity                    0.089   0.027 -0.032    -0.036   0.068
## citric.acid                         0.121   0.150 -0.164     0.062  -0.076
## residual.sugar                      0.401   0.839 -0.194    -0.027  -0.451
## chlorides                           0.199   0.257 -0.090     0.017  -0.360
## free.sulfur.dioxide                 0.616   0.294 -0.001     0.059  -0.250
## total.sulfur.dioxide                    .   0.530  0.002     0.135  -0.449
## density                             0.530       . -0.094     0.074  -0.780
## pH                                  0.002  -0.094      .     0.156   0.121
## sulphates                           0.135   0.074  0.156         .  -0.017
## alcohol                            -0.449  -0.780  0.121    -0.017       .
## quality                            -0.175  -0.307  0.099     0.054   0.436
## so2.rate                           -0.013  -0.066  0.001    -0.022   0.064
##                      quality so2.rate
## X                      0.036    0.125
## fixed.acidity         -0.114   -0.139
## volatile.acidity      -0.195   -0.196
## citric.acid           -0.009    0.016
## residual.sugar        -0.098    0.051
## chlorides             -0.210   -0.033
## free.sulfur.dioxide    0.008    0.739
## total.sulfur.dioxide  -0.175   -0.013
## density               -0.307   -0.066
## pH                     0.099    0.001
## sulphates              0.054   -0.022
## alcohol                0.436    0.064
## quality                    .    0.197
## so2.rate               0.197        .

从以上相关系数看, 有探索价值的系数有:

  • 总SO2与密度, 残糖量之间
  • 酒精度与chlorides, 残糖量, 总SO2, 固定酸度fixed.acidity, 他们之间的相关系数均大于0.2
  • 质量Quality与以下因素相关度< 0.2 的有: 挥发酸度 总SO2; > 0.2 的有: 密度,酒精度,氯化物chloride,

密度与残糖量, 酒精量相关性比较容易理解, 糖量高,密度高,酒精的密度比水小, 酒精度高,密度低 pH值与几个酸度的测量值关系也很清晰,酸度高的, pH值偏低, 重点我们来看看密度,酒精度和氯化物与质量评分之间的关系

上图显示总SO2含量越高,密度越大, 两者之间呈现正相关

总SO2含量高的样本,残糖量有偏高的趋势

氯化物和酒精含量之间的相关性非常弱, 不同的酒精度的样本里面, 氯化物含量没有太大变化

酒精度和固定酸度之间的关联也很弱

在酒精度高的样本里面, 残糖量总体偏低, 发酵越完全的样本, 酒精度比较高, 残糖量低

酒精度高的样本里面, 总SO2含量偏低,发酵顺利的样本中,不会再次加入so2来调整发酵反应, 这个验证了SO2在酿造过程中的管理逻辑

Bivariate Analysis

Talk about some of the relationships you observed in this part of the investigation. How did the feature(s) of interest vary with other features in the dataset?

基于生化基础常识, 可以判断一些参数之间的相关性,比如含糖量和酒精度可以影响到密度. 同时想了解所有的化学物质在葡萄酒中和密度的相关性,有没有超出预期的参数之间有关联?在列出相关系数矩阵后,基于计算出来的相关性系数,大致将系数为0.2 以上的, 来做绘图, 看看系数和图是否吻合. 这个探索期间,发现密度, 残糖量与总SO2 之间相关性比较大

Did you observe any interesting relationships between the other features (not the main feature(s) of interest)?

通过相关系数矩阵, 我看到质量Quality与以下因素的相关度都比较大: 密度density, 酒精度alchohol,总SO2含量, 后续探索的重点也放在这个方向上

What was the strongest relationship you found?

相关度最大的是密度和残糖量之间, 系数为0.839

Multivariate Plots Section

如我们所预料的, 含糖量越高的样本, 密度值也高, 评分比较高的样本, 8, 9分的, 样本密度有偏低趋势. 相同含糖量的样本, 密度低的样本评分比较高.

如预期所见, 酒精与葡萄酒的密度呈负相关. 在发酵过程中, 因为糖分慢慢转化为酒精, 糖分减少, 酒精增加, 整体密度降低. 同时酒精度高的样本, 说明发酵过程良好, 样本得到高评分的几率增加. 在高酒精度的散点区域内, 蓝色或者蓝绿色的数据点较多.

高酒精度的样本比如10.5%以上的样本, 残糖量稍稍偏低在9g/ml以下, 高评分的样本在此范围内比较多(蓝色偏多)

总体看来, 总SO2含量偏低, 酒精度较高的样本中, 评分有偏高的趋势

上图显示氯化物含量偏低, 酒精度高的时候, 样本评分趋高

固定酸度在不同酒精度的样本中, 没有很明显的不同, 在不同酸度的样本中,评分也没有明显的变化趋势

Multivariate Analysis

Talk about some of the relationships you observed in this part of the investigation. Were there features that strengthened each other in terms of looking at your feature(s) of interest?

固定酸度, 苹果酸以及柠檬酸以及残糖量对于评分没有正面的影响, 酒精度高的样本,有获得高评分的趋势.

Were there any interesting or surprising interactions between features?

在酒精的作用下, 葡萄酒的味道体现得更加丰满, 残糖量并没有起到加分作用, 这也不难理解为啥品酒人士鄙视葡萄酒里面放汽水的做法, 因为糖量是个减分项, 糖多了其他味道也尝不出来了.


Final Plots and Summary

Plot One

Description One

在葡萄酒酿造过程中产生的乙酸,苹果酸,柠檬酸,消耗的糖, 酒精, 杀菌保鲜使用的SO2, 可以综合体现在物理参数密度上. 大致以酒精度10.5-11为界限, 我们可以观察到低酒精度的样本, 密度比较高, 评分以深红色代表质量为3-4的为主. 在酒精度11以上的样本, 样本密度呈现降低趋势, 以代表7,8,9评分的蓝色和蓝绿色样本数据点为主, 高评分样本集中在密度低, 酒精度高的区域. 酒精与葡萄酒的密度呈负相关. 在发酵过程中, 因为糖分慢慢转化为酒精, 糖分减少, 酒精增加, 整体密度降低. 同时酒精度高的样本, 说明发酵过程良好, 样本得到高评分的几率增加

Plot Two

Description Two

探讨在酿造过程中, 添加的SO2与酒精度的关系如何影响到评分的. 在数据描述图中, 我们可以看到, 随着酒精度的增加, 高评分的样本增加, 总SO2总体降低趋势. 为了保鲜抗氧化加入的SO2浓度需要监控, 当发酵过程顺利的时候, 一定含量的SO2被消耗掉,与游离SO2保持平衡. 发酵不顺利的时候, 需要添加SO2来维持正常的pH值, 防止酿造失败. 总SO2含量比较低的样本, 总体的评分趋高. 这个现象在酒精度高于11%的样本中显示总SO2含量普遍偏低.

Plot Three

Description Three

在之前的数据探索中, 发现残糖量数据呈现Right skewed 状态, 在线性回归分析中, 将数据转化为经过log10函数处理后,更容易发现与酒精度的相关性. 所有评分的样本里, 评分越高的样本, 残糖量有减少的趋势. 我们可以观察到,随着酒精度升高, 残糖量高的样本数量在减少.


Reflection

整个过程通过探索单个数据集了解数据类型,分布,到第二步探索两个样本参数之间的相关性通过直观地看到两两数据之间的关联之后, 第三步加入质量评分关键分类项, 去呈现评分受到哪些因素的影响.这是一个循序渐进的过程, 在每一步的绘图过程中,通过调整绘图参数,调整数据图像, 让图像更加清晰便于讨论.

这个数据探索的过程需要对酿造葡萄酒的过程有个大致了解, 比如样本中的SO2是怎样来的, 对于葡萄酒的密度,pH值, 酒精度和发酵过程会产生怎样的影响, 这样对于数据会有个预判,当绘制出来的图和预判不一致的时候, 有思路去寻找不一致的原因.

从数据探索的过程中,酒精度数的对于评分的影响越来越明显, 它是发酵过程中的终极产物, 发酵顺利, 葡萄中的糖量逐渐减少, 密度降低, 酒精度升高, 影响口感和味道的有机物质融合在酒精中的程度也更好, 不用添加过量的SO2来防止葡萄酒的生化指标失去平衡. 所以总SO2 量也偏低.

所遇到的难点: 在得到相关系数列表的时候, 因为排出的相关系数多,一时无法确定关键聚焦在哪几对数据上进行下一步的探索, 最后查了一些酿造和品酒的基本知识, 结合相关列表的呈现的数据, 比如最大相关系数是0.83, 再在0.5左右的相关系数有几个, 最后目测>0.2的才纳入到下一步的探索流程中来. 由于不了解怎样用图迅速筛选这些系数, 花了时间去了解背景知识, 手动找出可以探索的一对对样本参数.

在哪里有收获: 在绘制多变量图形的时候, 发现按照原有的quality 分类, 出来的图颜色区别不明显, 这一个方面是因为8, 9评分的样本量少, 视觉上quality的表达很模糊, 所有我把quality8, 9合并在一起,把原来的7个级别, 合并分类为4个级别, 这样区分度就好多了.

未来增加内容提高分析深度: 酒精的度数在本轮分析里面可以看到和质量非常相关, 同时酸,糖, so2, 氯化物在酒中的组合也影响着酒的味道和口感, 可以进一步去确定怎样的组合最后能够最大程度上左右评分.

了解数据背后的逻辑对于排查数据相关性非常有帮助, 在绘图的过程中,不断调整参数的练习让我对于R掌握得更加熟练了.

Reference

了解SO2在酿造过程中的作用 https://morewinemaking.com/articles/SO2_management Guide to SO2 Management