主成分分析报告matlab程序.docx

上传人:b****8 文档编号:27919891 上传时间:2023-07-06 格式:DOCX 页数:20 大小:38.94KB
下载 相关 举报
主成分分析报告matlab程序.docx_第1页
第1页 / 共20页
主成分分析报告matlab程序.docx_第2页
第2页 / 共20页
主成分分析报告matlab程序.docx_第3页
第3页 / 共20页
主成分分析报告matlab程序.docx_第4页
第4页 / 共20页
主成分分析报告matlab程序.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

主成分分析报告matlab程序.docx

《主成分分析报告matlab程序.docx》由会员分享,可在线阅读,更多相关《主成分分析报告matlab程序.docx(20页珍藏版)》请在冰豆网上搜索。

主成分分析报告matlab程序.docx

主成分分析报告matlab程序

 

Matlab编程实现主成分分析

.程序结构及函数作用

在软件Matlab中实现主成分分析可以采取两种方式实现:

一是通过编程来实现;二是直接调用Matlab种自带程序实现。

下面主要主要介绍利用Matlab的矩阵计算功能编程实现主成分分析。

1程序结构

2函数作用

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

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

序;计算各特征值贡献率;挑选主成分(累计贡献率大于85%),输出主成分个

数;计算主成分载荷

Cwscore.计算各主成分得分、综合得分并排序

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

3.源程序

3.1cwstd.m总和标准化法标准化矩阵

%cwstd.m用总和标准化法标准化矩阵

functionstd=cwstd(vector)

cwsum=sum(vector,1);%对歹U求和

[a,b]=size(vector);%矩阵大小,a为行数,b为列数

fori=1:

a

forj=1:

b

std(i,j)=vector(i,j)/cwsum(j);

end

end

3.2cwfac.m计算相关系数矩阵

%cwfac.m

functionresult=cwfac(vector);

fprintf('相关系数矩阵:

\n')

std=CORRCOEF(vector)%计算相关系数矩阵

fprintf('特征向量(vec)及特征值(val):

\n')

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

newval=diag(val);

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

fprintf('特征根排序:

\n')forz=1:

length(y)

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

end

fprintf('%g\n',newy)

rate=y/sum(y);

fprintf('\n贡献率:

\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

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计算得分

functionscore=cwscore(vector1,vector2);sco=vector1*vector2;

csum=sum(sco,2);[newcsum,i]=sort(-1*csum);

[newi,j]=sort(i);

fprintf('计算得分:

\n')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]);

fprintf('标准化结果如下:

\n')v1=cwstd(vector)result=cwfac(v1);

cwscore(v1,result);

4.程序测试例题

4.1原始数据

中国大陆35个大城市某年的10项社会经济统计指标数据见下表。

城市名称

年底

总人口

(万人)

非农业人口

(%)

农业总产值(万元)

工业总产值

(万元)

客运总量

(万

人)

货运

总量

(万吨)

地方财政

预算内

收入(万元)

城乡居民年底储蓄余额

(万元)

在岗职工人数

(万人)

在岗职工工资总额

(万元)

1

0.597

1843

19999

20

45

2790

26806

aanQf

5773

249.90

8

427

706

323

562

863

646

410.80

301

0.580

1501

22645

3

26

1128

11301

2254

910.17

202.68

9

136

502

259

317

073

931

343

石家

0.233

2918

6885

2

1

7095

875.40

352348

95.60

758877

2

680

768

929

911

875

0.656

2737

1

11

3943

299.92

2360381

203277

88.65

654023

3

750

937

895

100

呼和浩

0.441

2

2

1396

207.78

3653431

816452

105783

42.11

309337

2

351

623

588

0.629

1295

5826

7

15

9016

1152

677.08

567919

135.45

9

418

733

782

412

998

811

0.494

1879

8426

10

19

7556

545.31

709227

94.15

965922

6

739

385

780

187

796

0.406

1853

5966

4

9

4803

691.23

357096

102.63

884447

8

210

343

810

532

744

哈尔

0.462

2663

4186

6

7

6450

1309

927.09

481443

172.79

7

855

123

720

520

020

151

1

0.738

2069

54529

6

44

4318

25971

QQOaA

5605

313.12

4

019

098

406

485

500

200

336.84

445

0.534

13072

14

11

5680

1357

537.44

9891991

664299

113.81

1

737

269

193

472

861

0.355

1414

12000

17

11

7425

1180

616.05

449593

96.90

6

737

796

883

684

967

947

/宁

0.254

1428

10622

22

10

5246

538.41

501723

62.15

824034

7

235

866

215

298

350

0.318

2514

4

1

1622

429.95

6287641

233628

47.27

369577

4

125

893

517

931

0.273

2152

6555

8

7

5030

583.13

467524

69.59

680607

3

288

351

851

190

220

0.486

5751

3

2

2108

>—r

128.99

3333741

418758

46.93

657484

5

124

728

570

331

0.398

2305

3

3

2640

424.20

6882891

167714

62.08

479,555

8

881

674

189

460

济南

557.63

0.408

5

1486

302

6285

882

5

915

11

775

460690

4126

970

83.31

756696

702.97

0.369

3

2382

320

11492

036

13

408

17

038

658435

4978

045

103.52

961704

郑州

615.36

0.342

4

677425

5287

601

10

433

6

768

387252

5135

338

84.66

696848

武汉

740.20

0.586

9

1211

291

7506

085

9

793

15

442

604658

5748

055

149.2C

1314

766

长沙

582.47

0.310

7

1146

367

3098

179

8

706

5

718

323660

3461

244

69.57

596986

广

685.00

0.621

1600

23348

22

23

1761

20401

182.81

3047

4

738

139

007

854

499

811

594

深圳

119.85

0.793

1

299662

20368

295

8

754

4

274

1847

908

9519

900

91.26

1890

338

/宁

285.87

0.406

4

720486

1149

691

5

130

3

293

149700

2190

918

45.09

371809

海口

54.38

0.835

4

44815

717461

5

345

2

356

115174

1626

800

19.01

198138

3

0.206

4168

8585

52

25

898,912

9090

223.73

1606

072.34

7

780

525

441

124

969

804

成都

1

003.56

0.335

1935

590

5894

289

40

140

19

632

561189

7479

684

132.89

1200

671

贵阳

321.50

0.455

7

362061

2247

934

15

703

4

143

197908

1787

748

55.28

419681

昆明

473.39

0.386

5

793356

3605

729

5

604

12

042

524216

4127

900

88.11

842321

西安

674.50

0.409

4

739905

3665

942

10

311

9

766

408896

5863

980

114.01

885169

287.59

0.544

5

259444

2940

884

1

832

4

749

169540

2641

568

65.83

550890

西

/宁

133.95

0.522

7

65848

711310

1

746

1

469

49134

855051

27.21

219251

银川

95.38

0.570

9

171603

661226

2

106

1

193

74758

814103

23.72

178621

乌鲁木齐

158.92

0.824

4

78513

1847

241

2

668

9

041

254870

2365

508

55.27

517622

4.2运行结果

>>cwprint('cwbook.txt',35,10)

fid=

6

数据标准化结果如下:

v1=

0.0581

0.0356

0.0435

0.0680

0.0557

0.1112

0.1194

0.1184

0.1083

0.1392

0.0423

0.0346

0.0354

0.0770

0.0089

0.0642

0.0483

0.0499

0.0534

0.0544

0.0407

0.0139

0.0688

0.0234

0.0080

0.0047

0.0151

0.0314

0.0252

0.0183

0.0139

0.0391

0.0056

0.0093

0.0053

0.0290

0.0087

0.0174

0.0234

0.0158

0.0097

0.0263

0.0086

0.0028

0.0064

0.0064

0.0045

0.0062

0.0111

0.0075

0.0315

0.0375

0.0305

0.0198

0.0213

0.0376

0.0243

0.0398

0.0357

0.0278

0.0253

0.0295

0.0443

0.0286

0.0295

0.0468

0.0304

0.0334

0.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.0628

0.0142

0.0184

0.0184

0.0206

0.0285

0.0455

0.0316

0.0610

0.0440

0.0488

0.1853

0.0176

0.1086

0.1848

0.1148

0.0888

0.1352

0.0250

0.0318

0.0233

0.0444

0.0391

0.0273

0.0284

0.0251

0.0300

0.0327

0.0286

0.0212

0.0334

0.0408

0.0490

0.0285

0.0192

0.0328

0.0255

0.0285

0.0250

0.0152

0.0337

0.0361

0.0609

0.0251

0.0215

0.0232

0.0164

0.0199

0.0200

0.0190

0.0148

0.0085

0.0134

0.0037

0.0100

0.0072

0.0125

0.0089

0.0271

0.0163

0.0508

0.0223

0.0243

0.0175

0.0200

0.0222

0.0183

0.0164

0.0060

0.0290

0.0079

0.0195

0.0102

0.0063

0.0179

0.0093

0.0124

0.0159

0.0197

0.0237

0.0162

0.0078

0.0101

0.0078

0.0072

0.0117

0.0164

0.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.0139

0.0153

0.0183

0.0144

0.0318

0.0370

0.0377

0.0793

0.0603

0.0582

0.0754

0.0901

0.0482

0.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.0497

0.0011

0.0024

0.0146

0.0057

0.0049

0.0072

0.0050

0.0048

0.1428

0.0123

0.0983

0.0292

0.1437

0.0613

0.0385

0.0402

0.0590

0.0387

0.0466

0.0199

0.0456

0.0200

0.1100

0.0479

0.0240

0.0331

0.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.0063

0.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.34440.84250.36030.73900.62150.40390.49670.67610.4689

-0.34441.0000-0.47500.3096-0.35390.19710.35710.26000.15700.3090

0.8425-0.47501.00000.33580.58910.50560.32360.44560.55750.3742

0.36030.30960.33581.00000.15070.76640.94120.8480

0.73200.8614

0.7390-0.35390.58910.15071.00000.42940.19710.31820.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.1971

0.8316

1.0000

0.9233

0.8376

0.9527

0.4967

0.2600

0.4456

0.8480

0.3182

0.8966

0.9233

1.0000

0.9201

0.9731

0.6761

0.1570

0.5575

0.7320

0.3893

0.9302

0.8376

0.9201

1.0000

0.9396

0.4689

0.3090

0.3742

0.8614

0.2595

0.9027

0.9527

0.9731

0.93961.0000

 

特征向量(vec):

vec=

-0.1367

0.2282

-0.2628

0.1939

0.6371

-0.2163

0.3176

-0.1312

-0.4

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

当前位置:首页 > 求职职场 > 社交礼仪

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

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