全国大学生数学建模竞赛题葡萄酒的评价答案.docx
数学试验计算机科学及技术成员:xxx学号:xxxxxxxxxx葡萄酒的评价摘要本文主要探讨的是如何对葡萄酒进展评价的问题。通过对评酒员的评分及酿酒葡萄的理化指标和葡萄酒的理化指标等原始数据进展统计、分析和处理,我们得出了一个较为合理地评价葡萄酒质量优劣的模型。在问题一中,我们采纳T检验法,首先进展正态分布拟合检验,推断出它们听从正态分布。之后,我们通过T检验法推断出了两组评酒员的评价结果具有显著性差异。而对于如何推断哪一组评酒员的评价结果更可信,由于评酒员评分的客观性,我们通过计算评酒员评分均值的置信区间,利用置信区间的长短来推断评分的可信程度。置信区间越窄,说明其越可信。利用Matlab软件求出了第二组评酒员的评分均值的置信区间更窄,所以第二组评酒员的评价结果更可信。在问题二中,我们采纳主成分分析法,把给定的一组相关变量通过线性变换转成另一组不相关的变量,这些新的变量再根据方差依次递减的依次排列。在数学变换中保持变量的总方差不变,使第一变量具有最大的方差。第二变量的方差次大,并且和第一变量不相关。由于变量较多,虽然每个变量都供应了肯定的信息,但其重要性有所不同。依次类推,最终我们将酿酒葡萄分为了四个等级:优质、次优、中等、下等。在问题三中,我们通过多项式曲线拟合的方法,构造一个以葡萄酒的理化指标为自变量,酿酒葡萄的理化指标为因变量的函数,并利用Matlab软件进展曲线拟合,最终得出酿酒葡萄及葡萄酒的理化指标之间的关系为呈线性正相关。在问题四中,我们用无交互作用的双因素试验的方差分析方法,通过对观测、比较、分析试验数据的结果,鉴别出了两个因素在程度发生改变时对试验结果产生显著性影响的大小程度。最终,我们认为能用酿酒葡萄和葡萄酒的理化指标来评价葡萄酒的质量,且酿酒葡萄的理化指标对葡萄酒质量影响相对葡萄酒的理化指标更显著。关键词:T检验法,Matlab,正态分布,主成分分析法,多项式曲线拟合,方差分析一 问题的重述确定葡萄酒质量时一般是通过聘请一批有资质的评酒员进展品评。每个评酒员在对葡萄酒进展品味后对其分类指标打分,然后求和得到其总分,从而确定葡萄酒的质量。酿酒葡萄的好坏及所酿葡萄酒的质量有干脆的关系,葡萄酒和酿酒葡萄检测的理化指标会在肯定程度上反映葡萄酒和葡萄的质量。附件1给出了某一年份一些葡萄酒的评价结果,附件2和附件3分别给出了该年份这些葡萄酒的和酿酒葡萄的成分数据。请尝试建立数学模型探讨以下问题:1. 分析附件1中两组评酒员的评价结果有无显著性差异,哪一组结果更可信?2. 根据酿酒葡萄的理化指标和葡萄酒的质量对这些酿酒葡萄进展分级。3. 分析酿酒葡萄及葡萄酒的理化指标之间的联络。4分析酿酒葡萄和葡萄酒的理化指标对葡萄酒质量的影响,并论证能否用葡萄和葡萄酒的理化指标来评价葡萄酒的质量?附件1:葡萄酒品味评分表含4个表格附件2:葡萄和葡萄酒的理化指标含2个表格附件3:葡萄和葡萄酒的芳香物质含4个表格二 根本假设及符号说明2.1 根本假设1评酒员的评分是客观公正的,不受任何外界因素影响。2用来检验的葡萄都是刚采摘的簇新葡萄,葡萄酒也没有遭遇任何污染。3在检测酿酒葡萄和葡萄酒的理化指标的过程中,忽视由于人为操作不当带来的误差。4由于不是每组数据都对葡萄酒的质量产生很大影响,所以在处理数据过程中,忽视那些影响不是很明显的理化指标。2.2 符号说明 第组评酒员对各品种红葡萄酒的评分均值的期望 第组评酒员对各品种红葡萄酒的评分均值的方差 问题一的假设 第个主成分 第个评酒员对第种酒的评分三 问题的分析针对问题一,如何推断两组评酒员的评价结果有无显著性差异,我们采纳T检验法进展推断。但采纳T检验法的前提是其必需听从正态分布,方差未知且相等。所以我们先对那些数据进展正态分布检验,推断其是否听从正态分布。验证听从正态分布后,我们利用T检验法推断两组评酒员评价结果的显著性差异。对于如何推断哪一组评酒员的评价结果更可信,由于评酒员评分的客观性,我们通过计算评酒员评分均值的置信区间,利用置信区间的长短来推断评分的可信程度。置信区间越窄,说明其越可信。针对问题二中如何根据酿酒葡萄的理化指标和葡萄酒的质量对酿酒葡萄进展分级,我们采纳主成分分析法。因为在实际问题的探讨中,往往会涉及众多有关的变量。但是,变量太多不但会增加计算的困难性,而且也会给合理地分析问题和说明问题带来困难。一般说来,虽然每个变量都供应了肯定的信息,但其重要性有所不同,而在许多状况下,变量间有肯定的相关性,从而使得这些变量所供应的信息在肯定程度上有所重叠。因此人们盼望对这些变量加以“改造,用为数极少的互补相关的新变量来反映原变量所供应的绝大部分信息,通过对新变量的分析到达解决问题的目的。解决这个问题的过程中,我们用Matlab软件实现主成分分析,我们对那些理化指标进展重新整理,求出各个理化指标的之间的相关系数、特征值及特征向量和奉献率等。针对问题三中如何分析酿酒葡萄及葡萄酒的理化指标之间的联络,我们想到了用多项式曲线拟合的方法,根据两者理化指标实测样本,用统计分析的方法,找出一种适当的函数关系从而到达处理酿酒葡萄及葡萄酒之间相关关系的目的。实际的操作过程中,我们首先构造一个关于酿酒葡萄及葡萄酒的理化指标的函数,以葡萄酒的理化指标为自变量,酿酒葡萄的理化指标为因变量,利用Matlab软件进展曲线拟合,得出酿酒葡萄及葡萄酒的理化指标之间的关系。针对问题四中如何分析酿酒葡萄和葡萄酒的理化指标对葡萄酒质量的影响,以及能否用酿酒葡萄和葡萄酒的理化指标来评价葡萄酒的质量,我们采纳无交互作用的双因素试验的方差分析方法。用方差分析,可以将影响葡萄酒的主要因素和次要因素区分开来,还可以分别算出酿酒葡萄的理化指标和葡萄酒的理化指标及葡萄酒质量之间的误差,假如误差在可承受范围之内,即说明可以用酿酒葡萄和葡萄酒的理化指标来评价葡萄酒质量。四 模型的建立及求解4.1 问题一的模型建立及求解 T检验法的模型建立及求解T检验是用T分布理论来推论差异发生的概率,从而比较两个均值的差异是否显著。由于检验红葡萄酒及白葡萄酒的方法和模型一样,这里我们只给出检验红葡萄酒的模型。1. 正态分布的检验由于运用T检验法的前提是两个总体分布都听从正态分布,我们先利用Excel软件计算出:第一组评酒员对各品种红葡萄酒的评分均值为:62.7,80.3,80.4,68.6,73.3,73.2,71.5,72.3,81.5,74.2,70.1,53.9,74.6,73,58.7,74.9,79.3,59.9,78.6,78.6,77.1,77.2,85.6,78,69.2,73.8,73第二组评酒员对各品种红葡萄酒的评分均值为:,74,66,75.8,72, 然后我们利用Matlab软件里的正态分布拟合函数进展曲线拟合,得出其正态分布的拟合曲线图为图一:图一、正态分布拟合曲线图 从图中我们知道其曲线近似为一条直线,因此我们认为评酒员对红葡萄酒以及白葡萄酒的评分均值都听从正态分布。2. T检验法模型的建立及求解设,分别为第一组、第二组评酒员对各品种红葡萄酒的评分均值,且,其中均未知。(1) 作出统计假设。(2) 选取统计量(3) 对于给定的显著性程度,我们利用Matlab软件进展计算求解。结果如下表所示: 葡萄酒的品种H值P值差异显著程度第一组红葡萄酒0差异不显著第二组红葡萄酒第一组白葡萄酒1差异特别显著第二组白葡萄酒 H=0,表示承受原假设;H=1,表示承受背择假设。由上表可知:红葡萄酒之间不存在显著性差异,白葡萄酒之间存在显著性差异。4.1.2 可信度的断定由于样本的置信区间及其可信度是呈负相关的,即置信区间越小,其可信度越大。我们利用Matlab软件求解得出第一组、第二组红葡萄酒和白葡萄酒的置信区间,见下表:葡萄酒的置信区间红葡萄酒的置信区间白葡萄酒的置信区间第一组70.3377,75.773472.3342,76.1872第二组69.6890,71.960775.3788,77.6855明显第二组的置信区间长度小于第一组,所以第二组评酒员的评价结果可信度更高。4.2 问题二的模型建立及求解主成分分析法是一种数学变换的方法, 它把给定的一组相关变量通过线性变换转成另一组不相关的变量,这些新的变量根据方差依次递减的依次排列。在数学变换中保持变量的总方差不变,使第一变量具有最大的方差,称为第一主成分,第二变量的方差次大,并且和第一变量不相关,称为第二主成分。依次类推,I个变量就有I个主成分。1.计算相关系数矩阵 1在1式中,为原变量的及之间的相关系数,其计算公式为 2因为R是实对称矩阵即,所以只需计算上三角元素或下三角元素即可。2.计算特征值及特征向量首先解特征方程,通常用雅可比法求出特征值,并使其按大小依次排列,即。然后分别求出对应于特征值的特征向量。这里要求=1,即,其中表示向量的第个重量。3.计算主成分奉献率及累计奉献率奉献率:第个主成分方差在全部方差中所占的比重称为奉献率。这个值越大,说明第个主成分综合信息的实力越强。主成分的奉献率为 3累积奉献率:前个主成分共有多大的综合实力,用这个主成分的方差和在全部方差中所占的比重来描绘,说明取前个主成分根本包含了全部测量指标所具有信息的百分率。累计奉献率为 4一般取累计奉献率达的特征值所对应的第一、第二,第个主成分。4.计算主成分载荷主成分载荷是反映主成分及元变量之间的互相关联程度。其计算公式为 5于是Matlab软件求解,分别得出红葡萄及白葡萄所分的主成分、特征值、奉献率以及累计奉献率,结果见下表一及表二:表一 红葡萄主成分的特征值、奉献率及累计奉献率主成分特征值奉献率/%累计奉献率/%93.83%93.83%03.35%97.18%2.38%99.56%0.27%99.83%0.09%99.92%0.04%99.96%0.03%99.99%0.01%100%由上表可看出,主成分所占的累计奉献率已高达93.83%大于85%,故只需求出第一主成分即可。,再用公式计算各变量,在主成分上的载荷为:,第一主成分及都呈现正相关性。因此我们认为:载荷即果穗质量及主成分有极强的正相关。所以,我们根据的含量程度为葡萄进展排名:排名如下样品编号果穗质量/g红葡萄样品26红葡萄样品24红葡萄样品5红葡萄样品17红葡萄样品20红葡萄样品25红葡萄样品27红葡萄样品23红葡萄样品10红葡萄样品8红葡萄样品14红葡萄样品6红葡萄样品18红葡萄样品12红葡萄样品9红葡萄样品1红葡萄样品11红葡萄样品19红葡萄样品13红葡萄样品15红葡萄样品21红葡萄样品4红葡萄样品16红葡萄样品22红葡萄样品3红葡萄样品2红葡萄样品7因此根据以果穗质量的含量程度为重要指标,我们得出红葡萄品质级别如下表:红葡萄等级排名红萄萄品质级别果穗质量/g优质红葡萄以上次优红葡萄中等红葡萄下等红葡萄同理,我们也可以得到白葡萄所分的主成分、特征值、奉献率以及累计奉献率,结果见下表: 表二 白葡萄主成分的特征值、奉献率及累计奉献率主成分特征值奉献率/%累计奉献率/%94.99%94.99%2.30%97.29%1.89%99.18%0.6%99.78%0.18%99.96%0.03%99.99%0.01%100%由上表可看出,主成分所占的累计奉献率已高达94.99%大于85%,故只需求出第一主成分即可。,再用公式计算各变量在主成分上的载荷为:,第一主成分及都呈现正相关性。因此我们认为:载荷即单宁含量及主成分有极强的正相关。所以,我们根据的含量程度为葡萄进展排名结果如下白葡萄单宁(mmol/kg)葡萄样品248.506 葡萄样品106.781 葡萄样品226.463 葡萄样品276.251 葡萄样品185.783 葡萄样品265.517 葡萄样品74.729 葡萄样品284.583 葡萄样品64.502 葡萄样品94.434 葡萄样品233.389 葡萄样品113.312 葡萄样品123.212 葡萄样品43.148 葡萄样品203.141 葡萄样品32.990 葡萄样品12.947 葡萄样品252.757 葡萄样品152.751 葡萄样品52.626 葡萄样品142.388 葡萄样品172.247 葡萄样品22.239 葡萄样品162.228 葡萄样品192.217 葡萄样品132.129 葡萄样品211.952 葡萄样品81.672 因此我们规定白葡萄品质级别如下表:白葡萄等级排名白葡萄品质级别单宁含量(mmol/kg)优质白葡萄次优白葡萄中等白葡萄下等白葡萄4.3 问题三的模型建立及求解假如一个被说明变量因变量有个说明变量自变量, 同时,不仅是的线性函数,而且是参数和通常未知的线性函数,随即误差项为,那么多元线性回来模型可以表示为: 这里为总体多元线性回来方程,简称总体回来方程。其中,k表示说明变量个数,称为截距项,是总体回来系数。表示在其他自变量保持不变的状况下,自变量变动一个单位所引起的因变量Y平均变动的数量,因此也称之为偏回来系数。当给定一个样本时,上述模型可以表示为:此时,及,及未知。其相应的矩阵表达式为:可以简化为:通过Matlab软件进展多项式拟合,得出如以下图所示的结果:白葡萄的拟合误差图白葡萄酒的拟合图红葡萄的拟合误差图红葡萄酒的拟合图由图表得出:酿酒葡萄及葡萄酒的理化指标呈线性正相关。4.4 问题四的模型建立及求解在实际应用中,一个试验结果试验指标往往受多个因素的影响。不仅这些因素会影响试验结果,而且这些因素的不同程度的搭配也会影响试验结果。统计学上把多因素不同程度搭配对试验指标的影响称为交互作用。交互作用在多因素的方差分析中,把它当成一个新因素来处理。4.1.1 无交互作用的双因素试验的方差分析的模型建立假设某个试验中,有两个可控因素在改变,因素有个程度,记作;因素有个程度,记作;那么及的不同程度组合。共有个,每个程度组合称为一个处理,每个处理只作一次试验,得个观测值,得双因素无重复试验表:因素因素同时假设:1互相独立; 2,方差齐性。线性统计模型:其中全部期望值的总平均:程度对试验结果的效应:程度对试验结果的效应:满意的性质:要分析因素A,B的差异对试验结果是否有显著影响,即为检验如下假设是否成立:总离差平方和的分解定理:仿单因素方差分析的方法,考察总离差平方和:称为因素A的离差平方和,反映因素 A 对试验指标的影响。称为因素B的离差平方和,反映因素 B 对试验指标的影响。称为误差平方和,反映试验误差对试验指标的影响。假设假设成立,那么:可推得: 将的自由度分别记作,那么对给定的检验程度,当时,回绝,即因素的影响有统计意义。当时,回绝,即因素的影响有统计意义。双因素无交互作用试验的方差分析表方差来源平方和自由度均方和F值F值临界值因素A因素B误差总和留意 : 各因素离差平方和的自由度为程度数减一,总平方和的自由度为试验总次数减一。,,的简便计算式为:其中:于是通过matlab软件计算得到ANOVA表格如下: ANOVA表Source SS df MS F Prob>F-Columns 10084 1 Rows 43679 2 Interaction 6289.4 2 3144.7 Error 131291 6 Total 191343.4 11所以,由结果知第一个p值代表列样本均值一样的假设值,反映了酿酒葡萄的理化指标的影响。由于,故可得葡萄酒的理化指标对葡萄酒质量的影响显著。同理,因为,所以可知酿酒葡萄的理化指标对葡萄酒质量影响相对葡萄酒的理化指标更显著。六参考文献【1】 刘超,MATLAB根底及理论教程,机械工业出版社,2021年。【2】 戴朝寿,数理统计简明教程,高等教化出版社,2021年。【3】 阳明盛,熊西文,林建华,MATLAB根底及数学软件,大连理工高校出版社,2003年。【4】 韩中庚,数学建模方法及其应用,高等教化出版社,2005年。【5】 费业泰,误差理论及数据处理,机械工业出版社,2005年。附录MATLAB程序问题一:A1=62.7,80.3,80.4,68.6,73.3,73.2,71.5,72.3,81.5,74.2,70.1,53.9,74.6,73,58.7,74.9,79.3,59.9,78.6,78.6,77.1,77.2,85.6,78,69.2,73.8,73;H,P,JBSTAT,CV=jbtest(A1,0.04)H =0,74,66.3,66, ,72, 71.5;H,P,JBSTAT,CV=jbtest(A2,0.04)H =0,71,72, ,74,71,81.3;H,P,JBSTAT,CV=jbtest(B1,0.04)H =0,,77,79.6;H,P,JBSTAT,CV=jbtest(B2,0.04)H =0X=A1,A2;subplot 121;normplot(X);legend('A1 check','A2 check');Y=B1,B2;subplot 122;normplot(Y);legend('B1 check','B2 check');P,H=ranksum(A1,B1,0.05)H =0P,H=ranksum(A2,B2,0.05)H =1sigma=sqrt(51.91728);ex=73.05556;p=1-0.05/2;u=norminv(p,0,1)mu=ex-u*sigma/sqrt(n1),ex+u*sigma/sqrt(n1)mu =70.3377sigma=sqrt(15.2383);ex=70.51481;p=1-0.05/2;u=norminv(p,0,1)u =mu=ex-u*sigma/sqrt(n2),ex+u*sigma/sqrt(n2)mu =69.689sigma=sqrt( 26.08667);ex=74.26071;p=1-0.05/2;u=norminv(p,0,1)mu=ex-u*sigma/sqrt(n1),ex+u*sigma/sqrt(n1)mu =72.3342sigma=sqrt(9.695753 );ex=76.53214;p=1-0.05/2;u=norminv(p,0,1)mu=ex-u*sigma/sqrt(n2),ex+u*sigma/sqrt(n2)mu =问题二:function result=cwfac(vector);fprintf(' 相关系数矩阵:n')std=CORRCOEF(vector) %计算相关系数矩阵fprintf('特征向量(vec)及特征值(val):n')vec,val=eig(std) %求特征值(val)及特征向量(vec)newval=diag(val) ;y,i=sort(newval) ; %对特征根进展排序,y为排序结果,i为索引fprintf('特征根排序:n')for z=1:length(y) newy(z)=y(length(y)+1-z);endfprintf('%gn',newy)rate=y/sum(y);fprintf('n奉献率:n')newrate=newy/sum(newy)sumrate=0;newi=;for k=length(y):-1:1 sumrate=sumrate+rate(k); newi(length(y)+1-k)=i(k); if sumrate>0.85 break; end end %登记累积奉献率大85%的特征值的序号放入newi中fprintf('主成分数:%gnn',length(newi);fprintf('主成分载荷:n')for p=1:length(newi) for q=1:length(y) result(q,p)=sqrt(newval(newi(p)*vec(q,newi(p); endend %计算载荷disp(result)function print=cwprint(filename,a,b); %filename为文本文件文件名,a为矩阵行数(样本数),b为矩阵列数(变量指标数)fid=fopen(filename,'r')vector=fscanf(fid,'%g',a b);fprintf('标准化结果如下:n')v1=cwstd(vector)result=cwfac(v1);cwscore(v1,result);%cwscore.m,计算得分function score=cwscore(vector1,vector2);sco=vector1*vector2;csum=sum(sco,2);newcsum,i=sort(-1*csum);newi,j=sort(i);fprintf('计算得分:n')score=sco,csum,j %得分矩阵:sco为各主成分得分;csum为综合得分;j为排序结果%cwstd.m, function std=cwstd(vector)cwsum=sum(vector,1); % a,b=size(vector); % for i=1:a for j=1:b std(i,j)= vector(i,j)/cwsum(j); endend问题三:利用多项式曲线拟合 来对葡萄酒及葡萄进展拟合wine=8,7.286,6.271,4.914,3.6304,0.224;putao=273.1,237.303,35.4449,24.478,6.724,1.101; n=1:3;p1=polyfit(wine,putao,n(1)p2= polyfit(wine,putao,n(2)p3=polyfit(wine,putao,n(3)putao1=polyval(p1,wine);putao2=polyval(p2,wine);putao3=polyval(p3,wine);plot(wine,putao,'ko',wine,putao1,'-k*',wine,putao2,'-kx',wine,putao3,':kd');xlabel('wine');ylabel('putao');legend('原始数据','1次曲线','2次曲线','3次曲线');p1 =p2 =p3 = Columns 1 through 3 Column 4 各次拟合曲线及原数据的比较结果如下图,。由p3可得3次拟合曲线多项式函数为:F接着求的y的3次拟合的曲线机器预料误差范围+-deltay代码如下:p,s=polyfit(wine,putao,3);putao3,deltay=polyval(p,wine,s);putaolo=putao3-deltay;putaoup=putao3+deltay;plot(wine,putao,'ko',wine,putao2,'-k*',wine,putaolo,'-.bs',wine,putaoup,'-.bd');xlabel('wine');ylabel('putao');legend('原始数据','3次曲线','误差下限','误差上限')对于白葡萄酒及白葡萄的关系如下:wine=1.853,1.461,1.557,0.3664,0.0545,101.796 ;对于白葡萄的理化指标的选择,我们根据第二问中所分析出来的重要指标中选择6个重要指标:putao=0.2245,1.616,3.315,3.810,5.450,115.256;wine=0.0545,0.3664,1.461,1.557,1.853;putao=0.2245,1.616,3.315,3.810,5.450;n=1:3;p1=polyfit(wine,putao,n(1)p2= polyfit(wine,putao,n(2)p3=polyfit(wine,putao,n(3)putao1=polyval(p1,wine);putao2=polyval(p2,wine);putao3=polyval(p3,wine);plot(wine,putao,'ko',wine,putao1,'-k*',wine,putao2,'-kx',wine,putao3,':kd');xlabel('wine');ylabel('putao');legend('原始数据','1次曲线','2次曲线','3次曲线');p1 =p2 =p3 = Columns 1 through 3 Column 4 各次拟合曲线及原数据的比较结果如下图,。由p3可得3次拟合曲线多项式函数为:F接着求的y的3次拟合的曲线机器预料误差范围+-deltay代码如下:p,s=polyfit(wine,putao,3);putao3,deltay=polyval(p,wine,s);putaolo=putao3-deltay;putaoup=putao3+deltay;plot(wine,putao,'ko',wine,putao2,'-k*',wine,putaolo,'-.bs',wine,putaoup,'-.bd');xlabel('wine');ylabel('putao');legend('原始数据','3次曲线','误差下限','误差上限')