文档详情

matlab数据分析方法_.ppt

发布:2021-01-18约1.75万字共65页下载文档
文本预览下载声明
31/ 24 MATLAB 数据分析方法(机械工业出版社) 第 4 章 判别分析 ③ 重复步骤①,②,直到 G 1 中的全部样品依次被删 除,又进行判别,其误判的样品个数记为 ④ 对 G 2 的样品重复步骤①,②,③直到 G 2 中的全部 样品依次被删除又进行判别,其误判的样品个数记 为 于是交叉误判率估计为: * * * 1 2 ? N N p m n ? ? ? (4.2.2 ) * 2 N * 1 N 32/ 24 MATLAB 数据分析方法(机械工业出版社) 第 4 章 判别分析 例 4.2.1 根据教材表 4.1 数据 , 判别两类总体的协方差 矩阵是否相等,然后用马氏距离判别未知地区的类 别,并计算回代误判率与交叉误判率 . 表 4.1 解:首先判断两组数据协方差是否相等 . 再建立判别 准则,计算回代和交叉误判率,源程序如下: a=[503.10 21.80 332.30 188.50 ………… 769.90 50.90 605.00 41.00]; b=[ 89.70 9.50 105.20 9.60 ………… 1142.70 30.80 448.50 334.20]; x=[ 431.30 47.20 210.60 14.40;1401.30 47.20 654.70 350.70 1331.60 57.00 693.80 20.40;279.90 15.10 118.50 5.10]; n1=length(a(:,1));n2=length(b(:,1));s1=cov(a);s2=cov(b);p=4; s=((n1-1)*s1+(n2-1)*s2)/(n1+n2-2); 33/ 24 MATLAB 数据分析方法(机械工业出版社) 第 4 章 判别分析 q1=(n1-1)*(log(det(s))-log(det(s1))-p+trace(inv(s)*s1)) q2=(n2-1)*(log(det(s))-log(det(s2))-p+trace(inv(s)*s2)) chi2inv(0.95,10) % 验证两总体的协方差矩阵相同 for i=1:4 D(i)=(x(i,:)-mean(a))*inv(s)*(x(i,:)-mean(a))-(x(i,:)-mean(b)) *inv(s)*(x(i,:)-mean(b)); end % 由 D 结果可得:前三个属于第一类,最后一个属于第二类 for i=1:n1 d11(i)=(a(i,:)-mean(a))*inv(s)*(a(i,:)-mean(a))-(a(i,:)-mean(b) )*inv(s)*(a(i,:)-mean(b)); end for i=1:n2 d22(i)=(b(i,:)-mean(b))*inv(s)*(b(i,:)-mean(b))-(b(i,:)-mean(a))* inv(s)*(b(i,:)-mean(a)); end n11=length(find(d110));n22=length(find(d220)); p0=(n11+n22)/(n1+n2) % 计算回代误判率 34/ 24 MATLAB 数据分析方法(机械工业出版社) 第 4 章 判别分析 for i=1:n1 A=a([1:i-1,i+1:n1],:); n1=length(A(:,1));n2=length(b(:,1)); s1=cov(A);s2=cov(b);p=4; s=((n1-1)*s1+(n2-1)*s2)/(n1+n2-2); D11(i)=(a(i,:)-mean(A))*inv(s)*(a(i,:)-mean(A))-(a(i,:)- mean(b))*inv(s)*(a(i,:)-mean(b)); end for i=1:n2 B=b([1:i-1,i+1:n2],:); n1=length(a(:,1));n2=length(B(:,1)); s1=cov(A);s2=cov(B);p=4; s=((n1-1)*s1+(n2-1)*s2)/(n1+n2-2); D22(i)=(b(i,:)-mean(B))*inv(s)*(b(i,:)-mean(B))-(b(i,:)- mean(a))* inv(s)*(b(i,:)-mean(a)); end N11=length(find(D110));N22=length(find(D220)); p1=(N11+N22)/(n1+n2) % 计算交叉误判率
显示全部
相似文档