用matlab实现假设性检验T检验(葡萄酒评价)

举报
小小谢先生 发表于 2022/04/16 01:32:19 2022/04/16
【摘要】 2012建模的题目是要求对葡萄酒品质进行评价,第一问是两组葡萄酒的评价有没有显著性差异,用的是统计学中的假设T检验。matlab代码如下: % 清空环境变量clear allclc %导入数据X1=xlsread('2012A_T1_processed.xls', 'T1_red_grape', 'D3:M272'); X2=xls...

2012建模的题目是要求对葡萄酒品质进行评价,第一问是两组葡萄酒的评价有没有显著性差异,用的是统计学中的假设T检验。matlab代码如下:


  
  1. % 清空环境变量
  2. clear all
  3. clc
  4. %导入数据
  5. X1=xlsread('2012A_T1_processed.xls', 'T1_red_grape', 'D3:M272');
  6. X2=xlsread('2012A_T1_processed.xls', 'T2_red_grape', 'D3:M272');
  7. X3=xlsread('2012A_T1_processed.xls', 'T1_white_grape', 'D3:M282');
  8. X4=xlsread('2012A_T1_processed.xls', 'T2_white_grape', 'D3:M282');
  9. %% 红葡萄酒T检验计算过程
  10. [m1,n1]=size(X1);
  11. K1=27;
  12. % 计算每个样品的总得分
  13. for i=1:K1
  14. for j=1:n1
  15. SX1(i,j)=sum(X1(10*i-9:10*i,j));
  16. SX2(i,j)=sum(X2(10*i-9:10*i,j));
  17. end
  18. end
  19. % 计算每组样品得分的均值
  20. for i=1:K1
  21. Mean1(i)=mean(SX1(i,:));
  22. Mean2(i)=mean(SX2(i,:));
  23. end
  24. % 计算检验值
  25. for i=1:K1
  26. S1(1,i)=(sum((SX1(i,:)-Mean1(i)).^2)+sum((SX2(i,:)-Mean2(i)).^2))/(n1*(n1-1));
  27. T1(1,i)=(Mean1(i)-Mean2(i))/(sqrt(S1(1,i)));
  28. end
  29. AT_R=abs(T1);
  30. M_AT_R=mean(AT_R);
  31. %% 白葡萄酒T检验计算过程
  32. [m2,n2]=size(X3);
  33. K2=28;
  34. % 计算每个样品的总得分
  35. for i=1:K2
  36. for j=1:n2
  37. SX3(i,j)=sum(X3(10*i-9:10*i,j));
  38. SX4(i,j)=sum(X4(10*i-9:10*i,j));
  39. end
  40. end
  41. % 计算每组样品得分的均值
  42. for i=1:K2
  43. Mean3(i)=mean(SX3(i,:));
  44. Mean4(i)=mean(SX4(i,:));
  45. end
  46. % 计算检验值
  47. for i=1:K2
  48. S2(1,i)=(sum((SX3(i,:)-Mean3(i)).^2)+sum((SX4(i,:)-Mean4(i)).^2))/(n2*(n2-1));
  49. T2(1,i)=(Mean3(i)-Mean4(i))/(sqrt(S2(1,i)));
  50. end
  51. AT_W=abs(T2);
  52. M_AT_W=mean(AT_W);
  53. %% 结果显示与比较
  54. a=2.102; % T(0.05,2,18)=2.101
  55. b=2.878; % T(0.01,2,18)=2.878
  56. set(gca,'linewidth',2)
  57. % 红酒结果
  58. for i=1:K1
  59. Ta1(i)=a;
  60. Tb1(i)=b;
  61. end
  62. t1=1:K1;
  63. subplot(2,1,1);
  64. plot(t1,AT_R,'*k-',t1,Ta1,'r-',t1,Tb1,'-.b', 'LineWidth', 2)
  65. title('红酒显著性检验结果','fontsize',14)
  66. legend('T检验值', 'T(0.05)值', 'T(0.01)值')
  67. xlabel('样品号'), ylabel('T检验值')
  68. % 白酒结果
  69. for i=1:K2
  70. Ta2(i)=a;
  71. Tb2(i)=b;
  72. end
  73. t2=1:K2;
  74. subplot(2,1,2);
  75. plot(t2,AT_W,'*k-',t2,Ta2,'r-',t2,Tb2,'-.b', 'LineWidth', 2)
  76. title('白酒显著性检验结果','fontsize',14)
  77. legend('T检验值', 'T(0.05)值', 'T(0.01)值')
  78. xlabel('样品号'), ylabel('T检验值')
  79. % 显示平均检验结果
  80. disp(['两组品酒师对红酒的平均显著性T检验值:' num2str(M_AT_R)]);
  81. disp(['两组品酒师对白酒的平均显著性T检验值:' num2str(M_AT_W)]);

输出:

两组品酒师对红酒的平均显著性T检验值:1.7539
两组品酒师对白酒的平均显著性T检验值:1.1641

查表可知,t(0.05,2.18)=2.101,t(0.01,2.18)=2.878。按照t检验的步骤,可得到下面的结论:

①两组品酒师对红葡萄酒和白葡萄酒的评价效果差异都不显著

②对白葡萄酒效果的评价差异小于红葡萄酒。

 

文章来源: blog.csdn.net,作者:小小谢先生,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/xiewenrui1996/article/details/106746987

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。