1. 研究背景
葡萄酒,即以葡萄为原材料经多种微生物发酵酿造而成的一款果酒 [1] ,葡萄酒中含有大量对调节人体健康有益的营养成分,适量引用葡萄酒对调节人体新陈代谢以及促进血液循环具有良好的作用 [2] 。近年来,随着民族、文化自信等因素助力国产品牌崛起,中国葡萄酒品质与世界接轨,屡次斩获国际性大奖,越来越多的消费者和经销商关注并选择国产葡萄酒。国产葡萄酒收割存量市场持续加速,“国产”替代“进口”的趋势明显。同时,伴随着进口葡萄酒的持续下滑,国产葡萄酒的替代效应越发明显。预计2023年,我国葡萄酒行业国产替代的速度将进一步加快。中国葡萄酒未来市场潜力大。一方面,中国葡萄酒市场消费呈年轻化趋势,消费能力快速提升,葡萄酒文化进一步普及,随着国民收入的增加,生活水平的提高,中国葡萄酒市场潜力巨大。另一方面,国家陆续出台了相关政策,鼓励发展葡萄酒行业,尤其是鼓励葡萄酒国产化,利好葡萄酒行业发展,预计中国葡萄酒行业市场规模也将稳步增长。目前国际上有二十多套评分体系,如美国葡萄酒协会(AWS)评分表、美国戴维斯(Davis)评分表、意大利评分表、OIV评分表、法国酿酒师协会评分表等等。各个国家的饮食习惯和口味喜好不一,除了人工品尝的方式,葡萄酒的各项理化数据也应该是衡量质量的重要标准,因此一套科学合理的葡萄酒质量评估方法对于当前市场的重要性不言而喻。
2. 研究现状
对葡萄酒的评分,国内主要还是依靠品酒师的品尝感受来进行评价,再依靠各种质谱仪器来检测酒中各种化学成分含量来对葡萄酒质量进行综合评定。除此之外,部分质检部门也提出一套根据葡萄酒的特征指标,通过传统数理统计分析理论来进行更为科学的评判标准。近年来在实际应用中将层次分析法(Analytical Hierarchical Process,简称AHP)应用于产品服务质量评定上,相似的也有不少学者提出应用于葡萄酒质量评估上。层次分析法被认为是将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标)、多方案优化决策的系统方法。此方法在一定程度上可以对葡萄酒产品做出综合的质量评估,也得到了众多专家的一致认可。但层次分析法 [3] 本身也存在局限性,主要表现为:1) 对决策目标的判定非常依赖评判专家的知识水平;2) 层次分析法 [4] 具有很高的主观性,因为它包含的虚拟评估取决于参数排名中的专家经验水平。基于以上原因,对质量评价结果有着较大误差 [5] 。
国外葡萄酒的生产和酿造技术已达到娴熟水平。在酒类鉴别方面,除了运用传统的品酒师品尝的方法外,早已使用现代科学仪器来分析酒类的各项化学成分,比如气相色谱仪、高液压相色谱仪等,以追求更科学更全面的对葡萄酒质量评价 [6] 。上世纪80年代,美国科研人员就提出将PLS应用于分析葡萄酒各项化学成分和含量。国内方面,李志华设计了基于主要理化指标的分析软件来自动分析葡萄酒的质量,提升了葡萄酒产品质量 [7] 。张志然等通过对比不同葡萄酒产品感官评品数据与各类理化因子的关联性,利用因子贡献分析得到影响葡萄酒感官的主要理化因素 [8] ,唐文龙等通过分解葡萄酒的产品质量表达步骤,从目标受众、沟通媒介、沟通内容和沟通方法等方面分析了如何更好地构建葡萄酒产品质量的市场表达体系 [9] ,李记明等将统计学方法应用于葡萄酒质量分析与评价,可以更加清楚地了解葡萄酒成分与感官质量之间的关系 [10] 。也有更多的研究人员对人工神经网络关注越加密切,也有科研人员提出运用神经网络强大的逻辑分类能力用于鉴定葡萄酒分类上。但运用机器学习模型研究白葡萄酒质量评价还比较少,基于此,本文运用机器学习模型对白葡萄酒质量评价体系进行研究分析。
3. 数据来源与指标设计
本文所用的数据来自UCL机器学习数据库,数据集为白葡萄酒的质量特征,一共4898条数据,本文的因变量是白葡萄酒的质量状态,一共有两种可能的状态:优质和非优质。优质用“0”表示,非优质用“1”表示。数据变量说明见表1。

Table 1. Data variable description table
表1. 数据变量说明表
4. 模型简介
4.1. Logistic回归模型
Logistic回归又称定性定量回归,是一种广义的线性回归分析模型,其目标变量使用分类型字段而不是数值型,而自变量
可以是分类变量、连续变量或者两者的混合类型。Logistic回归建立一组方程,把输出值域与输出字段每一类的概率联系起来。一旦生成模型,便可用于估计新的数据的概率。对于每一个记录,计算其从属于每种可能输出类的概率,概率最大的目标类被指定为该记录的预测输出值,类似于朴素贝叶斯分类方法。设目标变量y是0~1型随机变量,
是任意k个变量。
,那么变量y关于变量
的Logistic回归模型是:
(1)
或者:
(2)
有利于一个事件发生的机会比就是事件将要发生的概率与该事件将不发生的概率比:
(3)
设目标变量Y是0~1型随机变量,
是对Y的取值有影响的确定性变量。在
处分别对y进行了n次独立观测,记第i次观测值为
。显然,
是相互独立的伯努利随机变量,其概率分布为:
(4)
于是
的似然函数为:
(5)
根据Logistic模型描述
与
之间的关系如下:
(6)
其中
是待估参数,则:
(7)
使得
达到最大值的
就是
的极大似然估计。
4.2. 随机森林模型
随机森林模型的基分类器为决策树(CART算法形成的决策树),而决策树形成的基本思想为“分而治之”,从上往下进行层层的细分。大致思想可以描述为,首先均匀地选择数据作为模型的训练集,然后对类型制定生成规则,其次根据特征的不同值往下建立分支,有的分支可能到停止,有的分支还可以继续进行细分,直至最后所有分支不可往下分类,此时决策树构建完成。每一个决策树都有根节点(Root nods)与叶节点(Internal nods)构成,其中叶节点又称作内部节点,而每一个结点都由一个父节点以及2个或多个子结点组成。
Breiman (1984)针对分类与回归问题,首先提出了分类树的思想,通过这种算法进行计算时,计算效率大幅度提高。随机森林(Random Forest,简称RF)是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性集合(假定有d个属性)中选择一个最优属性;而在RF中,对基决策树的每个节点,首先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。这里的参数k控制了随机性的引入程度:若令k = d,则基决策树的构建与传统决策树相同;若令k = 1,则是随机选择一个属性用于划分。随机森林是基于bagging框架下的决策树模型。
5. 描述分析
本案例涉及11个解释变量:非挥发性酸、挥发性酸、柠檬酸、甜度、游离二氧化硫、氯化物、硫酸盐、酒精、密度、氢离子浓度。
如图1所示,大多数白葡萄酒的非挥发性酸度在6~8 g/dm3,最小值是3.8,最大值是14.2。葡萄酒中醋酸的含量过高会导致令人不愉快的醋味。挥发性酸度分布偏向左边,大多数白葡萄酒的挥发性酸度低于0.4 g/dm3,我们可以猜测大于0.4 g/dm3含量的葡萄酒质量会比较差。柠檬酸可以增加葡萄酒的“新鲜度”和风味,柠檬酸分布偏向左边,大多数白葡萄酒的柠檬酸低于0.5 g/dm3。甜度低于10 g/L的白葡萄酒占了数据的绝大部分,甜度是发酵停止后剩余的糖量,很少能找到甜度含量低于1 g/L和超过45 g/L的葡萄酒。氯化物分布偏左,大多数白葡萄酒的氯化物含量小于0.1 g/dm3。游离二氧化硫可以防止微生物的生长和葡萄酒的氧化,可以保证葡萄酒不变质。但含量过高有可能会影响酒的口感。游离二氧化硫分布偏左,大多数白葡萄酒的游离二氧化硫含量小于100 mg/dm3。总二氧化硫呈正态分布,大多数总二氧化硫含量分布在100~200 mg/dm3。总二氧化硫是游离和结合形式的SO2的量,在低浓度下,SO2在葡萄酒中几乎检测不到,但在游离SO2浓度超过50 ppm时,SO2在酒中的味道变得明显。SO2浓度过高时会影响葡萄酒的气味。密度分布偏左,大多数白葡萄酒的密度小于1 g/cm3。pH呈正态分布,大多数pH分布在3~3.3。硫酸盐呈正态分布,大多数硫酸盐含量分布在0.4~0.6 g/dm3。酒精分布偏右,大多数白葡萄酒的酒精含量小于13%,白葡萄酒的11个物理和化学属性所有观测值近乎都可以呈正态分布,可能和白葡萄酒的质量存在很强的相关关系。

Figure 2. Box plot of 11 variables and white wine quality
图2. 11个变量与白葡萄酒质量的箱线图
接下来,对葡萄酒是否优质和各个解释变量的相关关系做简单描述。由于是否优质是一个0~1变量,它将整个数据天然地分为两类(优质 = 0一类,非优质 = 1一类),因此可以对每一个解释变量用箱线图做对比分析。如图2所示,我们以酒精对白葡萄酒质量的影响情况来分析其箱线图,具体而言,对优质组(优质 = 0),它的中位数要明显低于非优质组(非优质 = 1)。这说明酒精浓度过高的更容易被评为非优质白葡萄酒,同理对其他的变量也可以进行分析。这种分析结果是否具有统计学上的显著意义,需要后面的正式模型分析验证。
6. 模型建立

Figure 3. White wine quality pie chart
图3. 白葡萄酒质量饼图

Figure 4. Histogram of frequency distribution of high-quality and non high-quality wines
图4. 优质葡萄酒和非优质葡萄酒频数分布直方图
6.1. Logistic回归模型
为了深入挖掘影响白葡萄酒质量是否优质的显著因素,本文将建立0~1回归模型(logistic模型)。针对4898个白葡萄酒数据中的质量进行分类汇总,见图3、图4。从图3和图4可以看出,优质白葡萄酒占了总数的22%,一共1060份,而非优质白葡萄酒占了78%,一共3938份。用70%的数据作为训练集;30%的数据作为测试集。使用前11个变量作为自变量,quality作为因变量建立logistic回归模型,得到结果如表2所示:

Table 2. Logistic regression results
表2. 逻辑回归结果
从结果可以看出,AIC值为2927.4,11个变量中有柠檬酸、总二氧化硫、酒精的系数是不显著的,所以我们考虑利用逐步回归来删除数据中显著性表现不理想的变量。通过对训练集进行逐步回归,得出以下结果:

Table 3. Stepwise regression results
表3. 逐步回归结果
我们由表3可知,逐步回归后,将模型中系数不显著的变量剔除,这时模型所有变量系数的显著性水平明显提升,且AIC值降到了2924.1。用
分别表示非挥发性酸、挥发性酸、甜度、氯化物、游离二氧化硫、密度、氢离子浓度、硫酸盐这8个变量,则Logistic回归模型可以表示为:
(8)
在其他解释变量保持不变的情况下,硫酸盐每增加一个单位,将会使优质葡萄酒发生的机会比减小原来的
倍。
Logistic回归参数的显著性检验的目的是逐个检验模型中的各个解释变量是否与
有显著性关系,用卡方检验来检验回归系数是否显著。
由表4可以看出,经过逻辑回归后出现了free.sulfur.dioxide这个不显著的变量,为了后续研究,我们剔除这一变量。继续进行模型检验,得到如下结果如表5所示:
如结果所示,NULL表示零模型,剩余偏差为:3592.2,接下来非挥发性酸进入模型,产生了19.026的模型偏差,p-value非常小,显著性水平为0.001的情况下,所有系数的P值都小于0.001,拒绝原假设,认为回归系数是显著的。
Hosmer-Lemeshow检验(HL检验)为模型拟合指标,其原理在于判断预测值与真实值之间的gap情况,如果p值大于0.05,则说明通过HL检验,即说明预测值与真实值之间并无非常明显的差异。反之如果p值小于0.05,则说明没有通过HL检验,预测值与真实值之间有着明显的差异,即说明模型拟合度较差。由上述生成结果表6可知,p值大于0.05,说明通过了HL检验。
用bootstrap抽样方法重复1000次抽样对模型做偏引校正,以P值作为判断准则,对全模型的变量进行选择,结果与AIC的选择结果一致。得到如图5所示校正曲线,Apparent是当前的模型,Bias-corrected是通过bootstrap检验偏引得到的模型,Ideal是45˚理想参考线,模型线都很接近参考线,所以模型拟合效果较好。从表7所示混淆矩阵来看,模型预测的准确率达到了79.3%,优质白葡萄酒预测正确96例,非优质白葡萄酒预测正确1070例。灵敏度为92.6%,F1-Score = 0.8759,说明该模型预测效果较好。
在图6所示ROC曲线中,横轴为FPR,纵轴为TPR,理想目标是:TPR = 1,FPR = 0。该图的AUC值为0.793,模型预测效果较好。

Table 8. Ten fold cross validation results
表8. 十折交叉验证结果
从表8结果可以看出,第四组的测试集精确度最大,到达了82.04%,训练集精确度为79.8%。
6.2. 随机森林模型
在训练随机森林模型前,需要寻找最优参数mtry,即指定节点中用于二叉树的最佳变量个数。以及最佳参数ntree,即指定随机森林所包含的最佳决策树数目。从图7中可以看出,当参数mtry为8时,模型误判率最低。从图8中可以看出,在树的数量大于1200的时候就基本稳定了,在保证效能的情况下减少决策树的数量,减少运行时间,因此参数ntree取1200。

Figure 7. Misjudgment rate of different parameter models
图7. 不同参数模型误判率

Figure 8. Misjudgment rate of different parameter models
图8. 不同参数模型误判率
用mtry = 8和ntree = 1200来训练随机森林模型,可以得到如下图9所示结果:
用mtry = 8和ntree = 1200来训练随机森林模型,用测试集进行预测后,得到表9的混淆矩阵,可以看出测试集预测正确率达到82.59075%,相比于Logistic回归模型的预测正确率更高。
为了探究随机森林模型预测准确率,利用十折交叉验证法进行训练,得到如表10所示的结果。从表中可以看出,第六组数据的效果最好,测试集预测精确度达到了90.81633%,训练集预测精确度达到99.93194%。

Table 10. Table of ten fold cross prediction results
表10. 十折交叉预测结果表
从随机森林模型十折交叉验证的结果中,对预测效果最好的第六组的变量重要性进行分析,见图10,可以发现重要性排序从大到小前七个指标分别是酒精、挥发性酸、游离二氧化硫、氢离子浓度、甜度、氯化物、硫酸盐,可以说明这七个指标对白葡萄酒品质预测的影响较大。

Figure 10. Sorting chart of important variables in the sixth group of data
图10. 第六组数据重要变量排序图
7. 结论与展望
本文基于UCL机器学习数据库——白葡萄酒数据,以是否为优质白葡萄酒为因变量,以11个评价白葡萄酒质量的指标作为自变量,包括非挥发性酸、挥发性酸、甜度、氯化物、密度、氢离子浓度、硫酸盐,建立对白葡萄酒是否为优质具有一定预测能力的逻辑回归模型与随机森林模型。Logistic回归模型选出7个显著变量非挥发性酸、挥发性酸、甜度、氯化物、密度、氢离子浓度、硫酸盐,也说明这七个变量对白葡萄酒品质有显著影响,ROC曲线表明了该模型预测效果较好。而随机森林模型中变量重要性排序前七的指标分别是酒精、挥发性酸、游离二氧化硫、氢离子浓度、甜度、氯化物、硫酸盐,同时结合Logistic回归模型的结果可以发现,挥发性酸、氢离子浓度、甜度、氯化物、硫酸盐这五个指标对白葡萄酒品质预测的影响是最显著的,因此商家在生产葡萄酒时,可以在这五个指标上重点把控,生产出的优质葡萄酒的可能性更大。
Logistic回归模型的测试集精确度均值为80.12%,训练集精确度均值为80.15%,再对比随机森林模型,通过十折交叉验证后,测试集精确度均值为88.48%,训练集精确度均值为99.94%,随机森林模型不论是测试集还是训练集都明显优于Logistic回归模型,尤其是测试集预测准确率相比于Logistic回归模型提高了8.36个百分点,明显提升了对葡萄酒特征的预测效果。随机森林模型是一种高准确度的分类器,具有快速简便的优点,可以在决定类别时,评估变量的重要性,对于不平衡的分类资料集来说,可以平衡误差。随机森林模型在酒类行业中,为葡萄酒的评价体系提供了一种快捷、准确且科学合理的方法。
参考文献