主成分分析法MATLAB实现.docx

上传人:b****6 文档编号:9085919 上传时间:2023-02-03 格式:DOCX 页数:17 大小:34.76KB
下载 相关 举报
主成分分析法MATLAB实现.docx_第1页
第1页 / 共17页
主成分分析法MATLAB实现.docx_第2页
第2页 / 共17页
主成分分析法MATLAB实现.docx_第3页
第3页 / 共17页
主成分分析法MATLAB实现.docx_第4页
第4页 / 共17页
主成分分析法MATLAB实现.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

主成分分析法MATLAB实现.docx

《主成分分析法MATLAB实现.docx》由会员分享,可在线阅读,更多相关《主成分分析法MATLAB实现.docx(17页珍藏版)》请在冰豆网上搜索。

主成分分析法MATLAB实现.docx

主成分分析法MATLAB实现

MATLAB

指导老师:

M

aa:

信管121

:

桂亚东

学号:

8

利用Matlabi程实现主成分分林

欄述

Matlabi§言是当今国际上科学界(尤其是自动腔制领域)最具影响力、也是最有活力的狀件。

它起源于葩阵运算,并已经发展成一种高IS集成的廿算机培言。

它提哄了強大的科学运算、灵活的程序设it流程、高质量的图形可視化与界面设廿、与其他程序和培言的便捷接口的功能。

Matlab培言在各国高校与研究单位起着重大的作用。

主成分分折是把原来多个变量则为少数几个妹合指标的一种貌计分折方法,从数学角度来看,这是一种降绒处理技术。

1.1主成分分析廿算步骤

1it算相关系数矩阵

在(353)式中,";j=1929…,为原变量的力与M之间的相关系

数,其廿算公式为

riJ=

为(心-耳)(%-兀)

(弘-可吩(切一石尸

V1z

因为R是实对称矩阵(即厶"),所以只需廿算上三用元素或下三舟元素即可。

2廿算特征值与特征向量

首先解特征方程\AJ-R\=O,通常用雅可比法(Jacobi)求岀特征值兄&=1,2,…丿),并使其按大小噸序排列,^^>^>-,>^>0;滋后分别求岀对应干特征值人的特征向量勺(心1,2,…丿)。

这里要求I^.||=1,其

J=l

中%表示向量©的第/•个分量。

3廿算主成分硫献率及累itfiS率

主成分◎的贡献率为

-^―(/=1,2,•••,/?

Jt=l

(心1,2,…丿)

Jt=l

一般取累计贡献率达85-95%的特征值2,,九,…,九所对应的第一、第二,…,第m(mwp)f主成分。

4it算主成分载荷

其计算公式为

hj=P(G,x_/)=eijQ,j=12…,p)(3)

得到各主成分的载荷以后,还可以按照(3.5.2)武进一步计算,得到各主成分的得分

^'Ini

Z11可2

z=灯3

.“I“2

2.函数作用

Cwstd.m一用总和标准化法标准化矩阵

Cwfac.m一廿算相关系数矩阵;计算特征值和特征向量;对主成分进行排

序;廿算各特征值质献率;挑选主成分(累廿质献率大于85%\输出主成分个

»;廿算主成分数荷

Cwscore.mit算各主威分得分、综合得分并排序

Cwprint.m一读入数据文件;调用以上三个函数并输岀结果

3•源程序

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(ij)/cwsum(j);

end

end

3.2cwfac.mit算相关系数矩阵

%cwfac.m

functionresult=cwfac(vector);

fprintfCffl关系数矩阵:

\n')

std=CORRCOEF(vector)%it算相关系数拒阵

fprintf('将征向量(vec)及符征ffi(val):

\n')

[vec,val]=eig(std)%求特征值(val)及特征向量(vec)nev/val=diag(val);

(y,i]=sort(newval);%对特征根进行井序,y为排序结果,i为索引fprintfCU征根H序:

W)

forz=1:

length(y)

newy(z)=y(length(y)+1-z);

end

fprintf('%g\n\newy)

rate=y/sum(y);

fprintf('\n贡献率:

\n')

nevjrate=nev/y/sum(nev/y)

sumrate=O;

newi=[);

fork=length(y):

-1:

1

sumrate=sumrate+rate(k);

newi(length(y)+1-k)=i(k);

ifsumrate>0.85break;

end

end%记卞累枳质献率大85%的特征個的序号笊人newi中

fprintf(注成分数:

%g\n\n,,length(newi));

fprintf(注成分我荷:

\n')

forp=1:

length(newi)

forq=1:

length(y)result(q,p)=sqrt(newval(newi(p)))*vec(q?

newi(p));

end

end%廿算我荷

disp(result)

3.3cwscore.m

%cwscore.m,it算得分

functionscore=cv/score(vector1,vector2);

sco=vector1*vector2;

csum=sum(sco,2);

[newcsumti]=sort(-1*csum);

(newi,j]=sort(i);

fprintfCit算得分:

\n*)

score=[scoJcsumj]

%得分矩H:

scoJi各主成分得分;csum为综合得分;j为U序结果

3.4cwprint.m

%cwprint.m

functionprint二cwprint(filenameab);

%filename»文本文件文件名,a为矩眸行数(样本数),b为矩阵列数(变量指标数)tid=fopen(filename/r,)

vector=fscant(fid,'%o1,[ab]);

fprintf('标准化给果如下:

\n')

v1二cwstd(vector)

result二cwfac(v1);

cwscore(v1jesult);

4.程序测试

4.1原始数据

中国大陆35个大城市某年的10Bitt会经济标数据见下表。

城帀

年辰

非农业

农业

工业

容运

地方u或

城乡居艮

在岗职

在岗职工

总人口

人口比

总产值

收人

年Ktii余瀑

工人数

工资忠竄

(牙人)

(%)

(H元)

(万元)

(万人)

(万盹)

(JJ元)

OJ元)

(耳人)

(JJ元)

北京

1249.90

0.5978

1843427

19999706

20323

45562

2790863

26806646

410.80

5773301

天津

910.17

0.5809

1501136

22645502

3259

26317

1128073

11301931

202.68

2254343

石家圧

875.40

0.2332

2918680

6885768

2929

1911

352348

7095875

95.60

758877

299.92

0.6563

236038

2737750

1937

11895

203277

3943100

88.65

654023

呼和浩特

207.78

0.4412

365343

816452

2351

2623

105783

1396588

42.11

309337

n

677.08

0.6299

1295418

5826733

7782

15412

567919

9016998

135.45

1152811

大连

545.31

0.4946

1879739

8426385

10780

19187

709227

7556796

94.15

965922

长春

691.23

0.4068

1853210

5966343

4810

9532

357096

4803744

102.63

884447

927.09

0.4627

2663855

4186123

6720

7520

481443

6450020

172.79

1309151

上涸

1313.12

0.7384

2069019

54529098

6406

44485

4318500

25971200

336.84

5605445

甫京

537.44

0.5341

989199

13072737

14269

11193

664299

5680472

113.81

1357861

616.05

0.3556

1414737

12000796

17883

11684

449593

7425967

96.90

1180947

538.41

0.2547

1428235

10622866

22215

10298

501723

5246350

62.15

824034

台肥

429.95

0.3184

628764

2514125

4893

1517

233628

1622931

47.27

369577

福卅

583.13

0.2733

2152288

6555351

8851

7190

467524

5030220

69.59

680607

®n

128.99

0.4865

333374

5751124

3728

2570

418758

2108331

46.93

657484

南昌

424.20

0.3988

688289

2305881

3674

3189

167714

2640460

62.08

479,555

557.63

0.4085

1486302

6285882

5915

11775

460690

4126970

83.31

756696

702.97

0.3693

2382320

11492036

13408

17038

658435

4978045

103.52

961704

615.36

0.3424

677425

5287601

10433

6768

387252

5135338

84.66

696848

武汉

740.20

0.5869

1211291

7506085

9793

15442

604658

5748055

149.20

1314766

长沙

582.47

0.3107

1146367

3098179

8706

5718

323660

3461244

69.57

596986

广州

685.00

0.6214

1600738

23348139

22007

23854

1761499

20401811

182.81

3047594

深n

119.85

0.7931

299662

20368295

8754

4274

1847908

9519900

91.26

1890338

甫〒

285.87

0.4064

720486

1149691

5130

3293

149700

2190918

45.09

371809

海口

54.38

0.8354

44815

717461

5345

2356

115174

1626800

19.01

198138

3072.34

0.2067

4168780

8585525

52441

25124

898.912

9090969

223.73

1606804

1003.56

0.335

1935590

5894289

40140

19632

561189

7479684

132.89

1200671

贵讯

321.50

0.4557

362061

2247934

15703

4143

197908

1787748

55.28

419681

n明

473.39

0.3865

793356

3605729

5604

12042

524216

4127900

88.11

842321

西安

674.50

0.4094

739905

3665942

10311

9766

408896

5863980

114.01

885169

兰卅

287.59

0.5445

259444

2940884

1832

4749

169540

2641568

65.83

550890

西〒

133.95

0.5227

65848

711310

1746

1469

49134

855051

27.21

219251

和II

95.38

0.5709

171603

661226

2106

1193

74758

814103

23.72

178621

乌曾木齐

158.92

0.8244

78513

1847241

2668

9041

254870

2365508

55.27

517622

4.2运行结果

»cwprint('cwbook.txt1,35.10)

fid=

6

数据标准化结果如下:

v1=

0.05810.03560.04350.06800.05570.11120.11940.11840.10830.1392

0.04230.03460.03540.07700.00890.06420.04830.04990.05340.0544

0.04070.01390.06880.02340.00800.00470.01510.03140.02520.0183

0.01390.03910.00560.00930.00530.02900.00870.01740.02340.0158

0.00970.02630.00860.00280.00640.00640.00450.00620.01110.0075

0.03150.03750.03050.01980.02130.03760.02430.03980.03570.0278

0.0253

0.0295

0.0443

0.0286

0.02950.04680.03040.03340.0248

0.0233

0.0321

0.0242

0.0437

0.0203

0.0132

0.0233

0.0153

0.0212

0.0270

0.0213

0.0431

0.0276

0.06280.01420.01840.01840.02060.02850.0455I

D.0316

0.0610

0.0440

0.0488

0.18530.0176

0.1086

0.1848

0.11480.0888I

D.1352

0.0250

0.0318

0.0233

0.0444

0.03910.02730.02840.02510.0300

0.0327

0.0286

0.0212

0.0334

0.0408

0.04900.02850.01920.03280.0255

0.0285

0.0250

0.0152

0.0337

0.0361

0.0609

0.02510.02150.02320.0164

0.0199

0.0200

0.0190

0.0148

0.0085

0.0134

0.0037

0.0100

0.0072

0.01250.0089

0.0271

0.0163

0.0508

0.0223

0.0243

0.0175

0.0200

0.0222

0.01830.0164

0.0060

0.0290

0.0079

0.0195

0.0102

0.0063

0.0179

0.0093

0.01240.0159

0.0197

0.0237

0.0162

0.0078

0.0101

0.0078

0.0072

0.0117

0.01640.0116

0.0259

0.0243

0.0350

0.0214

0.0162

0.0287

0.0197

0.0182

0.0220

0.0182

0.0327

0.0220

0.0562

0.0391

0.0367

0.0416

0.0282

0.0220

0.0273

0.0232

0.0286

0.0204

0.0160

0.0180

0.0286

0.0165

0.0166

0.0227

0.0223

0.0168

0.0344

0.0349

0.0286

0.0255

0.0268

0.0377

0.0259

0.0254

0.0393

0.0317

0.0271

0.0185

0.0270

0.0105

0.0239

0.0140

0.01390.01530.0183

0.0144

0.0318

0.0370

0.0377

0.0793

0.0603

0.0582

0.0754

0.0901

0.04820.0735

0.0056

0.0472

0.0071

0.0692

0.0240

0.0104

0.0791

0.0421

0.0240

0.0456

0.0133

0.0242

0.0170

0.0039

0.0141

0.0080

0.0064

0.0097

0.0119

0.0090

0.0025

0.04970.00110.00240.01460.00570.00490.00720.0050

0.0048

0.1428

0.0123

0.0983

0.0292

0.14370.06130.03850.04020.0590

0.0387

0.0466

0.0199

0.0456

0.0200

0.1100

0.04790.02400.03310.0350

0.0290

0.0149

0.0271

0.0085

0.0076

0.0430

0.0101

0.0085

0.0079

0.0146

0.0101

0.0220

0.0230

0.0187

0.0123

0.0154

0.0294

0.0224

0.0182

0.0232

0.0203

0.0313

0.0244

0.0174

0.0125

0.0283

0.0238

0.0175

0.0259

0.0300

0.0213

0.0134

0.0324

0.0061

0.0100

0.0050

0.0116

0.0073

0.0117

0.0173

0.0133

0.0062

0.0311

0.0016

0.0024

0.0048

0.0036

0.0021

0.0038

0.0072

0.0053

0.0044

0.0340

0.0040

0.0022

0.0058

0.0029

0.0032

0.0036

0.00630.0043

0.0074

0.0491

0.0019

0.0063

0.0073

0.0221

0.0109

0.0105

0.0146

0.0125

相关系数矩阵:

std=

1.0000

-0.3444

0.8425

0.3603

0.7390

0.6215

0.4039

0.4967

0.6761

0.4689

-0.3444

1.0000

-0.4750

0.3096-0.3539

0.1971

0.3571

0.2600

0.1570

0.3090

0.8425

-0.4750

1.0000

0.3358

0.5891

0.5056

0.3236

0.4456

0.5575

0.3742

0.3603

0.3096

0.3358

1.0000

0.1507

0.7664

0.9412

0.8480

0.7320

0.8614

0.7390

-0.3539

0.5891

0.1507

1.0000

0.4294

0.1971

0.3182

0.3893

0.2595

0.6215

0.1971

0.5056

0.7664

0.4294

1.0000

0.8316

0.8966

0.9302

0.9027

0.4039

0.3571

0.3236

0.9412

0.19710.83161.00000.92330.83760.9527

0.4967

0.2600

0.4456

0.8480

0.3182

0.8966

0.9233

1.0000

0.9201

0.9731

0.67610.1570

0.5575

0.7320

0.38930.9302

0.83760.9201

1.0000

0.9396

0.46890.3090

0.3742

0.8614

0.25950.9027

0.95270.9731

0.9396

1.0000

特征向量(vec):

vec=

-0.13670.2282

-0.2628

0.1939

0.6371-0.2163

0.3176-0.1312

-0.4191

0.2758

-0.0329-0.0217

0.0009

0.0446

-0.1447-0.4437

0.4058-0.55620.5487

0.0593

-0.0522-0.02800.2040-0.0492-0.5472-0.42250.34400.3188-0.4438

0.24010.0067-0.4176-0.2856・0.23890.1926-0.4915-0.41890.27260.2065

0.3403

0.0404

0.1408

0.0896

0.0380-0.1969

-0.0437-0.4888

-0.6789

-0.4405

0.1861

-0.0343

0.2360

0.0640

-0.8294

0.03770.2662

0.1356-0.1290

0.0278

0.3782

0.2981

0.4739

0.5685

0.2358

0.1465-0.1502

-0.26310.1245

0.2152

0.3644

0.1567

0.3464

-0.6485

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1