文章目录

  • 问题提出
  • 数据
  • 问题的求解
    • 数据预处理
    • 编写程序求解

问题提出

  • 利用主成分分析对2007年安徽省17个地区的经济发展进行分析,给出排名;
  • 此时能否只用第一主成分进行排名,为什么?

数据

数据采用 安徽省各地区经济指标数据(17个省)1,其中部分数据如下:

地区 工业总产值 资产合计 工业增加值 实收资本 长期负债 业务收入 业务成本 利润
合肥 491.70 380.31 158.39 121.54 22.74 439.65 344.44 17.43
淮北 21.12 30.55 6.40 12.40 3.31 21.17 17.71 2.03
黄山 5.02 3.62 1.63 1.42 0.53 4.45 4.04 0.02

问题的求解

数据预处理

将上述数据保存于 datas.txt 文档中,17个省,8项指标。

编写程序求解

首先根据相关系数矩阵对指标变量筛选,将相关系数接近于1的两个变量剔除一个,然后根据保留下来的变量的观测样本矩阵进行分析。计算数据的相关系数矩阵程序如下:

clc; clear;
A = load('datas.txt');
% 相关系数矩阵
R = corrcoef(A);

得到相关系数矩阵如下:

>> R
R =1.0000    0.9877    0.9988    0.9820    0.4281    0.9999    0.9980    0.95100.9877    1.0000    0.9884    0.9947    0.5438    0.9885    0.9835    0.94850.9988    0.9884    1.0000    0.9824    0.4294    0.9984    0.9948    0.94620.9820    0.9947    0.9824    1.0000    0.5051    0.9829    0.9763    0.93910.4281    0.5438    0.4294    0.5051    1.0000    0.4311    0.4204    0.45570.9999    0.9885    0.9984    0.9829    0.4311    1.0000    0.9986    0.95300.9980    0.9835    0.9948    0.9763    0.4204    0.9986    1.0000    0.95690.9510    0.9485    0.9462    0.9391    0.4557    0.9530    0.9569    1.0000
>>

相关系数矩阵中 r16=r61=0.9999r_{16} = r_{61} = 0.9999r16​=r61​=0.9999,很接近于1,指标 x1,x6x_1, x_6x1​,x6​ 几乎线性相关,保留其中的一个指标如 x6x_6x6​,接下来根据保留下来的指标变量进行综合评价:

% 去除第1列中的数据后,将数据标准化
A1 = A(:, 2:8) ./ [ones(17, 1) * std(A(:, 2:8))];
[r, c] = size(A1);
% 计算特征值与特征向量
[v, d] = eig(corrcoef(A1));
% 各主成分贡献率
w = sum(d) / sum(sum(d))% 计算各个主成分得分
F = [A1 - ones(r, 1) * mean(A1)] * v(:, c);
% F1 按从大到小的顺序给个主成分得分排名,I1 给出各个名次的序号
[F1, I1] = sort(F, "descend");
% 再次排序,I2 给出个城市排名,即所求排名
[~, I2] = sort(I1);
city = ["合肥", "淮北", "亳州", "宿州",  "蚌埠",  "阜阳",  "淮南",  "滁州",  "六安",  "马鞍山", "巢湖", "芜湖", "宣城", "铜陵",  "池州",  "安庆", "黄山"];
for i = 1:rfprintf("%s\t%d\n", city(i), I2(i))
end

输出如下:

v =0.3956    0.7667    0.1603    0.1779   -0.1890    0.0129    0.4031-0.4365   -0.1233    0.7062   -0.2626   -0.2195   -0.1371    0.3995-0.2188   -0.2950   -0.2222    0.7606   -0.2762   -0.0317    0.3999-0.0404   -0.0772   -0.0125   -0.1146    0.0114    0.9655    0.21650.6720   -0.5053   -0.0803   -0.2948   -0.1447   -0.1364    0.4003-0.3897    0.2190   -0.6421   -0.4508   -0.0550   -0.1495    0.3991-0.0059   -0.0264    0.0854    0.1328    0.9032   -0.0835    0.3894d =0.0001         0         0         0         0         0         00    0.0004         0         0         0         0         00         0    0.0041         0         0         0         00         0         0    0.0218         0         0         00         0         0         0    0.0791         0         00         0         0         0         0    0.7643         00         0         0         0         0         0    6.1302w =0.0000    0.0001    0.0006    0.0031    0.0113    0.1092    0.8757合肥      1
淮北      10
亳州      17
宿州      14
蚌埠      5
阜阳      7
淮南      6
滁州      4
六安      8
马鞍山 3
巢湖      12
芜湖      2
宣城      11
铜陵      13
池州      15
安庆      9
黄山      16

因为最大特征值对应的值是 6.1302,对应列的特征向量是正向量,且其贡献率为 0.8757 > 60%,所以可以用第一主成分得分进行排名。


  1. 数据来源:《安徽统计年鉴2008》 ↩︎

MATLAB利用主成分分析进行综合评价排名相关推荐

  1. 利用主成分分析(PCA)法对基金进行排名

    利用主成分分析(PCA)法对基金进行排名 一.基金指标的计算 1.年化收益率(R) 日基金收益率: r t = N A V t − N A V t − 1 N A V t − 1 r_t=\frac ...

  2. Matlab基于主成分分析(PCA)的平面拟合—点云处理及可视化第2期

    目录 1 概述 2 代码实现 3 可视化验证 完整代码: PCA平面拟合结果: 特别提示:<Matlab点云处理及可视化>系列文章整理自作者博士期间的部分成果,旨在为初入点云处理领域的朋友 ...

  3. matlab pup,matlab利用bar函数画不同颜色直方图

    matlab利用bar函数画直方图,参考文献[1]是matlab官方提供的help文档.里面提供了bar函数的基本用法,但是没有说明如何在同一张图中,为每个bar设置不同的颜色. 例子代码: myda ...

  4. Matlab 利用M文件产生模糊控制器

    Matlab 利用M文件产生模糊控制器 有位朋友咨询了一个问题,想要通过粒子群优化模糊控制的论域范围,在这种情况下,就无法直接通过matlab的fuzzy工具箱来自动生成fis模糊文件,需要通过M文件 ...

  5. ML之RF:基于Matlab利用RF算法实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性

    ML之RF:基于Matlab利用RF算法实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性 目录 输出结果 实现代码 输出结果 更新-- 实现代码 %RF:RF实现根据乳腺肿瘤特征 ...

  6. Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分、篮板、助攻

    Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分.篮板.助攻 目录 输出结果 预测勒布朗詹姆斯的20 ...

  7. matlab求递归问题,matlab利用递归求解差分方程

    导航:网站首页 > matlab利用递归求解差分方程 时间:2018-5-23 matlab利用递归求解差分方程 function y = recur(a,b,n,x,x0,y0); % % y ...

  8. matlab切割肿瘤算法,ML之RF:基于Matlab利用RF算法实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性...

    ML之RF:基于Matlab利用RF算法实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性 目录 输出结果 实现代码 输出结果 更新-- 实现代码 %RF:RF实现根据乳腺肿瘤特征 ...

  9. matlab 自带pca函数,matlab实现主成分分析 princomp函数 PCA中有这个函数

    matlab实现主成分分析 princomp函数 最近看了些主成分分析,混迹Matlab论坛,翻了n多帖子,对princomp函数有了些了解. 在此只讲一些个人理解,并没有用术语,只求通俗. 贡献率: ...

最新文章

  1. MySQL基本了解与使用
  2. PPT|工业互联网关键技术专利态势
  3. c#_Dictionary集合
  4. 微软开源AI诊断工具Error Analysis
  5. mysql5.7.22打不开_windows下mysql-5.7.22-winx64突然启动不了,报错Could not open log file
  6. VMware的屏幕太小
  7. pycharm profile对函数调用效率进行测试
  8. 创建维护计划失败_如何善于创建和维护大型系统
  9. PETSHOP模式IDAL,SQLSERVERDAL,存储过程以及模型类代码的生成工具
  10. hdu1078 FatMouse and Cheese(记忆化搜索)
  11. Charles 基础使用
  12. win10 pro 永久激活
  13. pyautogui图形识别-confidence,grayscale
  14. 数据结构——绪论、时间复杂度
  15. MOS管开关使用方法
  16. 【软件测试理论】(六) 白盒测试方法论说明
  17. python爬取微博热搜数据并保存!
  18. 20175208 张家华 实验四《Android开发基础》实验报告
  19. 决策树方法-对买电脑进行分类预测
  20. JDK8新特性—常用函数式接口

热门文章

  1. 五一出行你准备好了吗?Python帮你预测全国热门景点!
  2. iOS备忘录之自定义代码块
  3. wireshark 安装教程 (解决Failed to create the npcap service: 0x8007007e.)
  4. 服务器ddr3和ddr3性能对比,内存DDR4与DDR3哪个好 ddr3和ddr4性能差多少
  5. mmdetection3d的安装
  6. php批量生成百度加密地址,用php改写百度mp3地址的加密模式
  7. SpringBoot JSON 整合
  8. C++语言程序设计【1】
  9. pyqt5实现手写中文数字识别
  10. Python爬虫框架scrapy的用途及组件认识