内容发布更新时间 : 2024/11/8 18:42:53星期一 下面是文章的全部内容请认真阅读。
《数据分析》实验报告
实验名称:数据描述性分析 使用软件名称:Matlab 实 验 目 的 1.熟练掌握Matlab软件进行距离判别与Bayes判别的方法与步骤 2.掌握判别分析的回代误判率与交叉误判率的编程 3.掌握Bayes判别的平均误判率的计算以及灵敏度分析 . 根据下面的数据,解决以下问题: ① 判别两类总体的协方差矩阵是否相等,然后用马氏距离判别未知地区的类别,并计算回代误判率与交叉误判率;若两类总体服从正态分布,第一类与第二类的先验概率分别为13/27,14/27,利用Bayes判别未知地区的类别 ② 先验概率=多少时,距离判别与Bayes判别相同,调整先验概率对判别结果的影响是什么? ③ 对第一类与第二类的先验概率分别为13/27,14/27,计算误判概率 表6.4.1 各地区农、林、牧、渔各业数据 类别 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 农 89.70 86.70 95.50 191.30 307.60 141.30 250.40 337.40 254.00 28.90 49.40 348.80 899.40 1142.70 503.10 林 9.50 1.50 3.50 12.30 26.10 43.30 11.20 23.60 8.60 1.80 3.50 10.10 34.00 30.80 21.80 牧 105.20 60.80 88.40 96.30 216.20 58.20 154.40 114.10 80.90 32.50 30.30 134.00 685.90 448.50 332.30 渔 9.60 20.60 40.10 1.70 6.00 82.30 15.20 3.80 1.10 0.10 2.10 3.90 61.20 334.20 188.50 类别 农 林 11.30 15.70 73.70 66.20 82.30 54.00 27.10 51.90 56.80 39.40 50.90 47.20 47.20 57.00 15.10 牧 236.40 224.60 195.90 371.60 215.50 226.10 352.60 480.30 423.20 292.30 605.00 210.60 654.70 693.80 118.50 渔 5.80 20.10 308.80 132.30 330.50 104.30 134.80 85.20 390.10 101.20 41.00 14.40 350.70 20.40 5.10 实 验 内 容 1 1 1 1 1 1 1 1 1 1 1 x x x x 405.90 450.60 529.50 688.00 433.??0 405.90 658.30 665.70 817.90 439.90 769.90 431.30 1401.30 1331.60 279.90 首先判别两类总体的协方差距阵是否相等: clear clc A=[89.70 9.50 105.20 9.60 86.70 1.50 60.80 20.60 95.50 3.50 88.40 40.10 191.30 12.30 96.30 1.70 307.60 26.10 216.20 6.00 141.30 43.30 58.20 82.30 250.40 11.20 154.40 15.20 337.40 23.60 114.10 3.80 254.00 8.60 80.90 1.10 28.90 1.80 32.50 0.10 49.40 3.50 30.30 2.10 348.80 10.10 134.00 3.90 899.40 34.00 685.90 61.20 1142.70 30.80 448.50 334.20 503.10 21.80 332.30 188.50 405.90 11.30 236.40 5.80 450.60 15.70 224.60 20.10 529.50 73.70 195.90 308.80 688.00 66.20 371.60 132.30 433.20 82.30 215.50 330.50 405.90 54.00 226.10 104.30 658.30 27.10 352.60 134.80 665.70 51.90 480.30 85.20 817.90 56.80 423.20 390.10 439.90 39.40 292.30 101.20 769.90 50.90 605.00 41.00 ]; %已知样本 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 ]; %未知样本 A2=A(1:14,:); %第二类数据 A1=A(15:26,:); %第一类数据 n1=12;n2=14;p=4; s1=cov(A1);s2=cov(A2); s=((n1-1)*s1+(n2-1)*s2)/(n1+n2-2); Q01=(n1-1)*(log(det(s))-log(det(s1))-p+trace(inv(s)*s1)); Q02=(n2-1)*(log(det(s))-log(det(s2))-p+trace(inv(s)*s2)); P=1-chi2cdf([Q01,Q02],p*(p+1)/2) %%%以上计算可得两总体的协方差距阵相等 m1=mean(A1);m2=mean(A2); for i=1:4 d(i)=(X(i,:)-m1)*inv(s)*(X(i,:)-m1)'-(X(i,:)-m2)*inv(s)*(X(i,:)-m2)' %未知样本到两类总体的马氏距离之差函数 end %计算第一类误判为第二类的个数a1 a1=0; for i=1:n1 d1=(A1(i,:)-m1)*inv(s)*(A1(i,:)-m1)'-(A1(i,:)-m2)*inv(s)*(A1(i,:)-m2)'; if d1>0 a1=a1+1; else a1=a1; end end %计算第二类误判为第一类的个数a2 a2=0; for j=1:n2 d2=(A2(j,:)-m1)*inv(s)*(A2(j,:)-m1)'-(A2(j,:)-m2)*inv(s)*(A2(j,:)-m2)'; if d2<0 a2=a2+1; else a2=a2; end end wph=(a1+a2)/(n1+n2) %回代误判率 %计算交叉误判率 a11=0; for i=1:n2 B1=[A2(1:i-1,:);A2(i+1:n2,:)]; mb1=mean(B1);b1=mean(A1); sb1=cov(B1); l1=n2-1;l2=n1;p=4; T1=((l1-1)*sb1+(l2-1)*s1)/(l1+l2-2); Q1=(l1-1)*(log(det(T1))-log(det(sb1))-p+trace(inv(T1)*sb1)); Q2=(l2-1)*(log(det(T1))-log(det(s1))-p+trace(inv(T1)*s1)); P1=1-chi2cdf(Q1,p*(p+1)/2); P2=1-chi2cdf(Q2,p*(p+1)/2); if P1>0.05 && P2>0.05 d11(i)=(A2(i,:)-mb1)*inv(T1)*(A2(i,:)-mb1)'-(A2(i,:)-b1)*inv(T1)*(A2(i,:)-b1)'; else d11(i)=mahal(A2(i,:),B1)-mahal(A2(i,:),A1); end end a12=0; for j=1:n1 B2=[A1(1:j-1,:);A1(j+1:n1,:)]; mb2=mean(B2);b2=mean(A2); sb2=cov(B2); l11=n1-1;l12=n2;p=4; T2=((l11-1)*sb2+(l12-1)*s2)/(l11+l12-2); Q11=(l11-1)*(log(det(T2))-log(det(sb2))-p+trace(inv(T2)*sb2)); Q12=(l12-1)*(log(det(T2))-log(det(s2))-p+trace(inv(T2)*s2)); P11=1-chi2cdf(Q11,p*(p+1)/2); P12=1-chi2cdf(Q12,p*(p+1)/2); if P11>0.05 && P12>0.05 d12(j)=(A1(j,:)-mb2)*inv(T2)*(A1(j,:)-mb2)'-(A1(j,:)-b2)*inv(T2)*(A1(j,:)-b2)'; else