数学建模多元分析实例
原文:http://blog.csdn.net/qq_34861102/article/details/77101690
聚类分析
- R型聚类法
- Q型聚类法
相关命令
pdist
Y = pdist(X,'metric')
- 矩阵
X
必选,'metric'
指定计算矩阵中对象的距离的方式 pdist(X,'minkowski',p)
p
在闵氏距离计算矩阵中用到的指数值
- 矩阵
linkage
Z = linkage(Y,'method')
Y
上面生成的距离(必选),method
按照指定的算法生成聚类树(可选)
cluster
T = cluster(Z,'cutoff',c)
- 创建聚类
zsore
zsore(X)
- 标准化处理
dendrogram
H = dendrogram(Z,P)
- 画聚类树状图,其中
P
为节点数,默认是30
clusterdata
- 等价于前三个命令
squareform
- 将
pdist
转化为方阵
- 将
实例
a = [1,0;1,1;3,2;4,3;2,5]; y = pdist(a,'cityblock'); yc = squareform(y); z = linkage(y); dendrogram(z); T = cluster(z,'maxclust',3)
主成分分析(降低维度)
使用步骤
- 对原始数据进行标准化处理
- 计算相关系数矩阵
R
- 计算特征值和特征向量
- 选择
p
个主成分,计算综合评价值
使用实例:
%获取数据 gj = load('data.txt'); %数据标准化 gi = zscore(gj); %计算相关系数矩阵 r = corrcoef(gj); %x的列为r的特征向量,即主成分的系数 %y为r的特征值 %z为各个主成分的贡献率 [x,y,z] = pcacov(r); %构造与x矩阵同维数的元素为+1或-1的矩阵 f = repmat(sign(sum(x)),size(x,1),1); %使得每个特征向量的分量和为正 x = x.*f; %选取主成分的个数 num = 3; %计算各个主成分的得分 df = gj*x(:,1:num); %计算综合得分 tf = df*z(1:num)/100; [stf,ind] = sort(tf,'descend'); stf = stf'; ind = ind';
因子分析
- 使用步骤
- 对原始数据进行标准化处理
- 计算相关系数矩阵
R
- 计算初等荷载矩阵
- 选择
p
个主因子
使用实例
%获取数据 gj = load('data.txt'); %数据标准化 gi = zscore(gj); %计算相关系数矩阵
- 使用步骤