主成分分析法MATLAB实现Word格式文档下载.docx
- 文档编号:4506943
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:22
- 大小:24.50KB
主成分分析法MATLAB实现Word格式文档下载.docx
《主成分分析法MATLAB实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《主成分分析法MATLAB实现Word格式文档下载.docx(22页珍藏版)》请在冰点文库上搜索。
j
)
ij
k1
(xx
k1k1
(2)
因为R是实对称矩阵(即rij=rji),所以只需计算上三角元素或下三角元素即可。
②计算特征值与特征向量
首先解特征方程IR0,通常用雅可比法(Jacobi)求出特征值
(i1,2,,p)
i,并使其按大小顺序排列,即12,p0;
然后分别求
出对应于特征值
i的特征向量ei(i1,2,,p)。
这里要求ei=1,即e1,
j1
其中
e表示向量ei的第j个分量。
③计算主成分贡献率及累计贡献率
主成分
z的贡献率为
(i1,2,,p)p
k
累计贡献率为
1ip
(1,2,,)p
一般取累计贡献率达85—95%的特征值,2,,
1所对应的第一、第
m
二,⋯,第m(m≤p)个主成分。
④计算主成分载荷
其计算公式为
lp(z,x)e(i,j1,2,,p)
ij(3)
ijiij
得到各主成分的载荷以后,还可以按照(3.5.2)式进一步计算,得到各主
成分的得分
z
1m
Z
2m
n1
n2
nm
(4)
2.函数作用
Cwstd.m——用总和标准化法标准化矩阵
Cwfac.m——计算相关系数矩阵;
计算特征值和特征向量;
对主成分进行
排序;
计算各特征值贡献率;
挑选主成分(累计贡献率大于85%),输出主成分
个数;
计算主成分载荷
Cwscore.m——计算各主成分得分、综合得分并排序
Cwprint.m——读入数据文件;
调用以上三个函数并输出结果
1.2源程序
3.1cwstd.m总和标准化法标准化矩阵
%cwstd.m,用总和标准化法标准化矩阵
functionstd=cwstd(vector)
cwsum=sum(vector,1);
%对列求和
[a,b]=size(vector);
%矩阵大小,a为行数,b为列数
fori=1:
a
forj=1:
b
std(i,j)=vector(i,j)/cwsum(j);
end
3.2cwfac.m计算相关系数矩阵
%cwfac.m
functionresult=cwfac(vector);
fprintf('
相关系数矩阵:
\n'
std=CORRCOEF(vector)%计算相关系数矩阵
特征向量(vec)及特征值(val):
[vec,val]=eig(std)%求特征值(val)及特征向量(vec)
newval=diag(val);
[y,i]=sort(newval);
%对特征根进行排序,y为排序结果,i为索引
特征根排序:
\n'
forz=1:
length(y)
newy(z)=y(length(y)+1-z);
%g\n'
newy)
rate=y/sum(y);
\n贡献率:
newrate=newy/sum(newy)
sumrate=0;
newi=[];
fork=length(y):
-1:
1
sumrate=sumrate+rate(k);
newi(length(y)+1-k)=i(k);
ifsumrate>
0.85break;
end%记下累积贡献率大85%的特征值的序号放入newi中
主成分数:
%g\n\n'
length(newi));
主成分载荷:
forp=1:
length(newi)
forq=1:
result(q,p)=sqrt(newval(newi(p)))*vec(q,newi(p));
end%计算载荷
disp(result)
3.3cwscore.m
%cwscore.m,计算得分
functionscore=cwscore(vector1,vector2);
sco=vector1*vector2;
csum=sum(sco,2);
[newcsum,i]=sort(-1*csum);
[newi,j]=sort(i);
计算得分:
score=[sco,csum,j]
%得分矩阵:
sco为各主成分得分;
csum为综合得分;
j为排序结果
3.4cwprint.m
%cwprint.m
functionprint=cwprint(filename,a,b);
%filename为文本文件文件名,a为矩阵行数(样本数),b为矩阵列数(变量指标数)
fid=fopen(filename,'
r'
vector=fscanf(fid,'
%g'
[ab]);
标准化结果如下:
v1=cwstd(vector)
result=cwfac(v1);
cwscore(v1,result);
3.2程序测试
4.1原始数据
中国大陆35个大城市某年的10项社会经济统计指标数据见下表。
城市
名称
年底
总人口
(万人)
非农
人口比
(%)
农业
总产值
(万元)
工业
客运货运地方财政
总量
(万吨)
预算内收
入(万元)
城乡居民
年底储蓄
余额
在岗职
工人数
在岗职工
工资总额
北京1249.90
1.3
8
1843427
19999
706
20
323
45
562
2790863
26806
646
3.35773301
天津910.17
4.2
9
1501136
22645
502
3259
26
317
1128073
11301
931
202.682254343
石家庄875.40
0.233
2918680688576829291911352348709587595.60758877
太原299.92
0.656
3
23603827377501937
895
203277394310088.65654023
呼和浩特207.78
0.441
36534381645223512623105783139658842.11309337
沈阳677.08
0.629
129541858267337782
15
412
5679199016998135.451152811
大连545.31
0.494
6
18797398426385
10
780
19
187
709227755679694.15965922
长春691.23
0.406
18532105966343481095323570964803744102.63884447
哈尔滨927.09
0.462
7
26638554186123672075204814436450020172.791309151
上海1313.12
0.738
4
2069019
54529
098
6406
44
485
4318500
25971
200
336.845605445
南京537.44
0.534
989199
13072
737
14
269
193
6642995680472113.811357861
杭州616.05
0.355
1414737
12000
796
17
883
684
449593742596796.901180947
宁波538.41
0.254
1428235
10622
866
215
298
501723524635062.15824034
合肥429.95
0.318
628764251412548931517233628162293147.27369577
福州583.13
0.273
2152288655535188517190467524503022069.59680607
厦门128.99
0.486
5
333374575112437282570418758210833146.93657484
南昌424.20
0.398
688289230588136743189167714264046062.08479,555
济南557.630.40814863026285882591511460690412697083.31756696
5775
青岛702.97
1.4
2382320
11492
036
13
408
038
6584354978045103.52961704
郑州615.36
3.4
6774255287601
433
6768387252513533884.66696848
武汉740.20
4.3
121129175060859793
442
6046585748055149.201314766
长沙582.47
202.69
1146367309817987065718323660346124469.57596986
广州685.00
0.234
1600738
23348
139
007
23
854
1761499
20401
811
0.6573047594
深圳119.85
0.442
299662
20368
295
875442741847908951990091.261890338
南宁285.87
0.630
720486114969151303293149700219091845.09371809
海口54.38
0.495
4481571746153452356115174162680019.01198138
重庆3072.34
0.407
41687808585525
52
441
25
124
898,9129090969223.731606804
成都1003.560.33519355905894289
40
140
632
5611897479684132.891200671
贵阳321.50
0.463
3620612247934
703
4143197908178774855.28419681
昆明473.39
0.739
79335636057295604
042
524216412790088.11842321
西安674.50
336.85
7399053665942
311
97664088965863980114.01885169
兰州287.59
0.535
259444294088418324749169540264156865.83550890
西宁133.95
0.356
65848711310174614694913485505127.21219251
银川95.38
0.255
171603661226210611937475881410323.72178621
乌鲁木齐158.92
0.319
78513184724126689041254870236550855.27517622
1.5运行结果
>
cwprint('
cwbook.txt'
35,10)
fid=
数据标准化结果如下:
v1=
3.50.03560.04350.06800.05570.11120.11940.11840.1083
4.4
202.700.03460.03540.07700.00890.06420.04830.04990.0534
0.235
0.6580.01390.06880.02340.00800.00470.01510.03140.0252
0.443
0.6310.03910.00560.00930.00530.02900.00870.01740.0234
0.496
0.4080.02630.00860.00280.00640.00640.00450.00620.0111
0.464
1.60.03750.03050.01980.02130.03760.02430.03980.0357
3.6
4.50.02950.04430.02860.02950.04680.03040.03340.0248
202.71
0.2360.02420.04370.02030.01320.02330.01530.02120.0270
0.659
0.4440.02760.06280.01420.01840.01840.02060.02850.0455
0.632
0.4970.04400.04880.18530.01760.10860.18480.11480.0888
0.409
0.4650.03180.02330.04440.03910.02730.02840.02510.0300
0.740
336.860.02120.03340.04080.04900.02850.01920.03280.0255
0.536
0.3570.01520.03370.03610.06090.02510.02150.02320.0164
0.256
0.2570.01900.01480.00850.01340.00370.01000.00720.0125
0.320
0.2740.01630.05080.02230.02430.01750.02000.02220.0183
0.487
0.3990.02900.00790.01950.01020.00630.01790.00930.0124
0.159
1.70.02370.01620.00780.01010.00780.00720.01170.0164
3.7
4.60.02430.03500.02140.01620.02870.01970.01820.0220
202.72
0.2370.02200.05620.03910.03670.04160.02820.02200.0273
0.660
0.4450.02040.01600.01800.02860.01650.01660.02270.0223
0.633
0.4980.03490.02860.02550.02680.03770.02590.02540.0393
0.410
0.4660.01850.02700.01050.02390.01400.01390.01530.0183
0.741
336.870.03700.03770.07930.06030.05820.07540.09010.0482
0.537
0.3580.04720.00710.06920.02400.01040.07910.04210.0240
0.258
0.3210.02420.01700.00390.01410.00800.00640.00970.0119
0.275
0.4880.04970.00110.00240.01460.00570.00490.00720.0050
0.400
0.1600.01230.09830.02920.14370.06130.03850.04020.0590
0.387
1.80.01990.04560.02000.11000.04790.02400.03310.0350
3.8
4.70.02710.00850.00760.04300.01010.00850.00790.0146
202.73
0.2380.02300.01870.01230.01540.02940.02240.01820.0232
0.661
0.4460.02440.01740.01250.02830.02380.01750.02590.0300
0.634
0.4990.03240.00610.01000.00500.01160.00730.01170.0173
0.411
0.4670.03110.00160.00240.00480.00360.00210.00380.0072
0.742
336.880.03400.00400.00220.00580.00290.00320.00360.0063
0.538
0.3590.04910.00190.00630.00730.02210.01090.01050.0146
0.259
相关系数矩阵:
std=
0.322-0.34440.84250.36030.73900.62150.40390.49670.6761
1.9
-0.34441.0000-0.47500.3096-0.35390.19710.35710.26000.1570
3.9
4.8-0.47501.00000.33580.58910.50560.32
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 成分 分析 MATLAB 实现