数据截图入上图所示,这张表格展示了不同地区的消费支出数据,具体包括食品、衣着、居住、家庭设备用品及服务、医疗保健、交通和通信、教育文化娱乐服务、杂项商品和服务等项目。下面利用聚类分析对上述的数据进行分析,并使用MATLAB的聚类函数进行数据分类。聚类方法采用类平均法(average linkage),并对结果绘制了聚类树形图。以下是代码的总结和解释:
%读取数据,并进行标准化
[X,textdata] = xlsread('examp09_02.xls');
X = zscore(X);
- 通过
xlsread
函数从 Excel 文件'examp09_02.xls'
中读取数据,X
存储数值数据,textdata
存储文本数据(如行标签)。 - 然后,使用
zscore(X)
对数值数据进行标准化,确保所有变量的平均值为 0,标准差为 1,消除不同量纲对聚类结果的影响。
%调用clusterdata函数进行一步聚类
obslabel = textdata(2:end,1);
% 样品间距离采用欧氏距离,利用类平均法将原始样品聚为3类,Taverage为各观测的类编号
Taverage = clusterdata(X,'linkage','average'