您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 应用多元统计分析作业
多元统计分析实验报告实验课程名称多元统计分析实验项目名称多元统计理论的计算机实现年级2013专业应用统计学学生姓名侯杰成绩1理学院实验时间:2015年05月07日学生所在学院:理学院专业:应用统计学班级:9131137001姓名侯杰学号913113700124实验组实验时间16.05.07指导教师李建军实验项目名称多元统计理论的计算机实现实验目的及要求:目的:熟悉R(或SPSS)软件,掌握多元统计分析中多元正态分布均值向量和协差阵的检验,判别方法,聚类分析,主成分分析,因子分析,相应分析内容。要求:程序要有注释,尽量体现多元统计分析多元正态分布均值向量和协差阵的检验,判别方法,聚类分析,主成分分析,因子分析,相应分析内容内容的基本原理。实验硬件及软件平台:计算机、R、网络实验内容(包括实验具体内容、算法分析、源代码等等):指导教师意见:签名:年月日2代码及运行结果分析1、均值检验问题重述:某医生观察了16名正常人的24小时动态心电图,分析出早晨3小时各小时的低频心电频谱值(LF)、高频心电频谱值(HF),数据见压缩包,试分析这两个指标的各次重复测定均值向量是否有显著差异。代码如下:Tsq.test-function(data,alpha=0.05){data-as.matrix(read.table(ch37.csv,header=TRUE,sep=,))#读取数据xdat-data[,2:4];xbar-apply(xdat,2,mean);#计算LF指标的均值ydat-data[,5:7];ybar-apply(ydat,2,mean);#计算HF指标数据xcov-cov(xdat);#计算LF样本协差阵ycov-cov(ydat);#计算HF样本协差阵sinv-solve(xcov+ycov);#求逆矩阵Tsq-(16+16-2)*t(sqrt(16*16/(16+16)*(xbar-ybar)))%*%sinv%*%sqrt(16*16/(16+16)*(xbar-ybar));#计算T统计量Fstat-((16+16-2)-3+1)/((16+16-2)*3)*Tsq;#计算F统计量pvalue-as.numeric(1-pf(Fstat,3,16+16-3-1));cat(p值=,pvalue,\n);if(pvalue0.05)#结果输出cat('均值向量不存在差异')elsecat('均值向量存在差异');}运行结果及分析:通过运行程序,我们可以得到如下结果:Tsq.test()p值=1.632028e-14均值向量存在差异即LF与HF这两个指标的各次重复测定均值向量存在显著差异。2、判别分析问题重述:银行的贷款部门需要判别每个客户的信用好坏(是否未履行还贷责任),以决定3是否给予贷款。可以根据贷款申请人的年龄()、受教育程度()、现在所从事工作的年数()、未变更住址的年数()、收入()、负债收入比例()、信用卡债务()、其它债务()等来判断其信用情况。数据见压缩包。⑴根据样本资料分别用距离判别法、Bayes判别法和Fisher判别法建立判别函数和判别规则。⑵某客户的如上情况资料为(53,1,9,18,50,11.20,2.02,3.58),对其进行信用好坏的判别。代码如下:#距离判别法discrim.dist-function(x){data-read.csv(ch49.csv,header=T,sep=,);#读取数据G1-data[1:5,];G2-data[6:10,];u1-apply(G1,2,mean);#计算信用好的样本数据均值u2-apply(G2,2,mean);#计算信用不好的样本数据均值s1-cov(G1);s2-cov(G2);s-s1+s2;xbar-(u1+u2)/2;alpha-solve(s)%*%(u1-u2);#计算判别系数alphaw-t(alpha)%*%(x-xbar);#构造判别函数if(w=0)#结果输出cat(该客户属于信用好的一类,\n)elsecat(该客户属于信用坏的一类,\n)}#费希尔判别法fisher.test-function(x){data-read.csv(ch49.csv,header=T,sep=,);#读取数据G1-data[1:5,];G2-data[6:10,];n1-nrow(G1);n2-nrow(G2);u1-apply(G1,2,mean);#计算信用好的一组的数据均值u2-apply(G2,2,mean);#计算信用不好的一组的样本数据均值s1-cov(G1);s2-cov(G2);E-s1+s2;B-n1*n2*(u1-u2)%*%t(u1-u2)/(n1+n1);alpha-eigen(solve(E)%*%B);vector-alpha$vectors[,1];#提取费希尔判别函数系数d1-abs(t(vector)%*%x-t(vector)%*%u1);#计算样本到第一组的费希尔判别函数值4d2-abs(t(vector)%*%x-t(vector)%*%u2);#计算样本到第二组的费希尔判别函数值if(d1d2)#结果输出cat(该客户属于信用好的一类,\n)elsecat(该客户属于信用坏的一类,\n)}运行结果及分析:注:由于在本题的情形下,距离判别与贝叶斯判别等价,故在此处仅选取距离判别进行编程。距离判别的运行结果:x-c(53,1,9,18,50,11.20,2.02,3.58)discrim.dist(x)该客户属于信用好的一类费希尔判别的运行结果:x-c(53,1,9,18,50,11.20,2.02,3.58)fisher.test(x)该客户属于信用好的一类从上面的运行结果可以看出该客户属于信用好的一类,即已履行还贷责任。3、聚类分析问题重述:下表(数据见压缩包)是某年我国16个地区农民支出情况的抽样调查数据,每个地区调查了反映每人平均生活消费支出情况的六个经济指标。试使用系统聚类法和K均值法对这些地区进行聚类分析,并对结果进行分析比较。代码如下:#系统聚类法data-read.csv(ch58.csv,header=T,sep=,);#读取数据Cludata-data[,2:7];Dismatrix-dist(Cludata,method=euclidean);#计算样本间的欧几里得距离Clu1-hclust(d=Dismatrix,method=single);#最短距离法Clu2-hclust(d=Dismatrix,method=complete);#最长距离法Clu3-hclust(d=Dismatrix,method=centroid);#重心法Clu4-hclust(d=Dismatrix,method=ward.D);#离差平方和法###绘出四种方法情况下的谱系图和聚类情况opar-par(mfrow=c(2,2));plot(Clu1,labels=data[,1]);re1-rect.hclust(Clu1,k=5,border=red);box();5plot(Clu2,labels=data[,1]);re2-rect.hclust(Clu2,k=5,border=red);box();plot(Clu3,labels=data[,1]);re3-rect.hclust(Clu3,k=5,border=red);box();plot(Clu4,labels=data[,1]);re4-rect.hclust(Clu4,k=5,border=red);box();par(opar);###绘出直观的分类情形opar-par(mfrow=c(2,2),las=2);cut1-cutree(Clu1,k=5);plot(cut1,pch=cut1,ylab=类别编号,xlab=省市,main=聚类的成员,axes=FALSE);axis(1,at=1:16,labels=data[,1],cex.axis=0.6);axis(2,at=1:5,labels=1:5,cex.axis=0.6);box();cut2-cutree(Clu2,k=5);plot(cut2,pch=cut2,ylab=类别编号,xlab=省市,main=聚类的成员,axes=FALSE);axis(1,at=1:16,labels=data[,1],cex.axis=0.6);axis(2,at=1:5,labels=1:5,cex.axis=0.6);box();cut3-cutree(Clu3,k=5);plot(cut3,pch=cut3,ylab=类别编号,xlab=省市,main=聚类的成员,axes=FALSE);axis(1,at=1:16,labels=data[,1],cex.axis=0.6);axis(2,at=1:5,labels=1:5,cex.axis=0.6);box();cut4-cutree(Clu4,k=5);plot(cut4,pch=cut4,ylab=类别编号,xlab=省市,main=聚类的成员,axes=FALSE);axis(1,at=1:16,labels=data[,1],cex.axis=0.6);axis(2,at=1:5,labels=1:5,cex.axis=0.6);box();#K均值聚类法data-read.csv(ch58.csv,header=T,sep=,);#读取数据Cludata-data[,2:7];Cluk-kmeans(x=Cludata,centers=5,nstart=5);#用K均值聚类分成五类par(mfrow=c(2,1),las=2);cluster-Cluk$cluster;#保存聚类解plot(cluster,pch=cluster,ylab=类别编号,xlab=省市,main=聚类的成员,axes=FALSE);#绘制各省市聚类解得序列图axis(1,at=1:16,labels=data[,1],cex.axis=0.6);axis(2,at=1:5,labels=1:5,cex.axis=0.6);box();legend(topright,c(第一类,第二类,第三类,第四类,第五类),pch=1:5,cex=0.3);###绘制类中心变量取值折线图plot(Cluk$centers[1,],ylim=c(0,82),xlab=聚类变量,ylab=组均值(类中心),main=各类聚类变量均值的变化折线图,axes=FALSE);axis(1,at=1:6,labels=c(食品,衣着,燃料,住房,交通和通讯,娱乐教育文化),cex.axis=0.6);box();6lines(1:6,Cluk$centers[1,],lty=2,col=2);lines(1:6,Cluk$centers[2,],lty=2,col=2);lines(1:6,Cluk$centers[3,],lty=3,col=3);lines(1:6,Cluk$centers[4,],lty=4,col=4);lines(1:6,Cluk$centers[5,],lty=5,col=5);legend(topleft,c(第一类,第二类,第三类,第四类,第五类),lty=1:5,col=1:5,cex=0.2)运行结果及分析:系统聚类法首先输入数据,计算样本间的欧几里得距离,然后用最短距离法,最长距离法,重心法,离差平方和法进行聚类分析,绘出谱系图和直观分类图。分类结果如下:7从结果可以看出最短距离法分类的情况如下:第一类:上海第二类:北京第三类:浙江第四类:山东第五类:其余地区最长距离法分类的情况如下:第一类:上海第二类:北京,浙江第三类:吉林,安徽,福建,江西第四类:辽宁
本文标题:应用多元统计分析作业
链接地址:https://www.777doc.com/doc-2420255 .html