参考
https://blog.csdn.net/qq_41149269/article/details/86547573
代码目录
1.差异显著性评判:双总体 T 检验 t1_1
在利用 T 检验之前,需要对原始数据进行一些预处理,主要处理内容包括:
(1) 数据质量检查与清洗,即查看数据是否有缺失,如果有缺失,则需要进行填充。通过检查数据质量发现,的确存在数据缺失现象,为此对于缺失的值,用同组的平均值来进行填充。
(2) 将杂乱的excel转换成矩阵形式,方便输入到matlab中。对各个 sheet 中的数据按照样品编号进行重新排列,以便利用程序进行比较。
经过这样的处理,就可以用程序来计算这些样品的 T 检验值了, 这样就可以用每组检验值的平均值来表示每组品酒师对红酒和白酒的显著性差异
两组品酒师对红酒的平均显著性T检验值:1.7539
两组品酒师对白酒的平均显著性 T 检验值:1.1641
查表可知, T(0.05,2,18) = 2.101, T(0.01,2,18) = 2.878。按照 T 检验的第三步,可知,T < T(df)0.05,所以我们可以得到这样的问题 1 的结论:
(1) 两组品酒师对红酒和白酒的评价结果差异都不显著;
(2) 对白酒评价结果的差异小于对红酒的差异。
2.评价结果稳定性 t1_2
两组品酒师对酒样的评判结果差异不显著,即可以认为来自于同个样本的数据。
可以用每组品酒师的得分对总体样本的方差,来表示各组品酒师评价结果的稳定性
一组对红葡萄酒总方差:16434.675
二组对红葡萄酒总方差:10524.775
由于方差越小,说明越稳定,故对于红酒来说,第二组品酒师的评价结果更稳定。
一组对白葡萄酒总方差:34961.6
二组对白葡萄酒总方差:16522.8
K-means聚类 t2_kMeans
目前的聚类算法都属于半监督算法, 还需要指定每次聚类过程中类别的数量, 所以对于该问题, 需要先确定最佳类别的数量。可以先用轮廓值对 K-means 方法得到的聚类结果进行评价, 这样就可以据此来确定最佳的类别数。
此处,对于聚类的执行选择由 K-means 方法来实现,是因为该算法的适应范围最广。
运行该程序,在 MATLAB 的命令窗口区就有 K-means 方法的聚类结果,这样就可以得到红葡萄的分级结果:
红葡萄酒聚类结果:
第1类:中心点:79.0563 该类样品编号:1 3 4 17 21 25 26 28
第2类:中心点:75.6692 该类样品编号:2 5 7 9 10 14 15 18 19 20 22 23 24
第3类:中心点:67.85 该类样品编号:12
第4类:中心点:71.1833 该类样品编号:6 8 11 13 16 27
对于白葡萄酒,可采取同样的方法。利用上面的程序,可以很快得到白葡萄酒的分级结果(白葡萄酒的分类图与红葡萄酒基本一致,所以这里就不在列出,只给出具体的分级结果):
聚类结果:
第1类:中心点:78.4722 该类样品编号:1 3 4 10 17 20 21 25 26
第2类:中心点:75.4045 该类样品编号:2 5 7 9 14 15 18 19 22 23 24
第3类:中心点:67.85 该类样品编号:12
第4类:中心点:71.1833 该类样品编号:6 8 11 13 16 27
PCA降维+kmeans聚类t2_1_PCA_kmeans
先PCA降维,然后kmeans聚类