(完整word版)主成分分析法matlab实现,实例演示

(完整word版)主成分分析法matlab实现,实例演示
(完整word版)主成分分析法matlab实现,实例演示

利用Matlab 编程实现主成分分析

1.概述

Matlab 语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是

最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、与其他程序和语言的便捷接口的功能。Matlab 语言在各国高校与研究单位起着重大的作用。主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。

1.1主成分分析计算步骤

① 计算相关系数矩阵

???????

????

???=pp p p p p r r r r r r r r r R ΛM M M M ΛΛ212222111211 (1) 在(3.5.3)式中,r ij (i ,j=1,2,…,p )为原变量的xi 与xj 之间的相关系数,其计算公式为

∑∑∑===----=

n

k n

k j kj

i ki

n

k j kj i ki

ij x x

x x

x x x x

r 1

1

2

2

1

)()

()

)(( (2)

因为R 是实对称矩阵(即r ij =r ji ),所以只需计算上三角元素或下三角元素即可。

② 计算特征值与特征向量

首先解特征方程0=-R I λ,通常用雅可比法(Jacobi )求出特征值

),,2,1(p i i Λ=λ,并使其按大小顺序排列,即0,21≥≥≥≥p

λλλΛ;然后分别求

出对应于特征值i λ的特征向量),,2,1(p i e i Λ=。这里要求i e =1,即112

=∑=p

j ij e ,其

中ij e 表示向量i e 的第j 个分量。

③ 计算主成分贡献率及累计贡献率 主成分i z 的贡献率为

),,2,1(1

p i p

k k

i

Λ=∑=λ

λ

累计贡献率为

)

,,2,1(11

p i p

k k

i

k k

Λ=∑∑==λ

λ

一般取累计贡献率达85—95%的特征值m λλλ,,,21Λ所对应的第一、第二,…,第m (m ≤p )个主成分。

④ 计算主成分载荷 其计算公式为

)

,,2,1,(),(p j i e x z p l ij i j i ij Λ===λ (3)

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

?????????

???=nm n n m m z z z z z z z z z Z ΛM M M M ΛΛ212222111211 (4) 2.程序结构及函数作用

在软件Matlab 中实现主成分分析可以采取两种方式实现:一是通过编程来实现;二是直接调用Matlab 种自带程序实现。下面主要主要介绍利用Matlab 的矩阵计算功能编程实现主成分分析。

2.1程序结构

2.2函数作用

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

Cwfac.m ——计算相关系数矩阵;计算特征值和特征向量;对主成分进行排序;计算各特征值贡献率;挑选主成分(累计贡献率大于85%),输出主成分个数;计算主成分载荷

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

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

3.源程序

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

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

function std=cwstd(vector)

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

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

for i=1:a

for j=1:b

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

end

end

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

%cwfac.m

function result=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')

for z=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=[];

for k=length(y):-1:1

sumrate=sumrate+rate(k);

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

if sumrate>0.85 break;

end

end %记下累积贡献率大85%的特征值的序号放入newi中

fprintf('主成分数:%g\n\n',length(newi));

fprintf('主成分载荷:\n')

for p=1:length(newi)

for q=1:length(y)

result(q,p)=sqrt(newval(newi(p)))*vec(q,newi(p));

end

end %计算载荷

disp(result)

3.3 cwscore.m

%cwscore.m,计算得分

function score=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.4 cwprint.m

%cwprint.m

function print=cwprint(filename,a,b);

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

vector=fscanf(fid,'%g',[a b]);

fprintf('标准化结果如下:\n')

v1=cwstd(vector)

result=cwfac(v1);

cwscore(v1,result);

4.程序测试

4.1原始数据

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

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.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.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.9396 1.0000

特征向量(vec):

vec =

-0.1367 0.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.0280 0.2040 -0.0492 -0.5472 -0.4225 0.3440 0.3188 -0.4438 0.2401 0.0067 -0.4176 -0.2856 -0.2389 0.1926 -0.4915 -0.4189 0.2726 0.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.0377 0.2662 0.1356 -0.1290 0.0278 0.3782 0.2981 0.4739 0.5685 0.2358 0.1465 -0.1502 -0.2631 0.1245 0.2152 0.3644 0.1567 0.3464 -0.6485 0.2489 -0.4043 0.2058 -0.0704 0.0462 0.1214 0.3812 0.4879 -0.5707 0.1217 0.1761 0.0987 0.3550 0.3280 -0.0139 0.0071 0.3832 -0.7894 -0.1628 0.1925 0.2510 -0.0422 0.2694 0.0396 0.0456 0.1668 0.3799

特征值(val)

val =

0.0039 0 0 0 0 0 0 0 0 0

0 0.0240 0 0 0 0 0 0 0 0

0 0 0.0307 0 0 0 0 0 0 0

0 0 0 0.0991 0 0 0 0 0 0

0 0 0 0 0.1232 0 0 0 0 0

0 0 0 0 0 0.2566 0 0 0 0

0 0 0 0 0 0 0.3207 0 0 0

0 0 0 0 0 0 0 0.5300 0 0

0 0 0 0 0 0 0 0 2.3514 0

0 0 0 0 0 0 0 0 0 6.2602

特征根排序:

6.26022

2.35138

0.530047

0.320699

0.256639

0.123241

0.0990915

0.0307088

0.0240355

0.00393387

各主成分贡献率:

newrate =

0.6260 0.2351 0.0530 0.0321 0.0257 0.0123 0.0099 0.0031 0.0024 0.0004

第一、二主成分的载荷:

0.690 1 -0.6427

0.148 3 0.8414

0.600 7 -0.6805

0.851 5 0.3167

0.465 6 -0.6754

0.946 3 0.0426

0.911 7 0.3299

0.953 7 0.1862

0.958 9 0.0109

0.950 6 0.2558

第一、二、三、四主成分的得分:score =

0.718 5 0.049 9 0.768 4 2.0000

0.380 6 0.038 6 0.419 2 4.0000

0.184 8 -0.043 3 0.141 4 21.0000

0.118 6 0.031 1 0.149 7 20.0000

0.054 9 0.011 5 0.066 4 33.0000

0.228 8 0.007 0 0.235 8 7.000 0

0.2364 -0.0081 0.2283 10.0000

0.1778 -0.0167 0.1611 16.0000

0.2292 -0.0337 0.1955 14.0000

0.8382 0.1339 0.9721 1.0000

0.2276 0.0064 0.2340 8.0000

0.2279 -0.0222 0.2056 12.0000

0.1989 -0.0382 0.1607 18.0000

0.0789 -0.0061 0.0728 32.0000

0.1711 -0.0317 0.1394 23.0000

0.0926 0.0266 0.1192 25.0000

0.0900 -0.0000 0.0899 28.0000

0.1692 -0.0082 0.1610 17.0000

0.2441 -0.0318 0.2124 11.0000

0.1507 -0.0108 0.1399 22.0000

0.2316 0.0012 0.2328 9.0000

0.1294 -0.0211 0.1083 27.0000

0.4716 0.0328 0.5045 3.0000

0.2737 0.0834 0.3570 5.0000

0.0754 -0.0013 0.0741 31.0000

0.0448 0.0349 0.0797 30.0000

0.4759 -0.2028 0.2731 6.0000

0.2907 -0.0883 0.2024 13.0000

0.0944 -0.0118 0.0826 29.0000

0.1546 0.0035 0.1581 19.0000 0.1718 -0.0092 0.1626 15.0000 0.0865 0.0230 0.1095 26.0000 0.0349 0.0216 0.0566 35.0000 0.0343 0.0228 0.0572 34.0000 0.0889 0.0422 0.1310 24.0000

主成分分析法matlab实现,实例演示

利用Matlab 编程实现主成分分析 1.概述 Matlab 语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是 最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、与其他程序和语言的便捷接口的功能。Matlab 语言在各国高校与研究单位起着重大的作用。主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。 1.1主成分分析计算步骤 ① 计算相关系数矩阵 ?? ? ???? ???? ?? ?=pp p p p p r r r r r r r r r R 2 122221 11211 (1) 在(3.5.3)式中,r ij (i ,j=1,2,…,p )为原变量的xi 与xj 之间的相关系数,其计算公式为 ∑∑∑===----= n k n k j kj i ki n k j kj i ki ij x x x x x x x x r 1 1 2 2 1 )() () )(( (2) 因为R 是实对称矩阵(即r ij =r ji ),所以只需计算上三角元素或下三角元素即可。

② 计算特征值与特征向量 首先解特征方程0=-R I λ,通常用雅可比法(Jacobi )求出特征值 ),,2,1(p i i =λ,并使其按大小顺序排列,即0,21≥≥≥≥p λλλ ;然后分别求 出对应于特征值i λ的特征向量),,2,1(p i e i =。这里要求i e =1,即112 =∑=p j ij e ,其 中ij e 表示向量i e 的第j 个分量。 ③ 计算主成分贡献率及累计贡献率 主成分i z 的贡献率为 ),,2,1(1 p i p k k i =∑=λ λ 累计贡献率为 ) ,,2,1(11 p i p k k i k k =∑∑==λ λ 一般取累计贡献率达85—95%的特征值m λλλ,,,21 所对应的第一、第二,…,第m (m ≤p )个主成分。 ④ 计算主成分载荷 其计算公式为 ) ,,2,1,(),(p j i e x z p l ij i j i ij ===λ (3)

matlab主成分分析案例

1?设随机向量X= (X i , X 2, X 3)T 的协方差与相关系数矩阵分别为 1 4 ,R 4 25 分别从,R 出发,求X 的各主成分以及各主成分的贡献率并比较差异况。 解答: >> S=[1 4;4 25]; >> [P C,vary,ex plain ed]=p cacov(S); 总体主成分分析: >> [P C,vary,ex plain ed]=p cacov(S) 主成分交换矩阵: PC = -0.1602 -0.9871 -0.9871 0.1602 主成分方差向量: vary = 25.6491 0.3509 各主成分贡献率向量 explained = 98.6504 1.3496 则由程序输出结果得出,X 的主成分为: Y 1=-0.1602X 1-0.9871X 2 Y 2=-0.9871X 1+0.1602X 2 两个主成分的贡献率分别为:98.6504%, 1.3496%;贝U 若用第一个主成分代替原 来的变量,信息损失率仅为1.3496,是很小的。 2.根据安徽省2007年各地市经济指标数据,见表 5.2,求解: (1) 利用主成分分析对17个地市的经济发展进行分析,给出排名; (2) 此时能否只用第一主成分进行排名?为什么? 1 0.8 0.8 1

1.0000 0.9877 0.9980 0.9510 0.9988 0.9820 0.4281 0.9999 解答: (1) >> clear >> A=[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; 1.71, 2.35,0.57,0.68,0.13,1.48,1.36,-0.03; 9.83,9.05,3.13,3.43,0.64,8.76,7.81,0.54; 64.06,77.86,20.63,30.37,5.96,63.57,52.15,4.71; 30.38,46.90,9.19,9.83,17.87,28.24,21.90,3.80; 31.20,70.07,8.93,18.88,33.05,31.17,26.50,2.84; 79.18,62.09,20.78,24.47,3.51,71.29,59.07,6.78; 47.81,40.14,17.50,9.52,4.14,45.70,34.73,4.47; 104.69,78.95,29.61,25.96,5.39,98.08,84.81,3.81; 21.07,17.83,6.21,6.22,1.90,20.24,16.46,1.09; 214.19,146.78,65.16,41.62,4.39,194.98,171.98,11.05; 31.16,27.56,8.80,9.44,1.47,28.83,25.22,1.05; 12.76,14.16,3.66,4.07,1.57,11.95,10.24,0.73; 6.45,5.37,2.39,2.20,0.40,5.97,4.79,0.52; 39.43,44.60,15.17,15.72,3.27,36.03,27.87,3.48; 5.02,3.62,1.63,1.42,0.53,4.45,4.04,0.02]; 得到的相关系数矩阵为: >> R=corrcoef(A) R =

matlab主成分分析法

§10.利用Matlab 编程实现主成分分析 1.概述 Matlab 语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是 最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、与其他程序和语言的便捷接口的功能。Matlab 语言在各国高校与研究单位起着重大的作用。主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。 1.1主成分分析计算步骤 ① 计算相关系数矩阵 ?? ? ???? ???? ?? ?=pp p p p p r r r r r r r r r R 2 122221 11211 (1) 在(,r ij (i ,j=1,2,…,p )为原变量的xi 与xj 之间的相关系数,其计算公式为 ∑∑∑===----= n k n k j kj i ki n k j kj i ki ij x x x x x x x x r 1 1 2 2 1 )() () )(( (2) 因为R 是实对称矩阵(即r ij =r ji ),所以只需计算上三角元素或下三角元素即可。 ② 计算特征值与特征向量

首先解特征方程0=-R I λ,通常用雅可比法(Jacobi )求出特征值 ),,2,1(p i i =λ,并使其按大小顺序排列,即0,21≥≥≥≥p λλλ ;然后分别求 出对应于特征值i λ的特征向量),,2,1(p i e i =。这里要求i e =1,即112 =∑=p j ij e ,其 中ij e 表示向量i e 的第j 个分量。 ③ 计算主成分贡献率及累计贡献率 主成分i z 的贡献率为 累计贡献率为 一般取累计贡献率达85—95%的特征值m λλλ,,,21 所对应的第一、第二,…,第m (m ≤p )个主成分。 ④ 计算主成分载荷 其计算公式为 ) ,,2,1,(),(p j i e x z p l ij i j i ij ===λ (3) 得到各主成分的载荷以后,还可以按照(,得到各主成分的得分 ? ? ??? ???????=nm n n m m z z z z z z z z z Z 2 1 22221 11211 (4) 2.程序结构及函数作用 在软件Matlab 中实现主成分分析可以采取两种方式实现:一是通过编程来

主成分分析法精华讲义及实例

主成分分析 类型:一种处理高维数据的方法。 降维思想:在实际问题的研究中,往往会涉及众多有关的变量。但是,变量太多不但会增加计算的复杂性,而且也会给合理地分析问题和解释问题带来困难。一般说来,虽然每个变量都提供了一定的信息,但其重要性有所不同,而在很多情况下,变量间有一定的相关性,从而使得这些变量所提供的信息在一定程度上有所重叠。因而人们希望对这些变量加以“改造”,用为数极少的互补相关的新变量来反映原变量所提供的绝大部分信息,通过对新变量的分析达到解决问题的目的。 一、总体主成分 1.1 定义 设 X 1,X 2,…,X p 为某实际问题所涉及的 p 个随机变量。记 X=(X 1,X 2,…,Xp)T ,其协方差矩阵为 ()[(())(())], T ij p p E X E X X E X σ?∑==-- 它是一个 p 阶非负定矩阵。设 1111112212221122221122T p p T p p T p p p p pp p Y l X l X l X l X Y l X l X l X l X Y l X l X l X l X ?==+++? ==+++?? ??==+++? (1) 则有 ()(),1,2,...,, (,)(,),1,2,...,. T T i i i i T T T i j i j i j V ar Y V ar l X l l i p C ov Y Y C ov l X l X l l j p ==∑===∑= (2) 第 i 个主成分: 一般地,在约束条件 1T i i l l =

及 (,)0,1,2,..., 1.T i k i k C ov Y Y l l k i =∑==- 下,求 l i 使 Var(Y i )达到最大,由此 l i 所确定的 T i i Y l X = 称为 X 1,X 2,…,X p 的第 i 个主成分。 1.2 总体主成分的计算 设 ∑是12(,,...,) T p X X X X =的协方差矩阵,∑的特征值及相应的正交单位化特 征向量分别为 120p λλλ≥≥≥≥ 及 12,,...,, p e e e 则 X 的第 i 个主成分为 1122,1,2,...,,T i i i i ip p Y e X e X e X e X i p ==+++= (3) 此时 (),1,2,...,,(,)0,. T i i i i T i k i k V ar Y e e i p C ov Y Y e e i k λ?=∑==??=∑=≠?? 1.3 总体主成分的性质 1.3.1 主成分的协方差矩阵及总方差 记 12(,,...,) T p Y Y Y Y = 为主成分向量,则 Y=P T X ,其中12(,,...,)p P e e e =,且 12()()(,,...,),T T p Cov Y Cov P X P P Diag λλλ==∑=Λ= 由此得主成分的总方差为 1 1 1 ()()()()(),p p p T T i i i i i i V ar Y tr P P tr P P tr V ar X λ ==== =∑=∑=∑= ∑∑∑ 即主成分分析是把 p 个原始变量 X 1,X 2,…,X p 的总方差

主成分分析-实例

§8 实例 实例1 计算得 1x =71.25,2x =67.5 分析1:基于协差阵∑ 求主成分。 369.6117.9117.9214.3S ?? = ??? 特征根与特征向量(S无偏,用SPSS ) Factor 1 Factor 2 11x x - 0.880 -0.474 22x x - 0.474 0.880 特征值 433.12 150.81 贡献率 0.7417 0.2583 注:样本协差阵为无偏估计11(11)1n n n S X I X n n ''= --, 所以,第一、二主成分的表达式为 112212 0.88(71.25)0.47(67.5) 0.47(71.25)0.88(67.5)y x x y x x =-+-?? =--+-? 第一主成分是英语与数学的加权和(反映了综合成绩),且英语的权数要大于数学的权数。1y 越大,综合成绩越好。(综合成分) 第二主成分的两个系数异号(反映了两科成绩的均衡性)。不妨将英语称为文科,数学称为理科。2y 越大,说明偏科(文、理成绩不均衡),2y 越小,越接近于零,说明不偏科(文、理成绩均衡)。(结构成分)

问题:英语的权数为何大?如何解释? 分析2: 基于相关阵R 求主成分。因为 1x =71.25,2x =67.5 所以相关阵 11R ? =? ? ? 解得R 的特征根为:1λ=1.419,2λ=0.581,对应的单位特征向量分别为: Factor 1 Factor 2 11 1x x s - 0.707 0.707 22 2 x x s - 0.707 -0.707 特征根 1.419 0.581 贡献率 0.709 0.291 所以,第一、二主成分的表达式为 12112271.2567.50.7070.70717.9813.6971.2567.50.7070.70717.9813.69x x y x x y --? =+=+?? ? --?=-=-?? 1122120.039(71.25)0.052(67.5) 0.039(71.25)0.052(67.5)y x x y x x =-+-?? =---? 112212 0.0390.052 6.273 0.0390.0520.671y x x y x x =+-?? =-+? * 2*11707.0707.0x x y += *2*12707.0707.0x x y -= 基于相关阵的更说明了: 第一主成分是英语与数学的加权总分。 第二主成分是对两科成绩均衡性的度量。 此例说明:基于协差阵与基于相关阵的主成分分析的结果不一致。结合此例的实际背景,经对比分析可知,基于协差阵的主成分分析更符合实际。

主成分分析PCA(含有详细推导过程以及案例分析matlab版)

主成分分析法(PCA) 在实际问题中,我们经常会遇到研究多个变量的问题,而且在多数情况下,多个变量之间常常存在一定的相关性。由于变量个数较多再加上变量之间的相关性,势必增加了分析问题的复杂性。如何从多个变量中综合为少数几个代表性变量,既能够代表原始变量的绝大多数信息,又互不相关,并且在新的综合变量基础上,可以进一步的统计分析,这时就需要进行主成分分析。 I. 主成分分析法(PCA)模型 (一)主成分分析的基本思想 主成分分析是采取一种数学降维的方法,找出几个综合变量来代替原来众多的变量,使这些综合变量能尽可能地代表原来变量的信息量,而且彼此之间互不相关。这种将把多个变量化为少数几个互相无关的综合变量的统计分析方法就叫做主成分分析或主分量分析。 主成分分析所要做的就是设法将原来众多具有一定相关性的变量,重新组合为一组新的相互无关的综合变量来代替原来变量。通常,数学上的处理方法就是将原来的变量做线性组合,作为新的综合变量,但是这种组合如果不加以限制,则可以有很多,应该如何选择呢?如果将选取的第一个线性组合即第一个综合变量记为1F ,自然希望它尽可能多地反映原来变量的信息,这里“信息”用方差来测量,即希望)(1F Var 越大,表示1F 包含的信息越多。因此在所有的线性组合中所选取的1F 应该是方差最大的,故称1F 为第一主成分。如果第一主成分不足以代表原来p 个变量的信息,再考虑选取2F 即第二个线性组合,为了有效地反映原来信息,1F 已有的信息就不需要再出现在2F 中,用数学语言表达就是要求 0),(21=F F Cov ,称2F 为第二主成分,依此类推可以构造出第三、四……第p 个主成分。 (二)主成分分析的数学模型 对于一个样本资料,观测p 个变量p x x x ,,21,n 个样品的数据资料阵为: ??????? ??=np n n p p x x x x x x x x x X 21 222 21112 11()p x x x ,,21=

主成分分析法实例

1、主成分法: 用主成分法寻找公共因子的方法如下: 假定从相关阵出发求解主成分,设有p 个变量,则可找出p 个主成分。将所得的p 个主成分按由大到小的顺序排列,记为1Y ,2Y ,…,P Y , 则主成分与原始变量之间存在如下关系: 11111221221122221122....................p p p p p p p pp p Y X X X Y X X X Y X X X γγγγγγγγγ=+++?? =+++??? ?=+++? 式中,ij γ为随机向量X 的相关矩阵的特征值所对应的特征向量的分量,因为特征向量之间彼此正交,从X 到Y 得转换关系是可逆的,很容易得出由Y 到 X 得转换关系为: 11112121212122221122....................p p p p p p p pp p X Y Y Y X Y Y Y X Y Y Y γγγγγγγγγ=+++?? =+++??? ?=+++? 对上面每一等式只保留钱m 个主成分而把后面的部分用i ε代替,则上式变为: 111121211 2121222221122................. ...m m m m p p p mp m p X Y Y Y X Y Y Y X Y Y Y γγγεγγγεγγγε=++++??=++++????=++++? 上式在形式上已经与因子模型相一致,且i Y (i=1,2,…,m )之间相互独立,且i Y 与i ε之间相互独立,为了把i Y 转化成合适的公因子,现在要做的工作只是把主成分i Y 变为方差为1的变量。为完成此变换,必须将i Y 除以其标准差,由主成分分析的知识知其标准差即为特征根的平方根 i λ/i i i F Y λ=, 1122m m λγλγλγ,则式子变为:

主成分分析案例

姓名:XXX 学号:XXXXXXX 专业:XXXX 用SPSS19软件对下列数据进行主成分分析: ……

一、相关性 通过对数据进行双变量相关分析,得到相关系数矩阵,见表1。 表1 淡化浓海水自然蒸发影响因素的相关性 由表1可知: 辐照、风速、湿度、水温、气温、浓度六个因素都与蒸发速率在0.01水平上显著相关。 分析:各变量之间存在着明显的相关关系,若直接将其纳入分析可能会得到因多元共线性影响的错误结论,因此需要通过主成份分析将数据所携带的信息进行浓缩处理。 二、KMO和球形Bartlett检验 KMO和球形Bartlett检验是对主成分分析的适用性进行检验。 KMO检验可以检查各变量之间的偏相关性,取值范围是0~1。KMO的结果越接近1,表示变量之间的偏相关性越好,那么进行主成分分析的效果就会越好。实际分析时,KMO统计量大于0.7时,效果就比较理想;若当KMO统计量小于0.5时,就不适于选用主成分分析法。 Bartlett球形检验是用来判断相关矩阵是否为单位矩阵,在主成分分析中,若拒绝各变量独立的原假设,则说明可以做主成分分析,若不拒绝原假设,则说明这些变量可能独立提供一些信息,不适合做主成分分析。

由表2可知: 1、KMO=0.631<0.7,表明变量之间没有特别完美的信息的重叠度,主成分分析得到的模型又可能不是非常完善,但仍然值得实验。 2、显著性小于0.05,则应拒绝假设,即变量间具有较强的相关性。 三、公因子方差 公因子方差表示变量共同度。表示各变量中所携带的原始信息能被提取出的主成分所体现的程度。 由表3可知: 几乎所有变量共同度都达到了75%,可认为这几个提取出的主成分对各个变量的阐释能力比较强。 四、解释的总方差 解释的总方差给出了各因素的方差贡献率和累计贡献率。

主成分分析法概念及例题

主成分分析法 [ 编辑 ] 什么是主成分分析法 主成分分析也称 主分量分析 ,旨在利用降维的思想,把多 指标 转化为少数几个综合指标。 在 统计学 中,主成分分析( principal components analysis,PCA )是一种简化数据集的技 术。它是一个线性变换。 这个变换把数据变换到一个新的坐标系统中, 使得任何数据投影的第一 大方差 在第一个坐标 (称为第一主成分 )上,第二大方差在第二个坐标 (第二主成分 )上,依次类推。 主成分分析经常用减少数据集的维数, 同时保持数据集的对 方差 贡献最大的特征。 这是通过保留 低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是, 这也不是一定的,要视具体应用而定。 [ 编辑 ] , PCA ) 又称: 主分量分析,主成分回归分析法 主成分分析( principal components analysis

主成分分析的基本思想 在实证问题研究中,为了全面、系统地分析问题,我们必须考虑众多影响因素。这些涉及的因素一般称为指标,在多元统计分析中也称为变量。因为每个变量都在不同程度上反映了所研究问题的某些信息,并且指标之间彼此有一定的相关性,因而所得的统计数据反映的信息在一定程度上有重叠。在用统计方法研究多变量问题时,变量太多会增加计算量和增加分析问题的复杂性,人们希望在进行定量分析的过程中,涉及的变量较少,得到的信息量较多。主成分分析正是适应这一要求产生的,是解决这类题的理想工具。 同样,在科普效果评估的过程中也存在着这样的问题。科普效果是很难具体量化的。在实际评估工作中,我们常常会选用几个有代表性的综合指标,采用打分的方法来进行评估,故综合指标的选取是个重点和难点。如上所述,主成分分析法正是解决这一问题的理想工具。因为评估所涉及的众多变量之间既然有一定的相关性,就必然存在着起支配作用的因素。根据这一点,通过对原始变量相关矩阵内部结构的关系研究,找出影响科普效果某一要素的几个综合指标,使综合指标为原来变量的线性拟合。这样,综合指标不仅保留了原始变量的主要信息,且彼此间不相关,又比原始变量具有某些更优越的性质,就使我们在研究复杂的科普效果评估问题时,容易抓住主要矛盾。上述想法可进一步概述为:设某科普效果评估要素涉及个指标,这指标构成的维随机向量为。对作正交变换,令,其中为正交阵,的各分量是不相关的,使得的各分量在某个评估要素中的作用容易解释,这就使得我们有可能从主分量中选择主要成分,削除对这一要素影响微弱的部分,通过对主分量的重点分析,达到对原始变量进行分析的目的。的各分量是原始变量线性组合,不同的分量表示原始变量之间不同的影响关系。由于这些基本关系很可能与特定的作用过程相联系,主成分分析使我们能从错综复杂的科普评估要素的众多指标中,找出一些主要成分,以便有效地利用大量统计数据,进行科普效果评估分析,使我们在研究科普效果评估问题中,可能得到深层次的一些启发,把科普效果评估研究引向深入。 例如,在对科普产品开发和利用这一要素的评估中,涉及科普创作人数百万人、科普作品发行量百万人、科普产业化(科普示范基地数百万人)等多项指标。经过主成分分析计算,最后确定个或个主成分作为综合评价科普产品利用和开发的综合指标,变量数减少,并达到一定的可信度,就容易进行科普效果的评估。 [ 编辑] 主成分分析法的基本原理 主成分分析法是一种降维的统计方法,它借助于一个正交变换,将其分量相关的原随机向量转化成其分量不相关的新随机向量,这在代数上表现为将原随机向量的协方差阵变换成对角形阵,在几何上表现为将原坐标系变换成新的正交坐标系,使之指向样本点散布最开的p 个正交方向,然后对多维变量系统进行降维处理,使之能以一个较高的精度转换成低维变量系统,再通过构造适当的价值函数,进一步把低维系统转化成一维系统。 [ 编辑] 主成分分析的主要作用

主成分分析报告matlab程序

Matlab编程实现主成分分析 .程序结构及函数作用 在软件Matlab中实现主成分分析可以采取两种方式实现:一是通过编程来实现;二是直接调用Matlab种自带程序实现。下面主要主要介绍利用Matlab的矩阵计算功能编程实现主成分分析。 1程序结构 2函数作用 Cwstd.m——用总和标准化法标准化矩阵 Cwfac.m——计算相关系数矩阵;计算特征值和特征向量;对主成分进行排序;计算各特征值贡献率;挑选主成分(累计贡献率大于85%),输出主成分个数;计算主成分载荷 Cwscore.m——计算各主成分得分、综合得分并排序 Cwprint.m——读入数据文件;调用以上三个函数并输出结果

3.源程序 3.1 cwstd.m总和标准化法标准化矩阵 %cwstd.m,用总和标准化法标准化矩阵 function std=cwstd(vector) cwsum=sum(vector,1); %对列求和 [a,b]=size(vector); %矩阵大小,a为行数,b为列数 for i=1:a for j=1:b std(i,j)= vector(i,j)/cwsum(j); end end 3.2 cwfac.m计算相关系数矩阵 %cwfac.m function result=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') for z=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=[]; for k=length(y):-1:1 sumrate=sumrate+rate(k); newi(length(y)+1-k)=i(k); if sumrate>0.85 break; end end %记下累积贡献率大85%的特征值的序号放入newi中fprintf('主成分数:%g\n\n',length(newi)); fprintf('主成分载荷:\n') for p=1:length(newi)

matlab主成分分析案例

1.设随机向量X=(X 1,X 2,X 3)T 的协方差与相关系数矩阵分别为 ???? ??=∑25441,??? ? ??=18.08.01R 分别从∑,R 出发,求X 的各主成分以及各主成分的贡献率并比较差异况。 解答: >> S=[1 4;4 25]; >> [PC,vary,explained]=pcacov(S); 总体主成分分析: >> [PC,vary,explained]=pcacov(S) 主成分交换矩阵: PC = -0.1602 -0.9871 -0.9871 0.1602 主成分方差向量: vary = 25.6491 0.3509 各主成分贡献率向量 explained = 98.6504 1.3496 则由程序输出结果得出,X 的主成分为: Y 1=-0.1602X 1-0.9871X 2 Y 2=-0.9871X 1+0.1602X 2 两个主成分的贡献率分别为:98.6504%,1.3496%;则若用第一个主成分代替原来的变量,信息损失率仅为1.3496,是很小的。 2.根据安徽省2007年各地市经济指标数据,见表5.2,求解: (1)利用主成分分析对17个地市的经济发展进行分析,给出排名; (2)此时能否只用第一主成分进行排名?为什么?

解答: (1) >> clear >> A=[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; 1.71, 2.35,0.57,0.68,0.13,1.48,1.36,-0.03; 9.83,9.05,3.13,3.43,0.64,8.76,7.81,0.54; 64.06,77.86,20.63,30.37,5.96,63.57,52.15,4.71; 30.38,46.90,9.19,9.83,17.87,28.24,21.90,3.80; 31.20,70.07,8.93,18.88,33.05,31.17,26.50,2.84; 79.18,62.09,20.78,24.47,3.51,71.29,59.07,6.78; 47.81,40.14,17.50,9.52,4.14,45.70,34.73,4.47; 104.69,78.95,29.61,25.96,5.39,98.08,84.81,3.81; 21.07,17.83,6.21,6.22,1.90,20.24,16.46,1.09; 214.19,146.78,65.16,41.62,4.39,194.98,171.98,11.05; 31.16,27.56,8.80,9.44,1.47,28.83,25.22,1.05; 12.76,14.16,3.66,4.07,1.57,11.95,10.24,0.73; 6.45,5.37,2.39,2.20,0.40,5.97,4.79,0.52; 39.43,44.60,15.17,15.72,3.27,36.03,27.87,3.48; 5.02,3.62,1.63,1.42,0.53,4.45,4.04,0.02]; 得到的相关系数矩阵为: >> R=corrcoef(A) R = 1.0000 0.9877 0.9988 0.9820 0.4281 0.9999 0.9980 0.9510

主成分分析法概念及例题

主成分分析法 主成分分析(principal components analysis,PCA)又称:主分量分析,主成分回归分析法 [编辑] 什么是主成分分析法 主成分分析也称主分量分析,旨在利用降维的思想,把多指标转化为少数几个综合指标。 在统计学中,主成分分析(principal components analysis,PCA)是一种简化数据集的技术。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。主成分分析经常用减少数据集的维数,同时保持数据集的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是,这也不是一定的,要视具体应用而定。 [编辑] 主成分分析的基本思想

在实证问题研究中,为了全面、系统地分析问题,我们必须考虑众多影响因素。这些涉及的因素一般称为指标,在多元统计分析中也称为变量。因为每个变量都在不同程度上反映了所研究问题的某些信息,并且指标之间彼此有一定的相关性,因而所得的统计数据反映的信息在一定程度上有重叠。在用统计方法研究多变量问题时,变量太多会增加计算量和增加分析问题的复杂性,人们希望在进行定量分析的过程中,涉及的变量较少,得到的信息量较多。主成分分析正是适应这一要求产生的,是解决这类题的理想工具。 同样,在科普效果评估的过程中也存在着这样的问题。科普效果是很难具体量化的。在实际评估工作中,我们常常会选用几个有代表性的综合指标,采用打分的方法来进行评估,故综合指标的选取是个重点和难点。如上所述,主成分分析法正是解决这一问题的理想工具。因为评估所涉及的众多变量之间既然有一定的相关性,就必然存在着起支配作用的因素。根据这一点,通过对原始变量相关矩阵内部结构的关系研究,找出影响科普效果某一要素的几个综合指标,使综合指标为原来变量的线性拟合。这样,综合指标不仅保留了原始变量的主要信息,且彼此间不相关,又比原始变量具有某些更优越的性质,就使我们在研究复杂的科普效果评估问题时,容易抓住主要矛盾。上述想法可进一步概述为:设某科普效果评估要素涉及个指标,这指标构成的维随机向量为。对作正交变换,令,其中为正交阵,的各分量是不相关的,使得的各分量在某个评估要素中的作用容易解释,这就使得我们有可能从主分量中选择主要成分,削除对这一要素影响微弱的部分,通过对主分量的重点分析,达到对原始变量进行分析的目的。的各分量是原始变量线性组合,不同的分量表示原始变量之间不同的影响关系。由于这些基本关系很可能与特定的作用过程相联系,主成分分析使我们能从错综复杂的科普评估要素的众多指标中,找出一些主要成分,以便有效地利用大量统计数据,进行科普效果评估分析,使我们在研究科普效果评估问题中,可能得到深层次的一些启发,把科普效果评估研究引向深入。 例如,在对科普产品开发和利用这一要素的评估中,涉及科普创作人数百万人、科普作品发行量百万人、科普产业化(科普示范基地数百万人)等多项指标。经过主成分分析计算,最后确定个或个主成分作为综合评价科普产品利用和开发的综合指标,变量数减少,并达到一定的可信度,就容易进行科普效果的评估。 [编辑] 主成分分析法的基本原理 主成分分析法是一种降维的统计方法,它借助于一个正交变换,将其分量相关的原随机向量转化成其分量不相关的新随机向量,这在代数上表现为将原随机向量的协方差阵变换成对角形阵,在几何上表现为将原坐标系变换成新的正交坐标系,使之指向样本点散布最开的p 个正交方向,然后对多维变量系统进行降维处理,使之能以一个较高的精度转换成低维变量系统,再通过构造适当的价值函数,进一步把低维系统转化成一维系统。 [编辑] 主成分分析的主要作用

主成分分析matlab源程序代码

263.862 1.61144 2.754680.266575 268.764 2.07218 2.617560.182597 261.196 1.59769 2.350370.182114 248.708 2.09609 2.852790.257724 253.365 1.69457 2.94920.189702 268.434 1.56819 2.781130.13252 258.741 2.14653 2.691110.136469 244.192 2.02156 2.226070.298066 219.738 1.61224 1.885990.166298 244.702 1.91477 2.259450.187569 245.286 2.12499 2.352820.161602 251.96 1.83714 2.535190.240271 251.164 1.74167 2.629610.211887 251.824 2.00133 2.626650.211991 257.68 2.14878 2.656860.203846] stdr=std(dataset);%求个变量的标准差 [n,m]=size(dataset);%定义矩阵行列数 sddata=dataset./stdr(ones(n,1),:);%将原始数据采集标准化 sddata%输出标准化数据 [p,princ,eigenvalue,t2]=princomp(sddata);%调用前三个主成分系数 p3=p(:,1:3);%提取前三个主成分得分系数,通过看行可以看出对应的原始数据的列,每个列在每个主成分的得分 p3%输出前三个主成分得分系数 sc=princ(:,1:3);%提取前三个主成分得分值 sc%输出前三个主成分得分值 e=eigenvalue(1:3)';%提取前三个特征根并转置 M=e(ones(m,1),:).^0.5;%输出前三个特征根并转置 compmat=p3.*M;%利用特征根构造变换矩阵 per=100*eigenvalue/sum(eigenvalue);%求出成分载荷矩阵的前三列 per %求出各主成分的贡献率 cumsum(per);%列出各主成分的累积贡献率 figure(1) pareto(per);%将贡献率绘成直方图 t2 figure(2) %输出各省与平局距离 plot(eigenvalue,'r+');%绘制方差贡献散点图 hold on %保持图形 plot(eigenvalue,'g-');%绘制方差贡献山麓图

主成分分析方法及matlab运用解释

主成分分析方法 在许多实际问题中,多个变量之间就是具有一定的相关关系的。因此,我们就会很自然地想到,能否在各个变量之间相关关系研究的基础上,用较少的新变量代替原来较多的变量,而且使这些较少的新变量尽可能多地保留原来较多的变量所反映的信息?事实上,这种想法就是可以实现的,这里介绍的主成分分析方法就就是综合处理这种问题的一种强有力的方法。 一、主成分分析的基本原理 主成分分析就是把原来多个变量化为少数几个综合指标的一种统计分析方法,从数学角度来瞧,这就是一种降维处理技术。假定有n 个地理样本,每个样本共有p 个变量描述,这样就构成了一个n×p 阶的地理数据矩阵: 111212122212p p n n np x x x x x x X x x x ???=????L L L L L L L (1) 如何从这么多变量的数据中抓住地理事物的内在规律性呢?要解决这一问题,自然要在p 维空间中加以考察,这就是比较麻烦的。为了克服这一困难,就需要进行降维处理,即用较少的几个综合指标来代替原来较多的变量指标,而且使这些较少的综合指标既能尽量多地反映原来较多指标所反映的信息,同时它们之间又就是彼此独立的。那么,这些综合指标(即新变量)应如何选取呢?显然,其最简单的形式就就是取原来变量指标的线性组合,适当调整组合系数,使新的变量指标之间相互独立且代表性最好。 如果记原来的变量指标为x 1,x 2,…,x p ,它们的综合指标——新变量指标为z 1,z 2,…,zm(m≤p)。则 11111221221122221122,,......................................... ,p p p p m m m mp p z l x l x l x z l x l x l x z l x l x l x =+++??=+++????=+++?L L L (2) 在(2)式中,系数l ij 由下列原则来决定: (1)z i 与z j (i≠j ;i,j=1,2,…,m)相互无关; (2)z 1就是x 1,x 2,…,x p 的一切线性组合中方差最大者;z 2就是与z 1不相关的x 1,x 2,…,x p 的所有线性组合中方差最大者;……;z m 就是与z 1,z 2,……z m-1都不相关的x 1,x 2,…,x p 的所有线性组合中方差最大者。 这样决定的新变量指标z 1,z 2,…,zm 分别称为原变量指标x 1,x 2,…,x p 的第一,第二,…,第m 主成分。其中,z 1在总方差中占的比例最大,z 2,z 3,…,z m 的方差依次递减。在实际问题的分析中,常挑选前几个最大的主成分,这样既减少了变量的数目,又抓住了主要矛盾,简化了变量之间的关系。 从以上分析可以瞧出,找主成分就就是确定原来变量x j (j=1,2,…,p)在诸主成分z i (i=1,2,…,m)上的载荷l ij (i=1,2,…,m;j=1,2,…,p),从数学上容易知道,它们分别就是x 1,x 2,…,x p 的相关矩阵的m 个较大的特征值所对应的特征向量。 二、主成分分析的计算步骤 通过上述主成分分析的基本原理的介绍,我们可以把主成分分析计算步骤归纳如

matlab中主成分分析的函数1

matlab中主成分分析的函数 1.princomp函数 功能:主成分分析 格式:PC=princomp(X) [PC,SCORE,latent,tsquare]=princomp(X) 说明:[PC,SCORE,latent,tsquare]=princomp(X)对数据矩阵(即样本观测值矩阵)X进行主成分分析,给出各主成分 (PC)、所谓的Z-得分(SCORE)、X的方差矩阵的特征值(latent)和每个数据点的服务霍特林(Hotelling)T2统计量(tsquare)。 2.pcacov函数 功能:运用协方差矩阵或相关系数矩阵进行主成分分析 格式:PC=pcacov(X) [PC,latent,explained]=pcacov(X) 说明:[PC,latent,explained]=pcacov(X)通过协方差矩阵X或相关系数矩阵进行主成分分析,返回主成分(PC)、协方差矩阵X的特征值(latent)和每个特征向量表征在观测量总方差中所占的百分数(explained)(即是主成分的贡献向量)。 3.pcares函数

功能:主成分分析的残差 格式:residuals=pcares(X,ndim) 说明:pcares(X,ndim)返回保留X的ndim个主成分所获的残差。注意,ndim是一个标量,用来指定所用的主成分的个数,必须小于X 的列数。而且,X是数据矩阵,而不是协方差矩阵。 4.barttest 功能:主成分的巴特力特检验 格式:ndim=barttest(X,alpha) [ndim,prob,chisquare]=barttest(X,alpha) 说明:巴特力特检验是一种等方差性检验。 ndim=barttest(X,alpha)是在显著性水平alpha下,给出满足数据矩阵X的非随机变量的n维模型,ndim即模型维数,它由一系列假设检验所确定,ndim=1表明数据X对应于每个主成分的方差是相同的;ndim=2表明数据X对应于第二成分及其余成分的方差是相同的。 例1:从样本观测值矩阵出发求解主成分 表中列出了2007年我国31个省、市、自治区和直辖市的农村居民家庭平均每人全年消费性支出的8个主要变量数据。数据文件保存在A.xls中。试根据这8个

主成分分析法介绍

主成分分析方法 我们进行系统分析评估或医学上因子分析等时,多变量问题是经常会遇到的。变量太多,无疑会增加分析问题的难度与复杂性,而且在许多实际问题中,多个变量之间是具有一定的相关关系的。因此,我们就会很自然地想到,能否在各个变量之间相关关系研究的基础上,用较少的新变量代替原来较多的变量,而且使这些较少的新变量尽可能多地保留原来较多的变量所反映的信息事实上,这种想法是可以实现的,本节拟介绍的主成分分析方法就是综合处理这种问题的一种强有力的方法。 第一节 主成分分析方法的原理 主成分分析是把原来多个变量化为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。假定有n 样本,每个样本共有p 个变量描述,这样就构成了一个n×p 阶的数据矩阵: 11121212221 2 .....................p p n n np x x x x x x X x x x ?? ? ? = ? ? ??? (1)

如何从这么多变量的数据中抓住事物的内在规律性呢要解决这一问题,自然要在p 维空间中加以考察,这是比较麻烦的。为了克服这一困难,就需要进行降维处理,即用较少的几个综合指标来代替原来较多的变量指标,而且使这些较少的综合指标既能尽量多地反映原来较多指标所反映的信息,同时它们之间又是彼此独立的。那么,这些综合指标(即新变量)应如何选取呢显然,其最简单的形式就是取原来变量指标的线性组合,适当调整组合系数,使新的变量指标之间相互独立且代表性最好。 如果记原来的变量指标为p x x x ,,21Λ,它们的综合指标——新变量指标为Λ21,z z ,m z (m≤p)。则 )2.........(..........22112222121212121111??? ?? ? ?+++=+++=+++=p mp m m m p p p p x l x l x l z x l x l x l z x l x l x l z ΛΛ ΛΛΛΛΛΛΛΛΛΛΛΛΛ 在(2)式中,系数l ij 由下列原则来决定: (1)z i 与z j (i≠j ;i ,j=1,2,…,m)相互无关; (2)z 1是x 1,x 2,…,x p 的一切线性组合中方差最大者;z 2是与z 1不相关的x 1,x 2,…,x p 的所有线性组合中方差最大者;……;z m 是与z 1,z 2,……z m-1都不相关的x 1,x 2,…,x p 的所有线性组合中方差最大者。

相关文档
最新文档