《实验报告一-主成分分析.pdf》由会员分享,可在线阅读,更多相关《实验报告一-主成分分析.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 实验报告 姓 名:张 莉 萍 学 号:3 日 期:2017年11月10日 评分标准 序号 数学原理(5分)程序(20分)结果分析(20分)写作(5分)总分 题 目1 序号 数学原理(5分)程序(20分)结果分析(20分)写作(5分)题 目2 实验报告一 主成分分析 实验目的:1、熟练掌握利用 MATLAB 进行主成分分析的计算步骤。2、掌握选择主成分个数的原则以及利用特征值建立权向量的方法。3、能根据主成分的数学公式,针对实际问题给出主成分的合理解释。4、掌握典型相关分析的方法。表 5-12 各地区国有及国有控股工业企业主要经济效益指标(2007 年)地区 工业增加值率 总资产贡献率 资产负
2、债率 流动资产周转次数 工业成本费用利润率 产品销售率 北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 12 山东 河南 湖北 湖南 7 广东 广西 海南 重庆 四川 37 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 (1)根据指标的属性将原始数据统一趋势化。(2)利用协方差、相关系数矩阵进行主成分分析,可否只用第一主成分排名。(3)构造新的实对称矩阵,使得可以只用第一主成分排名。(4)排名的结果是否合理为什么 解:(1)A=,;,;,令:r=corrcoef(A);%计算矩阵 A 的相关系数矩阵 得到的相关系数矩阵为:r=表明各个变量之间无明显的共
3、性关系,可以进一步进行主成分分析的命令。对原始数据进行数据统一趋势化,将资产负债率转化成效益型,其变换公式为 B=(),=()()(效益型)()()(成本型)(|)|(适度型)令:m,n=size(A)A1=(A(:,1)-min(A(:,1)./(max(A(:,1)-min(A(:,1);A2=(A(:,2)-min(A(:,2)./(max(A(:,2)-min(A(:,2);A3=(max(A(:,3)-A(:,3)./(max(A(:,3)-min(A(:,3);A4=(A(:,4)-min(A(:,4)./(max(A(:,4)-min(A(:,4);A5=(A(:,5)-min(
4、A(:,5)./(max(A(:,5)-min(A(:,5);A6=(A(:,6)-min(A(:,6)./(max(A(:,6)-min(A(:,6);B=A1,A2,A3,A4,A5,A6 得到矩阵 B 为:B=0 0 0 0 0 0 (2)令 R=corrcoef(B)%计算矩阵 B 的相关系数矩阵 得到的相关系数矩阵为:R=表明各个变量之间无明显的共性关系,可以进一步进行主成分分析的命令。a.利用相关系数矩阵进行主成分分析 令:v1,d1=eig(corrcoef(B)%样本相关系数矩阵的特征值 得到结果如下:v1=d1=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5、0 0 0 0 0 0 0 0 0 0 0 0 0 0 因为,最大的特征值对应的不是正向量,所以不能用第一主成分进行排名。b.利用协方差矩阵进行主成分分析 令:v2,d2=eig(cov(B)%样本协方差矩阵的特征值 得到结果如下:v2=d2=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 因为,最大的特征值对应的不是正向量,所以不能用第一主成分进行排名。(3)利用 R 矩阵进行主成分分析 m,n=size(B);%计算原始数据维数 fori=1:n forj=1:n R(i,j)=2*dot(B(:,i),B(:,j).
6、/sum(B(:,i).2)+sum(B(:,j).2)%计算 R 矩阵 v3,d3=eig(R);%R 矩阵的特征值和特征向量 q=sum(d3)/sum(sum(d3)%计算贡献率 得到结果如下:v3=d3=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 q=输出的结果显示,最大特征值()对应的是正向量,且其贡献率为%,所以能用第一主成分得分进行排名。(4)令 F=B-ones(m,1)*mean(B)*d3(:,6);%计算主成分得分 F2,I1=sort(F,descend);%I1 给出各名次的序号 F2,I2=
7、sort(I1);%I2 给出各地区的排名 Plot(1:m,F,*);%主成分得分图 得到结果如下:地区 序号 得分(F)排名(I2)地区 序号 得分(F)排名(I2)北京 1 16 湖北 17 21 天津 2 6 湖南 18 12 河北 3 11 广东 19 10 山西 4 27 广西 20 2 内蒙古 5 17 海南 21 1 辽宁 6 14 重庆 22 29 吉林 7 30 四川 23 18 黑龙江 8 15 贵州 24 25 上海 9 13 云南 25 8 江苏 10 5 西藏 26 31 浙江 11 4 陕西 27 24 安徽 12 23 甘肃 28 26 福建 13 7 青海 2
8、9 28 江西 14 19 宁夏 30 22 山东 15 9 新疆 31 3 河南 16 20 排名的结果是合理的,因为第一主成分分析的贡献率为%,可以用第一主成分代替原来的六个变量,对样本总体进行排名。实验报告二 聚类方法与聚类有效性 实验目的 1、熟练掌握应用 MATLAB 软件计算谱系聚类与 K 均值聚类的命令。2、熟练掌握模糊 C 均值类与模糊减法聚类的 MATLAB 实现。3、掌握最优聚类数的理论及其实现。实验数据与内容 2008 年我国 34 个地区中的 29 个地区的城镇居民人均收入见表 6-6。解决以下问题:表 6-6 城镇居民人均收入 (单位:元/人)省(区、市)工薪收入 经
9、营净收入 财产性收入 转移性收入 北京 河北 山西 内蒙古 辽宁 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 9117 贵州 云南 西藏 陕西 544 甘肃 青海 宁夏 新疆 (1)计算各样品间的欧氏距离、马氏距离和加权平方距离。(2)运用谱系聚类法进行聚类,包括确定最优聚类数,选择合适的类间距离,同时作出谱系图。(3)运用 K 均值聚类法进行聚类。(4)运用模糊 C 均值聚类和模糊减法聚类法进行聚类。(5)综合分析以上不同的聚类法所得的聚类结果,能得到什么样的结论 解:(1)x=,;,;,;,a.计算欧氏距离 令:d1=pdist(x,e
10、uclidean);%计算各行之间的欧氏距离 D1=squareform(d1);%将行向量 d1 转变成一个方阵 得到结果如下:D1=+03*Columns 1 through 8 0 0 0 0 0 0 0 0 0 Columns 9 through 16 0 0 0 0 0 0 0 0 Columns 17 through 22 0 0 0 0 0 0 0 矩阵 D1 中第 i 行 j 列的元素表示 x 中的第 I 个个体与第 j 个个体之间的欧氏距离。如矩阵 D1 中的第 1 行 7 列为,表示上海与北京的欧氏距离为,其余类推。b.计算马氏距离 令 d2=dpist(x,mahalan
11、obis);%计算各行之间的马氏距离 D2=D2=squareform(d2);%将行向量 d2 转变成一个方阵 得到结果如下:D2=Columns 1 through 8 0 0 0 0 0 0 0 0 0 Columns 9 through 16 0 0 0 0 0 0 0 0 Columns 17 through 22 0 0 0 0 0 0 0 矩阵 D2 中的第i 行 j 列的元素表示 x 中的第 I 个个体与第 j 个个体之间的马氏距离。如矩阵 D1 中的第 1 行 7 列为,表示上海与北京的马氏距离为,其余类推。c.计算加权平方距离 令 d3=pdist(x,seuclidean
12、);%计算各行之间的方差加权距离 D3=squareform(d3);%将行向量 d3 转变成一个方阵 得到结果如下:D3=Columns 1 through 8 0 0 0 0 0 0 0 0 0 Columns 9 through 16 0 0 0 0 0 0 0 0 Columns 17 through 22 0 0 0 0 0 0 0 矩阵 D3 中的第i 行 j 列的元素表示 x 中的第 I 个个体与第 j 个个体之间的方差加权距离。如矩阵 D1 中的第 1 行 7 列为,表示上海与北京的马氏距离为,其余类推。(2)由(1)可知,样本间的欧氏距离为 D1 令 z1=linkage(D
13、1);%选择类间距离为最短距离时 输出结果为:z1=+04*0%在 0 的水平,G1,G22 合成一类为 G23%在的水平,G4,G11 合成一类为 G24%在的水平,G24,G13 合成一类为 G25%在的水平,G25,G6 合成一类为 G26%在的水平,G2,G7 合成一类为 G27%在的水平,G26,G27 合成一类为 G28%在的水平,G28,G8 合成一类为 G29%在的水平,G29,G20 合成一类为 G30%在的水平,G15,G19 合成一类为 G31%在的水平,G31,G30 合成一类为 G32%在的水平,G32,G17 合成一类为 G33%在的水平,G33,G18 合成一类为
14、 G34%在的水平,G34,G14 合成一类为 G35%在的水平,G35,G10 合成一类为 G36%在的水平,G3,G5 合成一类为 G37%在的水平,G36,G12 合成一类为 G38%在的水平,G38,G21 合成一类为 G39%在的水平,G23,G9 合成一类为 G40%在的水平,G37,G16 合成一类为 G41%在的水平,G41,G39 合成一类为 G42%在的水平,G42,G40 合成一类 再令 H=dendrogram(z1);%作谱系聚类图 输出图形如下图所示:令 z2=linkage(D1,complete);%选择类间距离为最长距离时 输出结果为:z2=+04*0%在 0
15、 的水平,G1,G22 合成一类为 G23%在的水平,G4,G11 合成一类为 G24%在的水平,G6,G13 合成一类为 G25%在的水平,G2,G7 合成一类为 G26%在的水平,G8,G20 合成一类为 G27%在的水平,G24,G25 合成一类为 G28%在的水平,G15,G19 合成一类为 G29%在的水平,G26,G28 合成一类为 G30%在的水平,G14,G18 合成一类为 G31%在的水平,G27,G29 合成一类为 G32%在的水平,G10,G17 合成一类为 G33%在的水平,G3,G5 合成一类为 G34%在的水平,G30,G32 合成一类为 G35%在的水平,G21,
16、G35 合成一类为 G36%在的水平,G12,G33 合成一类为 G37%在的水平,G9,G23 合成一类为 G38%在的水平,G31,G36 合成一类为 G39%在的水平,G16,G34 合成一类为 G40%在的水平,G37,G39 合成一类为 G41%在的水平,G40,G41 合成一类为 G42%在的水平,G38,G42 合成一类 再令 H=dendrogram(z2);%作谱系聚类图 输出图形如下图所示:令 z3=linkage(D1,average);%选择类间距离为类平均距离时 输出结果为:z3=+04*0%在 0 的水平,G1,G22 合成一类为 G23%在的水平,G4,G11 合
17、成一类为 G24%在的水平,G6,G13 合成一类为 G25%在的水平,G2,G7 合成一类为 G26%在的水平,G24,G25 合成一类为 G27%在的水平,G8,G20 合成一类为 G28%在的水平,G26,G27 合成一类为 G29%在的水平,G15,G19 合成一类为 G30%在的水平,G28,G29 合成一类为 G31%在的水平,G14,G18 合成一类为 G32%在的水平,G30,G31 合成一类为 G33%在的水平,G10,G17 合成一类为 G34%在的水平,G3,G5 合成一类为 G35%在的水平,G12,G34 合成一类为 G36%在的水平,G21,G33 合成一类为 G37%在 0.4104 的水平,G32,G37 合成一类为 G38%在的水平,G36,G38 合成一类为 G39%在的水平,G9,G23 合成一类为 G40%在的水平,G16,G35 合成一类为 G41%在的水平,G39,G41 合成一类为 G42%在的水平,G40,G42 合成一类 再令 H=dendrogram(z3);%作谱系聚类图 输出图形如下图所示:(3)
限制150内