Fisher最优分割法的结合应用_第1页
Fisher最优分割法的结合应用_第2页
Fisher最优分割法的结合应用_第3页
Fisher最优分割法的结合应用_第4页
Fisher最优分割法的结合应用_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主成分分析与Fisher最优分割法的结合应用主成分分析计算步骤1.计算相关系数矩阵riiri2r2pJp1rp2r pp在上式中,rj( i,j=1,2, 算公式为,p)为原变量的xi与xj之间的相关系数,其计其中分点为1 = h 2以以ikn = ik 1 -1即ik 1 = n 1。其中分点为1 = h 2以以ikn = ik 1 -1即ik 1 = n 1。nrij、'(Xki Xi)(Xkj Xj) k 1J (Xki -Xi)2'n (Xkj -Xj)k=lk4因为R是实对称矩阵(即rj=rji),所以只需计算上三角元素或下三角元素即 可。2 计算特征值与特征向量首先

2、解特征方程|扎1 -R = 0,通常用雅可比法(Jacob)求出特征值 i(i二1,2,p),并使其按大小顺序排列,即I _匕一,一 “ _0 ;然后分别求出p对应于特征值人的特征向量e/i =1,2,,p)。这里要求|e| =1,即送e2 =1,其中j经eij表示向量ei的第j个分量。3计算主成分贡献率及累计贡献率主成分乙的贡献率为(i =1,2/ ,p)k =1累计贡献率为(i =1,2 - , p)'k k 4 p'kk 4一般取累计贡献率达85 95%的特征值厂2,韦所对应的第一、第 ,,第m (mW p)个主成分。4.计算主成分载荷其计算公式为h 二 p(Zi,Xj)

3、 =© (i, j =1,2, p)得到各主成分的载荷以后,还可以进步计算,得到各主成分的得分Zl2Z22z1m IZ2mZn2_Zn1.Fisher最优分割法的聚类步骤1.定义类的直径设某一类 G包含的样品有:X i ,X i 1 ,., X j / j i ,记为 G = d,i 1,., j?。znm类的均值向量XG为1 jXGXtj -i 1 t. t用D i,j表示这一类的直径,常用的直径有:j (D i,j 八 Xt -XgXt _Xg2.定义分类损失函数用b n, k表示将n个有序样品分为k类的某一种分法,常记分发b n,k为G _11,., i2 - V ,G 2 =

4、 ' i 2, i 2J., i 3 一 1 ',G k 八 i k,ik 1,., n ',其中分点为1 = h 2以以ikn = ik 1 -1即ik 1 = n 1。定义上述分类法的损失函数为kL b n,k 八 D ij i -1t 二3. L |b n, k 的地推公式费希尔算法最核心的部分是利用以下俩个地推公式:L_b( n,2)卜昌叫8(1-1)+0( j, n),t-_L | b n,k = min : L P j - 1,k - 1 D j, n4. 最优解的求法若分类数k 1 : k : n已知,求分类法P n,k,使它在损失函数意义下达最 小,其求

5、法如下:首先找分点jk,使地推公式达极小,即L P n,k 二 L P jk -1,k -1 D jk,n于是得第k类Gk =ik,ik+1,n。然后找j,使它满足L _P jkjk-1=L P jk-1,k-2 D jk,jk得到地k-1类Gk/ =*丄,jk -1。类似的方法一次可以得到所有类G!,G2,.,Gk,这就是我们所求的最优解,即P n,k 二 G,G2,.,Gk '总之,为了求最优解,主要是计算D i, j <i . j n?和 L P i, j ,1 G 乞 n,i 乞 j 乞 nl三.具体事例的分析(中学生身体四项指标的主成分分析)在某中学随机抽取某年级 30

6、名学生,测量其身高X1,体重X2,胸围X3和坐高X4,数据见下表:序号X1X2X3X411484172782139347176316049778641493667795159n45:80866142316676715343:7683815043777991514277801013931;68741114029:647412161477884131384978831414033r6777151373166731615235737917149478279181453570771916047L748720156447885211514273822214713873782315739688024147

7、30:6575251574880882615136;7480271443668762814130;6776291393268733014838rTF781.主成分分析首先,创建TXT文件,将数据纯入并保存,命名lyzbok.txt 。然后创建各个M文件(lyzstd.m总和和标准化矩阵;lyzfac.m计算相关系数矩 阵,特征值和特征向量,特征根排序,贡献率,主成分数,主成分载荷等相关操 作;lyzscore.m计算得分;lyzprint.m输出最终结果)。最后,在Matlab窗口键入以下语句,并最终显示器结果。lyzpri nt('lyzbook1.txt',30,4)fid

8、 =6标准化结果如下:v1 =0.05700.03100.05770.02760.01580.03180.01330.03250.02770.06070.02770.05970.03010.01690.03000.01220.05360.03100.05660.02640.01310.03220.01780.03050.02740.05590.03110.06370.02930.01250.03000.01950.06170.02730.05500.03250.01890.02980.01330.03570.02970.05630.02660.06130.03310.01170.02920.0

9、1460.05740.02570.06070.03000.01390.02980.01780.03250.02580.06470.02810.05850.03040.01890.03300.01460.06130.03140.05920.02760.01730.03380.01670.03090.03080.06350.02960.05720.03310.01970.03230.01220.05470.03140.05730.02720.01190.03340.01590.03090.02540.05630.02770.05640.02930.01330.03110.01300.05900.0

10、2690.05580.02760.01660.03100.01440.02960.02930.05510.02770.06010.03200.01250.02960.01540.05780.02650.05960.02840.01660.02940.01480.0317相关系数矩 阵:std =1.0000-0.16890.9831-0.1795-0.16891.0000-0.14950.96440.9831-0.14951.0000-0.1734-0.17950.9644-0.17341.0000特征向量(vec) 及特征向量(val):vec =0.67250.22130.4889-0.5

11、0970.2190-0.67110.51230.4891-0.6748-0.20840.4969-0.5042-0.21070.67620.50160.4968val =0.014700 00 0.0376 0 000 1.6381 000 0 2.3096特征根排序 : 2.309631.63810.03759370.0146792贡献率 :newrate =0.5774 主成分数:0.4095 0.0094 0.00372主成分 载荷 :-0.7746 0.62580.7433 0.6557-0.7663 0.63600.7550 0.6420 计算得分 :score =-0.0445 0

12、.11040.0659 18.00000.0257 0.06000.0475 0.1131 -0.0245 0.0568 -0.0419 0.10670.0857 10.00000.1606 2.00000.0323 27.00000.0648 20.00000.0231 0.06020.0446 0.1145 -0.0217 0.0581 -0.0451 0.11240.0833 12.00000.1591 4.00000.0364 25.00000.0673 16.00000.0243 0.06270.0870 8.00000.0448 0.1117 0.15655.0000-0.0284

13、0.05640.028030.0000-0.04920.11070.061521.00000.02220.06040.082613.00000.05070.11400.16471.0000-0.02380.06180.038024.0000-0.04870.11430.065619.00000.02220.06340.085611.00000.04390.11650.16043.0000-0.02660.06200.035426.0000-0.04250.10870.066317.00000.02660.05930.08599.00000.04350.10670.15027.0000-0.02

14、690.05520.028329.0000-0.04760.10780.060223.00000.02150.05890.080415.00000.04240.11060.15306.0000-0.02660.05690.030428.0000-0.04930.10970.060522.00000.02150.05940.0809 14.0000从数据中可以得出,第一主成分与第二主成分的贡献率之和高达98.69%,因此只需要用俩个主成分就能很好的概括这组数据,进而由俩个特征值所对应的特征 向量可以写出第一和第二主成分:Z1 = 0.6725 X; 0.2190 X; - 0.6748 X; -

15、 0.2107 X;Z2 = 0.2213 X;* -0.6711 X; - 0.2084 X; 0.6762 X ;由上可知,第一和第二主成分都是标准化好的变量X: i=1,2,3,4的线性组合。第二主成分得分对第一主成分得分的散布图0.120.110.10.090.080.070.060.05 -0.06由散布图可以大致的看出可以将数据分成四组2. Fisher最优分割法在主成分分析的基础上可知第一主成分 Z1和第二主成分Z2。进而分别以第一主成分乙作为数据指标进行Fisher最优分割法,及第二主成分Z2作为数据指标进 行Fisher最优分割法。以第一主成分乙作为数据指标进行Fisher最

16、优分割法:clear%输入标准化后的数据a=0.05700.01580.02770.03010.05360.01310.02740.02930.06170.01890.02970.03310.05740.01390.02580.03040.06130.01730.03080.03310.05470.01190.02540.02930.05900.01660.02930.03200.05780.0166 ;b=0.03100.03180.06070.01690.03100.03220.05590.01250.02730.02980.05630.01170.02570.02980.06470.01

17、890.03140.03380.06350.01970.03140.03340.05630.01330.02690.03100.05510.01250.02650.0294 ; c= 0.05770.01330.02770.03000.05660.01780.03110.03000.05500.01330.02660.02920.06070.01780.02810.03300.05920.01670.02960.03230.05730.01590.02770.03110.05580.01440.02770.02960.05960.0148;d= 0.02760.03250.05970.0122

18、0.02640.03050.06370.01950.03250.03570.06130.01460.03000.03250.05850.01460.02760.03090.05720.01220.02720.03090.05640.01300.02760.02960.06010.01540.02840.0317;y1=lyzzcf(a,b,c,d); % 计算第一主成分for i=1:30X(i)=y1(i);end%计算 直径 DD=zeros(30,30);for i=1:29for j=2:30if(i<j)sx=0;d=0;for t=i:jsx=sx+X(t);end mean

19、x=sx/(j-i+1);for k=i:jd=d+(X(k)-mea nx)42;endD(j,i)=d;endendendD;%计算分类损失函数LP=zeros(30,29);J=zeros(30,29);for k=2:29for l=3:30if(k<l)min=1000;if(k=2)%k=2时 的最小 损失函数for j=2:ltemp=D(j-1,1)+D(l,j);if(temp<min)min=temp; minj=j;endendelse %k>2时 的最小 损失函数for j=k:ltemp=LP(j-1,k-1)+D(l,j);if(temp<m

20、in)min=temp; minj=j;endendendLP(l,k)=min;J(l,k)=minj;endendendLP;J;%绘制分类损失函数随k变化趋势图for i=1:28y(i)=LP(30,i+1);endk=2:29;plot(k,y);hold onplot(k,y,'r*')由此图可以看出以第一主成分作为数据指标进行Fisher最优分割法,将数据分成5类就可以达到置信水平的要求。以第二主成分Z2作为数据指标进行Fisher最优分割法:其过程与第一主成分的过程基本相同,下面只给出分类损失函数随k变化趋势-4x 10由此图可以看出以第二主成分作为数据指标进行

21、Fisher最优分割法,将数据分成5类就也可以达到置信水平的要求。3 综合主成分分析与Fisher最优分割法得出结论以上讨论过了单从主成分分析考虑,该数据大致可分为四类,在此基础上又对第一和第二主成分分别作为数据指标进行了Fisher最优分割法,得出该数据在分成五类的时候同时达到了各个主成分的要求,故而将元数据分成五类是最佳的方法。附录1 主成分分析函数对列求和矩阵大小,a为行数,b为列数lyzstd.m总和和标准化矩阵: %lyzstd.m 用总和和标准化矩 阵 fun cti on std=lyzstd(vector) lyzsum=sum(vector,1);%a,b=size(vect

22、or);%for i=1:aforj=1:bstd(i,j)=vector(i,j)/lyzsum(j);end endlyzfac.m计算相关系数矩阵,特征值和特征向量,特征根排序,贡献率,主成 分数,主成分载荷等相关操作:%lyzfac.mfun cti on result=lyzfac(vector);fprintf('相关系数矩 阵:n')std=CORRCOEF(vector) %计算相关系数矩阵fprintf('特征向量(vec) 及特征值(val):n')vec,val=eig(std) %求特征值(val)及特征向量(vec)n ewval=di

23、ag(val);y,i=sort(newval); %对特征根进行排序,y为排序结果,i为索引fprintf('特征根排序:n')for z=1:le ngth(y)newy(z)=y(length(y)+1-z);endfprintf('%gn',newy)rate=y/sum(y);fprintf('n贡 献率 :n')newrate=newy/sum(newy)sumrate=0;newi=;for k=length(y):-1:1sumrate=sumrate+rate(k);newi(length(y)+1-k)=i(k);if sum

24、rate>0.85 break;endend % 记下累积贡献率大于 85%的特征 值的序号放 入 newi 中fprintf('主成分数: %gnn',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);endend % 计 算载荷disp(result)lyzscore.m 计算得分:%lyzscore.m计 算得分function score=lyzscore(vector1,vector2); sco=vector1*vector2;lsum=sum(sco,2);newlsum,i=sort(-1*lsum);newi,j=sort(i);fprintf(' 计算得分 : n')score=sco,lsum,j%得分矩阵:sco 为各主成分得分;lsum 为综合得分;j为排序 结 果lyzprint.m 输出最终结果:%lyzprint.mfunction print=lyzprint(filename,a,b); %filename为文本文件文件名 ;a 为矩阵行数(样本数),b为矩阵列数(变量指标数)fid=fopen(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论