如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
统计与数学模型分析实验中心
《 MATLAB数据分析方法》实验报告
实验名称:主成分分析实验使用软件名称:MATLAB
目的1.熟练掌握利用matlab软件进行主成分分析的计算步骤。
2.掌握选择主成分个数的原则以及利用特征值建立权向量的方法。
3.能根据主成分的数学公式,针对实际问题给出主成分的合理解释。
实验内容
主成分分析实验:
实验数据表见表一
表1各地区国有及国有控股工业企业主要经济效益指标
地区工业
增加值率总资产
贡献率资产
负债率流动资产
周转次数工业成本
费用利润率产品
销售率北京25.925.5234.042.057.9399.19天津34.2916.1862.662.6212.4499.58河北29.4611.8761.022.537.2399.34山西37.5811.2867.651.958.6898.18内蒙古47.3611.4362.232.2113.899.08辽宁28.738.8660.882.174.1499.21吉林30.3115.1458.532.669.2695.97黑龙江52.1233.6755.262.5632.9499.21上海27.3912.4245.622.138.0499.26江苏26.4514.0258.992.886.9199.64浙江24.4814.8258.813.186.1799.65安徽35.1310.6365.652.394.9598.4福建29.7612.6759.342.418.1199.54江西26.751265.122.515.698.69山东31.617.6459.022.949.9199.36河南37.713.0265.022.686.8698.58湖北33.7510.6554.282.179.8798.56湖南35.9616.6262.352.62799.32广东32.8417.6848.652.8812.8599.36广西32.3112.1264.042.457.72101.2海南35.0213.5949.412.3414.5101.23重庆32.9611.9759.242.035.9796.58四川3710.7263.541.78.6298.8贵州37.4912.5265.691.868.9798.35云南41.2220.9449.161.8512.4499.42西藏63.033.3220.40.5310.7690.38陕西43.6716.6157.281.9117.8298.36甘肃26.5713.4258.382.547.5198.31青海41.6214.5863.151.9226.5998.11宁夏38.988.2763.531.835.0798.53新疆45.5825.8449.363.1629.88100.29(1)根据指标的属性将原始数据统一趋势化。
(2)利用协方差、相关系数矩阵进行主成分分析,可否只用第一主成分排名?
(3)构造新的实对称矩阵,使得可以只用第一主成分排名。
(4)排名的结果是否合理?为什么?
程序:
clc,clear
A=load('shiyan4_1.txt');
[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(A(:,5)))./(max(A(:,5))-min(A(:,5)));
A6=(A(:,6)-min(A(:,6)))./(max(A(:,6))-min(A(:,6)));
A=[A1,A2,A3,A4,A5,A6];
%利用相关系数矩阵进行主成分分析
R=corrcoef(A);
%在指标中无明显的共线关系
[v,d]=eig(R);%计算特征值与特征向量
%输出结果显示,最大特征值对应的不是正向量,所以不能用第一主成分进行排名
%利用协方差矩阵进行主成分分析
R1=cov(A);
[v1,d1]=eig(R1);
%输出结果显示,最大特征值对应的不是正向量,所以不能用第一主成分进行排名
%利用R矩阵进行主成分分析
fori=1:n
forj=1:n
R2(i,j)=2*dot(A(:,i),A(:,j))./[sum(A(:,i).^2)+sum(A(:,j).^2)]