《《统计分析》课件.ppt》由会员分享,可在线阅读,更多相关《《统计分析》课件.ppt(29页珍藏版)》请在三一办公上搜索。
1、第十二章 统计分析,12.1 方差分析12.2 双因子方差分析12.3 主成分分析12.4 判别分析12.5 聚类分析,回归分析,例1 测16名成年女子的身高与腿长所得数据如下:,以身高x为横坐标,以腿长y为纵坐标将这些数据点(xI,yi)在平面直角坐标系上标出.,散点图,一元线性回归方程,一元线性回归的实施步骤,step1:利用最小二乘原理确定回归系数,step2:回归方程的显著性检验,多元线性回归,b=regress(Y,X),1、确定回归系数的点估计值:,3、画出残差及其置信区间:rcoplot(r,rint),2、求回归系数的点估计和区间估计、并检验回归模型:b,bint,r,rint
2、,stats=regress(Y,X,alpha),3、残差分析,作残差图:rcoplot(r,rint),从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型 y=-16.073+0.7194x能较好的符合原始数据,而第二个数据可视为异常点.,4、预测及作图:z=b(1)+b(2)*x plot(x,Y,k+,x,z,r),非线性回 归,(1)确定回归系数的命令:beta,r,J=nlinfit(x,y,model,beta0),(2)非线性回归命令:nlintool(x,y,model,beta0,alpha),1、回归:,例2 出钢时所
3、用的盛钢水的钢包,由于钢水对耐火材料的侵蚀,容积不断增大.我们希望知道使用次数与增大的容积之间的关 系.对一钢包作试验,测得的数据列于下表:,解答,求解如下:,2、输入数据:x=2:16;y=6.42 8.20 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.80 10.60 10.90 10.76;beta0=8 2;,3、求回归系数:beta,r,J=nlinfit(x,y,volum,beta0);beta,得结果:beta=11.6036-1.0641,即得回归模型为:,逐 步 回 归,逐步回归的命令是:stepwise(x,y,inmod
4、el,alpha),运行stepwise命令时产生三个图形窗口:Stepwise Plot,Stepwise Table,Stepwise History.,在Stepwise Plot窗口,显示出各项的回归系数及其置信区间.,Stepwise Table 窗口中列出了一个统计表,包括回归系数及其置信区间,以及模型的统计量剩余标准差(RMSE)、相关系数(R-square)、F值、与F对应的概率P.,水泥凝固时放出的热量y与水泥中4种化学成分x1、x2、x3、x4 有关,今测得一组数据如下,试用逐步回归法确定一个 线性模 型.,1、数据输入:x1=7 1 11 11 7 11 3 1 2 21
5、 1 11 10;x2=26 29 56 31 52 55 71 31 54 47 40 66 68;x3=6 15 8 8 6 9 17 22 18 4 23 9 8;x4=60 52 20 47 33 22 6 44 22 26 34 12 12;y=78.5 74.3 104.3 87.6 95.9 109.2 102.7 72.5 93.1 115.9 83.8 113.3 109.4;x=x1 x2 x3 x4;,背景及原理判别分析在生物学,医学,地质学中都有应用,例如地址人员需要根据化学成分来判别采到的矿石属于哪一种矿,气象工作者需要根据采集的数据判别近日内的天气是晴还是阴等。判别
6、分析法就是利用原有的分类信息,得到体现这种分类的函数关系式(称为判别函数),然后利用该函数去判别未知样品属于哪一类。,判别分析,例如某精神病院由精神病患者256人,诊断结果将它们分成六类G1,G2,G6(相当于6个总体),假设这六种类型可分为焦虑型、癔病、精神病、强迫观念病、变态人格、正常,做诊断时是根据三个指标来考察的,现有一个新的精神病患者来就医,测得三个指标:x1=2.0,x2=1.0,x3=1.01问该患者病情属于哪一类我们就可以通过判别分析来考察。,常用的判别方法有:距离判别法、费歇尔判别法和贝叶斯法等,由处理方式的不同又可以分为典型法和逐步法。,1 距离判别法,距离判别法有欧氏距离
7、和马氏距离等。Matlab中使用的是马氏距离,应用时,首先要计算各类别的样本指标的协方差矩阵,然后采用下式计算马氏距离:,所谓Fisher判别法,就是一种先投影的方法。考虑只有两个(预测)变量的判别分析问题。假定这里只有两类。数据中的每个观测值是二维空间的一个点。见图(下一张幻灯片)。这里只有两种已知类型的训练样本。其中一类有38个点(用“o”表示),另一类有44个点(用“*”表示)。按照原来的变量(横坐标和纵坐标),很难将这两种点分开。于是就寻找一个方向,也就是图上的虚线方向,沿着这个方向朝和这个虚线垂直的一条直线进行投影会使得这两类分得最清楚。可以看出,如果向其他方向投影,判别效果不会比这
8、个好。有了投影之后,再用前面讲到的距离远近的方法来得到判别准则。这种首先进行投影的判别方法就是Fisher判别法。,2 费歇尔判别法:先投影的方法,判别分析的函数,classify函数其调用格式为:class=classify(sample,training,group)指定sample数据的每一行到训练集training指定的一个类中。sample和training必须具有相同的列数。group向量包含从1到组数的正整数,它指明训练集中的每一行属于哪一个类。group和training必须具有相同的行数。该函数返回class,它是一个与sample具有相同行数的向量。class的每一个元素指
9、定sample中对应元素的分类。,应用实例,我国山区某大型化工厂,在厂区及邻近地区挑选有代表性的15个大气取样点,每日4次同时抽取大气样品,测定其中含有的6种气体的浓度,前后共4天,每个取样点每种气体实测16次。计算每个取样点每种气体的平均浓度,数据如下表。气体数据对应的污染地区分类如表种最后一列所示。现有两个取自该地区的4个气体样本,气体指标如表中后4行所示,试判别这4个样品的污染分类。,如果想使用不同的方法做判别分析可以调用函数:class=classify(sample,training,group,type),其中type可选。具体详见help classify,training0=x
10、lsread(e:air.xls)读入数据training=training0(1:15,2:7)取出数据表中的数据group=1 1 1 1 2 2 1 1 2 2 2 2 2 2 1;对训练集中的数据进行分类sample=training0(16:19,2:7)给出判别的数据class=classify(sample,training,group)判别分析,由结果可以看出,第一二两个样本都是属于第一类,第三四两个样本都属于第二类。,俗语说,物以类聚、人以群分。但什么是分类的根据呢?,聚类分析,比如,要想把中国的县分成若干类,就有很多种分类法;可以按照自然条件来分,比如考虑降水、土地、日照、
11、湿度等各方面;也可以考虑收入、教育水准、医疗条件、基础设施等指标;既可以用某一项来分类,也可以同时考虑多项指标来分类。,分类问题分为判别分析和聚类分析。判别分析研究事先已经建立类别的情况,即将样品或指标按已知的类别进行归类。聚类分析适用于实现没有分类的情况,即如何将样品或指标进行分类的问题。聚类分析包含的范围很广,可以有系统聚类法、动态聚类法、分裂法、最优分割法、模糊聚类法、图论聚类法、聚类预报等多种方法。聚类分析法的原理试:首先将一定数量的样品各自看成一类,然后根据样品的亲疏程度,将亲疏程度最高的两类进行合并。然后考虑合并后的类与其他类之间的亲疏程度,再进行合并。重复这一过程,直至将所有的样
12、品合并为一类。,如果想要对100个学生进行分类,如果仅仅知道他们的数学成绩,则只好按照数学成绩来分类;这些成绩在直线上形成100个点。这样就可以把接近的点放到一类。如果还知道他们的物理成绩,这样数学和物理成绩就形成二维平面上的100个点,也可以按照距离远近来分类。,如何度量远近?,比如说我们想根据100位学生的成绩对他们进行分类,或者我们已知了16种饮料的热量、咖啡因、钠及价格要对这16种饮料进行分类,怎么进行考察,我们第一个关心的问题是怎样度量这些点的亲疏度呢?,例如:16种饮料的热量、咖啡因、钠及价格四种变量,三维或者更高维的情况也是类似;只不过三维以上的图形无法直观地画出来而已。在饮料数
13、据中,每种饮料都有四个变量值。这就是四维空间点的问题了。,按照远近程度来聚类需要明确两个概念:一个是点和点之间的距离,一个是类和类之间的距离。,点间距离有很多定义方式。最简单的是欧氏距离,还有其他的距离。,当然还有一些和距离相反但起同样作用的概念,比如相似性等,两点相似度越大,就相当于距离越短。,由一个点组成的类是最基本的类;如果每一类都由一个点组成,那么点间的距离就是类间距离。但是如果某一类包含不止一个点,那么就要确定类间距离,类间距离是基于点间距离定义的:比如两类之间最近点之间的距离可以作为这两类之间的距离,也可以用两类中最远点之间的距离作为这两类之间的距离;当然也可以用各类的中心之间的距
14、离来作为类间距离。在计算时,各种点间距离和类间距离的选择是通过统计软件的选项实现的。不同的选择的结果会不同,但一般不会差太多。,点与点之间各种距离简介,向量x=(x1,xp)与y=(y1,yp)之间的距离或相似系数:,欧氏距离:Euclidean,平方欧氏距离:Squared Euclidean,Block(绝对距离):Si|xi-yi|,Chebychev:Maxi|xi-yi|,Minkowski:,夹角余弦(相似系数1):cosine,Pearson correlation(相似系数2):,类与类之间各种距离简介,类Gp与类Gq之间的距离Dpq,(d(xi,xj)表示点xi Gp和xj
15、Gq之间的距离),最短距离法:,最长距离法:,重心法:,类平均法:,离差平方和:(Wald),Matlab中有关聚类分析的函数,1)pdist函数,该函数用来计算X矩阵中配对样本的欧氏距离。其调用的格式为,Y=pdist(X).Y为长度 的向量,包含距离信息。这些信息按照(1,2),(1,3),(1,m),(2,3),(2,4),(2,m),(m-1,m)顺序排列。,Y=pdist(X,metric),其中metric可以是Euclid,SEuclid,Mahal.,2)Linkage函数,该函数用来创建系统聚类树,其调用格式为,Z=linkage(Y),使用最短距离法创建一个系统聚类树。,Z
16、=linkage(Y,method),用method指定的方法计算系统聚类树。其中method可以是single即最短距离法,complete即最长距离法等。,3)dendrogram函数,该函数用于输出冰柱图,其调用格式为,H=dendrogram(Z,p)生成只有顶部p个节点的冰柱图。设置p0,显示所有节点。,H,T=dendrogram(Z,p)返回一个大小为m的向量T,其中包含了原始数据集合中每一个对象的聚类个数。使用find(T=k)函数可以找到有哪些对象包含在冰柱图的叶节点k中。,实例,对土壤数据进行样本聚类,a=xlsread(e:soil.xls)a1=a(:,2:6)y=pdist(a1,euclid)%计算样本点之间的距离z=linkage(y,single)%计算类与类之间的距离H,T=dendrogram(z,0)%给出聚类冰柱图T=cluster(z,3)%将样本点分为3类find(T=3)%查找第3类包含的样本点,