2012年建模A题 葡萄酒的评价

A题 葡萄酒的评价

2012数模国赛A题下载链接:http://www.mcm.edu.cn/problem/2012/2012.html
在这里插入图片描述

解题思路

符号说明

在这里插入图片描述

先附上我的摘要
在这里插入图片描述

第一问

第一问分析两组评酒员的评价结果有无显著性差异,哪一组结果更可信就是对两组评酒员的评分的进行t检验并进行信度检验。
t检验的前提:

  • 单组观测变量为连续变量;
  • 观测值相互独立;
  • 单组连续变量无明显异常值;
  • 单组连续变量近似或服从正态分布。

若不满足上述条件则无法进行t检验,可以用秩和检验来做。
秩和检验的优缺点

秩和检验的优点是

  • 不受总体分布限制,适用面广;
  • 适用于等级资料及两端无确定值的资料;
  • 易于理解,易于计算。缺点是符合参数检验的资料,用秩和检验,则不能充分利用信息,检验功效低。

应用中的注意事项:

  • 注意应用条件;
  • 编秩时相同值要取平均秩次;
  • 相同秩次较多时,统计量要校正。

要进行t检验首先就要进行评分数据的正态检验。
常用的正态检验方法如下:

  • 频率直方图
  • P-P图
  • Q-Q图
  • K-S 检验
  • 描述法(偏度和峰度系数检验)

这些检验都可用spss轻易的实现,具体的实现教程可以见博客的内容。

我们分别采用了P-P图和K-S 检验方法通过比较检测显著性水平 P 值,P 均大于 0.05,说明与正态性没有显著差
异,即葡萄酒的评分成正态性分布。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
数据通过正态检验后就可以进行t检验了,结果如下:
在这里插入图片描述

得到两组数据没有显著性差异之后我们还要进行信度分析,得到那组评分更可信。

针对可信度评价,采用 Kendall’s W 一致性检验和 Cronbach’s
α一致性检验得出结论:第一组评酒员的评分结果更加可信。
在这里插入图片描述
得到的结果分别如下所示:
在这里插入图片描述

a) 第一组对红葡萄酒评价的 Kendall 系数为 0.519;第二组对红葡萄酒评价
的 Kendall 系数为 0.455。因此,在红葡萄酒的评价中,第一组评酒员的一致性
更高。
b) 第一组对白葡萄酒评价的 Kendall 系数为 0.319;第二组对白葡萄酒评价
的 Kendall 系数为 0.023。因此,在红葡萄酒的评价中,第一组评酒员的一致性
更高。

在这里插入图片描述

第二问

问题 2 要求根据酿酒葡萄的理化指标和葡萄酒的质量对这些酿酒葡萄进行分级。但该问题中并没有给分级的标准和具体的分级数,所以该问题属于数据建模中的聚类问题。这样我们就可以利用一些聚类方法来求解该问题了。在众多聚类方法中,K-means 方法算法适应性比较强的方法,所以不妨先用 K-means 方法对所研究的数据进行聚类,然后还可以尝试用层次聚类、模糊聚类等方法, 以便于结果的比较和最佳聚类方法的选择。

下面我们就要来分析该对谁聚类,也就是说要来确定聚类的研究对象。问题中已明确规定根据酿酒葡萄的理化指标和葡萄酒的质量来实现对酿酒葡萄的分级。对葡萄酒的理化指标数据分析发现,理化指标比较多,用哪些指标是进行分级效果很难评判。但用葡萄酒质量数据来进行分级,既有直观的现实意义,操作性也比较可行,为此,可以先根据葡萄酒的质量来进行酿酒葡萄的分级。由第一问,可知,虽然第二组品酒师的数据更稳定,但两组品酒师的结果并没有显著差异,所以,应该以两组品酒师的平均值作为酒样的质量数据。

当根据葡萄酒的质量对酿酒葡萄进行分级后,然后就可以研究如何利用酿酒葡萄的理化指标来分级。这里面,由于理化指标的差异就是数值上的差异,而求解这类问题的一个典型的方法就是 PCA 方法,所以可以用 PCA 方法来实现对理化指标的降维,然后同样可以用上述的聚类方法来实现聚类。

%% 用聚类法确定葡萄酒分级
clc, clear all, close all
%% 需要聚类的数据
% 红葡萄酒质量评分数据
% A=[62.625	80.125	80.75	68.875	73.375	72.125	71.5	71.75	80.875	...
%     74	68.875	53.75	75.375	73.875	57.625	75	78.5	60	79.125	79	76.875...
%     76.375	85.375	77.75	68.875	74.625	72.75
% ]; 
% 白葡萄酒质量评分数据
A=[83	75.5	78.375	80.125	72.375	69.375	78.125	71.875	73.625	76.25...
    73.625	64.25	66.75	73.5	73.625	75	80.25	75.125	72	78.625	78.375...
    71.5	75.75	73.875	77.25	81.75	66.125	82.125
];
%% 用k-Means聚类法确定最佳的聚类数
X=A';
numC=7;
for i=1:numC
    kidx = kmeans(X,i);
    silh = silhouette(X,kidx); %计算轮廓值
    silh_m(i) = mean(silh);    %计算平均轮廓值
end

figure
plot(1:numC,silh_m,'ko-', 'linewidth',2)
set(gca,'linewidth',2);
xlabel('类别数')
ylabel('平均轮廓值')
title(' 不同类别对应的平均轮廓值')

% 绘制2至5类时的轮廓值分布图
 figure
 set(gca,'linewidth',2);
for i=2:5
    kidx = kmeans(X,i);
    subplot(2,2,i-1);
    [~,h] = silhouette(X,kidx);
    set(gca,'linewidth',2);
    title([num2str(i), '类时的轮廓值 ' ])
    snapnow
    xlabel('轮廓值');
    ylabel('类别数');
end

%% K-means聚类过程,并将结果显示出来
[idx,ctr]=kmeans(A',3); % 用K-means法聚类
% 提取同一类别的样品号
c1=find(idx==1); c2=find(idx==2); 
c3=find(idx==3); %c4=find(idx==4); 
figure
F1 = plot(find(idx==1), A(idx==1),'k:*', ...
     find(idx==2), A(idx==2),'k:o', ...
     find(idx==3), A(idx==3),'k:p');
set(gca,'linewidth',2);
set(F1,'linewidth',2, 'MarkerSize',8);
xlabel('编号','fontsize',12);
ylabel('得分','fontsize',12);
title('Kmeans方法聚类结果')
disp('聚类结果:');
disp(['第1类:' ,'中心点:',num2str(ctr(1)),'  ','该类样品编号:', num2str(c1')]);
disp(['第2类:' ,'中心点:',num2str(ctr(2)),'  ','该类样品编号:', num2str(c2')]);
disp(['第3类:' ,'中心点:',num2str(ctr(3)),'  ','该类样品编号:', num2str(c3')]);

c1_mean = mean(A(c1));
c2_mean = mean(A(c2));
c3_mean = mean(A(c3));

在这里插入图片描述
在这里插入图片描述

第3问

问题三要求分析酿酒葡萄与葡萄酒的理化指标之间的联系。因此,考虑建立模型以描述葡萄酒理的单个化指标与酿酒葡萄的多个理化指标之间的联系,通过模型分析酿酒葡萄的理化指标对葡萄酒的理化指标的影响。
根据附件二可知酿酒葡萄的理化指标数量较多,考虑到不同的理化指标对葡萄酒的理化指标的影响不同,可以构造相关系数矩阵对双方的理化指标进行关联性分析,并选取其中关联性较高的进行研究;然后考虑到酿酒葡萄的理化指标对葡萄酒的理化指标的综合影响情况,运用逐步回归分析得到相应的回归方程,然后再对其中指标进行分析。

在这里插入图片描述
得到的回归方程(部分)如下所示:
在这里插入图片描述

clc;
clear; B=xlsread('white.xlsx');
[m1,n1]=size(B);
 X=['y','='];
 for j=1:n1
 if ~isnan(B(1,j))
 if(B(1,j)<0)
 X=[X,[num2str(B(1,j)),'x',num2str(j)]];
 else
 X=[X,['+',num2str(B(1,j)),'x',num2str(j)]];
 end
 end
 end
 disp(X);
clc;
clear;
zb=xlsread('指标-红.xlsx');
score=xlsread('score.xlsx');
score=zscore(score);
score=score';
stepwise(zb,score,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
,21,22,23,24,25,26,27,28,29,30,31]);

第4问

问题四中,需要我们通过酿酒葡萄和葡萄酒的理化指标,得到对葡萄酒的质量的评价,并论证是否可行。因此,首先考虑在问题三的基础上,酿酒葡萄的理化指标通过影响葡萄酒的理化指标间接影响葡萄酒的质量。而葡萄酒的理化性质对葡萄酒质量的影响更为直接。因此我们考虑分析葡萄酒的理化指标对葡萄酒质量的影响,进而利用葡萄理化指标与葡萄酒理化指标之间高度的相关性来分析葡萄的理化指标对葡萄酒质量的影响。
同时,查阅资料发现葡萄中的芳香物质对所酿出的葡萄酒的气味口感等方面会有较大影响,因此可以筛选出重要的芳香物质,与葡萄酒质量建立联系。
在这里插入图片描述
在这里插入图片描述

对芳香物质的筛选结果如下所示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
白葡萄酒同理可得。

clear;clc;
% score = xlsread('../附件 1 整理.xls','红 1','B2:E28');
% zhibiao = xlsread('../附件 3-芳香物质.xls','红酒','B2:BV28');
score = xlsread('../附件 1 整理.xls','白 1','B2:E29');
zhibiao = xlsread('../附件 3-芳香物质.xls','白酒','B2:BV29');
load('name.mat');
score = zscore(score);
zhibiao = zscore(zhibiao);
res = [];
for i=1:73
 for j =1: 4
 t = corrcoef(score(:,j),zhibiao(:,i));
 res(i,j) = t(1,2);
 end
end
index = [];
for i=1:73
 if (res(i,2)>0 && res(i,3)>0)
 index = [index;i];
 end
end
name1 = name(index);

  • 41
    点赞
  • 354
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
2012数学建模比赛的葡萄酒,可以用Python语言进行求解。Python是一种高级编程语言,它具有简洁易懂的语法和强大的数学计算库,非常适合用于数学建模方面的问。 首先,我们需要读取提供的数据文件,包括葡萄酒的各项指标和评价结果。可以使用Python的文件读取函数来完成这个任务,并将数据存储在适当的数据结构,比如列表或字典。 接下来,我们需要对葡萄酒的指标进行分析和处理。可以使用Python的数学计算库,如NumPy或Pandas,进行数据分析和统计。我们可以计算葡萄酒的平均值、标准差、最大值、最小值等指标,以及进行相关性分析等。 然后,我们可以根据指标和评价结果之间的关系,建立数学模型。根据原的要求,可以选择线性回归、多项式回归或其他适合的模型来进行建模。Python拥有丰富的机器学习库,如Scikit-Learn,可以使用这些库来建立模型,并进行模型的训练和预测。 最后,我们可以使用模型对新的葡萄酒数据进行评价。根据模型的训练结果,我们可以预测新葡萄酒评价结果。同时,我们可以对模型的准确性进行评估,比如计算模型的均方差、R平方值等。 总之,通过使用Python语言,我们可以对2012数学建模比赛的葡萄酒进行全面的分析建模,并对新的数据进行预测和评估。Python的强大功能和易用性使得数学建模过程更加简单和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andy-wen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值