《算法大全第10章 数据的统计描述和分析.pdf》由会员分享,可在线阅读,更多相关《算法大全第10章 数据的统计描述和分析.pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-201-第十章第十章 数据的统计描述和分析数据的统计描述和分析 数理统计研究的对象是受随机因素影响的数据,以下数理统计就简称统计,统计是以概率论为基础的一门应用学科。数据样本少则几个,多则成千上万,人们希望能用少数几个包含其最多相关信息的数值来体现数据样本总体的规律。描述性统计就是搜集、整理、加工和分析统计数据,使之系统化、条理化,以显示出数据资料的趋势、特征和数量关系。它是统计推断的基础,实用性较强,在统计工作中经常使用。面对一批数据如何进行描述与分析,需要掌握参数估计和假设检验这两个数理统计的最基本方法。我们将用 Matlab 的统计工具箱(Statistics Toolbox)来实现数
2、据的统计描述和分析。1 统计的基本概念 1.1 总体和样本 总体总体是人们研究对象的全体,又称母体,如工厂一天生产的全部产品(按合格品及废品分类),学校全体学生的身高。总体中的每一个基本单位称为个体,个体的特征用一个变量(如x)来表示,如一件产品是合格品记0=x,是废品记1=x;一个身高 170(cm)的学生记170=x。从总体中随机产生的若干个个体的集合称为样本,或子样,如n件产品,100 名学生的身高,或者一根轴直径的 10 次测量。实际上这就是从总体中随机取得的一批数据,不妨记作nxxx,21L,n称为样本容量。简单地说,统计的任务是由样本推断总体。1.2 频数表和直方图 一组数据(样本
3、)往往是杂乱无章的,做出它的频数表和直方图,可以看作是对这组数据的一个初步整理和直观描述。将数据的取值范围划分为若干个区间,然后统计这组数据在每个区间中出现的次数,称为频数,由此得到一个频数表。以数据的取值为横坐标,频数为纵坐标,画出一个阶梯形的图,称为直方图,或频数分布图。若样本容量不大,能够手工做出频数表和直方图,当样本容量较大时则可以借助Matlab 这样的软件了。让我们以下面的例子为例,介绍频数表和直方图的作法。例 1 学生的身高和体重 学校随机抽取 100 名学生,测量他们的身高和体重,所得数据如表 表 1 身高体重数据 身高 体重 身高 体重 身高 体重 身高 体重 身高 体重 1
4、72 75 169 55 169 64 171 65 167 47 171 62 168 67 165 52 169 62 168 65 166 62 168 65 164 59 170 58 165 64 160 55 175 67 173 74 172 64 168 57 155 57 176 64 172 69 169 58 176 57 173 58 168 50 169 52 167 72 170 57 166 55 161 49 173 57 175 76 158 51 170 63 169 63 173 61 164 59 165 62 167 53 171 61 166 70
5、166 63 172 53 173 60 178 64 163 57 169 54 169 66 178 60 177 66 170 56 167 54 169 58 173 73 170 58 160 65 179 62 172 50 163 47 173 67 165 58 176 63 162 52 -202-165 66 172 59 177 66 182 69 175 75 170 60 170 62 169 63 186 77 174 66 163 50 172 59 176 60 166 76 167 63 172 57 177 58 177 67 169 72 166 50 1
6、82 63 176 68 172 56 173 59 174 64 171 59 175 68 165 56 169 65 168 62 177 64 184 70 166 49 171 71 170 59 (i)数据输入 数据输入通常有两种方法,一种是在交互环境中直接输入,如果在统计中数据量比较大,这样作不太方便;另一种办法是先把数据写入一个纯文本数据文件 data.txt 中,格式如例 1 的表 1,有 20 行、10 列,数据列之间用空格键或 Tab 键分割,该数据文件data.txt 存放在 matlabwork 子目录下,在 Matlab 中用 load 命令读入数据,具体作法是:l
7、oad data.txt 这样在内存中建立了一个变量 data,它是一个包含有1020个数据的矩阵。为了得到我们需要的 100 个身高和体重各为一列的矩阵,应做如下的改变:high=data(:,1:2:9);high=high(:)weight=data(:,2:2:10);weight=weight(:)(ii)作频数表及直方图 求频数用 hist 命令实现,其用法是:N,X=hist(Y,M)得到数组(行、列均可)Y 的频数表。它将区间min(Y),max(Y)等分为 M 份(缺省时M 设定为 10),N 返回 M 个小区间的频数,X 返回 M 个小区间的中点。命令 hist(Y,M)画
8、出数组 Y 的直方图。对于例 1 的数据,编写程序如下:load data.txt;high=data(:,1:2:9);high=high(:);weight=data(:,2:2:10);weight=weight(:);n1,x1=hist(high)%下面语句与hist命令等价%n1=length(find(high=158.1&high=161.2&high=164.5&high=167.6&high=170.7&high=173.8&high=176.9&high=180&high=183.1)n2,x2=hist(weight)subplot(1,2,1),hist(high)s
9、ubplot(1,2,2),hist(weight)计算结果略,直方图如图 1 所示。-203-1 5 01 6 01 7 01 8 01 9 0051 01 52 02 53 04 05 06 07 08 0051 01 52 02 5 图 1 直方图 从直方图上可以看出,身高的分布大致呈中间高、两端低的钟形;而体重则看不出什么规律。要想从数值上给出更确切的描述,需要进一步研究反映数据特征的所谓“统计量”。直方图所展示的身高的分布形状可看作正态分布,当然也可以用这组数据对分布作假设检验。例 2 统计下列五行字符串中字符 a、g、c、t 出现的频数 1.aggcacggaaaaacgggaat
10、aacggaggaggacttggcacggcattacacggagg 2.cggaggacaaacgggatggcggtattggaggtggcggactgttcgggga 3.gggacggatacggattctggccacggacggaaaggaggacacggcggacataca 4.atggataacggaaacaaaccagacaaacttcggtagaaatacagaagctta 5.cggctggcggacaacggactggcggattccaaaaacggaggaggcggacggaggc 解 把上述五行复制到一个纯文本数据文件 shuju.txt 中,放在 matlabwo
11、rk 子目录下,编写如下程序:clc fid1=fopen(shuju.txt,r);i=1;while(feof(fid1)data=fgetl(fid1);a=length(find(data=97);b=length(find(data=99);c=length(find(data=103);d=length(find(data=116);e=length(find(data=97&data称为右偏态,此时数据位于均值右边的比位于左边的多;01称为左偏态,情况相反;而1接近 0 则可认为分布是对称的。峰度是分布形状的另一种度量,正态分布的峰度为 3,若2比 3 大得多,表示分布有沉重的尾
12、巴,说明样本中含有较多远离均值的数据,因而峰度可以用作衡量偏离正态分布的尺度之一。Matlab 中 moment(x,order)返回 x 的 order 阶中心矩,order 为中心矩的阶数。skewness(x)返回 x 的偏度,kurtosis(x)返回峰度。在以上用 Matlab 计算各个统计量的命令中,若 x 为矩阵,则作用于 x 的列,返回一个行向量。对例 1 给出的学生身高和体重,用 Matlab 计算这些统计量,程序如下:clc load data.txt;high=data(:,1:2:9);high=high(:);weight=data(:,2:2:10);weight=
13、weight(:);-205-shuju=high weight;jun_zhi=mean(shuju)zhong_wei_shu=median(shuju)biao_zhun_cha=std(shuju)ji_cha=range(shuju)pian_du=skewness(shuju)feng_du=kurtosis(shuju)统计量中最重要、最常用的是均值和标准差,由于样本是随机变量,它们作为样本的函数自然也是随机变量,当用它们去推断总体时,有多大的可靠性就与统计量的概率分布有关,因此我们需要知道几个重要分布的简单性质。1.4 统计中几个重要的概率分布统计中几个重要的概率分布 1.4.
14、1 分布函数、密度函数和分位数 随机变量的特性完全由它的(概率)分布函数或(概率)密度函数来描述。设有随机变量X,其分布函数定义为xX 的概率,即)(xXPxF=。若X是连续型随机变量,则其密度函数)(xp与)(xF的关系为 =xdxxpxF)()(.上分位数是下面常用的一个概念,其定义为:对于10n时它与)1,0(N就相差无几了。(iv)F分布 若)(12nX,)(22nY,且相互独立,则21/nYnXF=服从F分布,记作),(21nnFF,),(21nn称自由度。1.4.3 Matlab 统计工具箱(ToolboxStats)中的概率分布 Matlab 统计工具箱中有 27 种概率分布,这
15、里只对上面所述 4 种分布列出命令的字符:norm 正态分布;chi2 2分布;t t分布 f F分布 工具箱对每一种分布都提供 5 类函数,其命令的字符是:pdf 概率密度;cdf 分布函数;inv 分布函数的反函数;stat 均值与方差;rnd 随机数生成 当需要一种分布的某一类函数时,将以上所列的分布命令字符与函数命令字符接起来,并输入自变量(可以是标量、数组或矩阵)和参数就行了,如:p=normpdf(x,mu,sigma)均值 mu、标准差 sigma 的正态分布在x的密度函数(mu=0,sigma=1 时可缺省)。p=tcdf(x,n)t分布(自由度 n)在 x 的分布函数。x=c
16、hi2inv(p,n)2分布(自由度 n)使分布函数 F(x)=p 的 x(即 p 分位数)。m,v=fstat(n1,n2)F分布(自由度 n1,n2)的均值 m 和方差 v。几个分布的密度函数图形就可以用这些命令作出,如:x=-6:0.01:6;y=normpdf(x);z=normpdf(x,0,2);plot(x,y,x,z),gtext(N(0,1),gtext(N(0,22)分布函数的反函数的意义从下例看出:x=chi2inv(0.9,10)x=15.9872 如果反过来计算,则 P=chi2cdf(15.9872,10)P=0.9000 1.5 正态总体统计量的分布 用样本来推断
17、总体,需要知道样本统计量的分布,而样本又是一组与总体同分布的随机变量,所以样本统计量的分布依赖于总体的分布。当总体服从一般的分布时,求某个样本统计量的分布是很困难的,只有在总体服从正态分布时,一些重要的样本统计量(均值、标准差)的分布才有便于使用的结果。另一方面,现实生活中需要进行统计推断的总体,多数可以认为服从(或近似服从)正态分布,所以统计中人们在正态总体的-207-假定下研究统计量的分布,是必要的与合理的。设总体),(2NX,nxxx,21L为一容量n的样本,其均值x和标准差s由式(1)、(2)确定,则用x和s构造的下面几个分布在统计中是非常有用的。),(2nNx 或)1,0(/Nnx
18、(3)).1()1(222nsn (4))1(/ntnsx (5)设有两个总体),(221NX和),(222NY,及由容量分别为1n,2n的两个样本确定的均值yx,和标准差21,ss,则)1,0(/)()(22212121Nnnyx+(6))2(/1/1)()(212121+nntnnsyxw (7)其中2)1()1(212222112+=nnsnsnsw,)1,1(/2122222121nnFss (8)对于(7)式,假定21=,但它们未知,于是用s代替。在下面的统计推断中我们要反复用到这些分布。2 参数估计 利用样本对总体进行统计推断的一类问题是参数估计,即假定已知总体的分布,通常是),(
19、2NX,估计有关的参数,如2,。参数估计分点估计和区间估计两种。2.1 点估计 点估计是用样本统计量确定总体参数的一个数值。评价估计优劣的标准有无偏性、最小方差性、有效性等,估计的方法有矩法、极大似然法等。最常用的是对总体均值和方差2(或标准差)作点估计。让我们暂时抛开评价标准,当从一个样本按照式(1)、(2)算出样本均值x和方差2s后,对和2(或)一个自然、合理的点估计显然是(在字母上加表示它的估计值)x=,22s=,s=(9)2.2 区间估计 点估计虽然给出了待估参数的一个数值,却没有告诉我们这个估计值的精度和可信程度。一般地,总体的待估参数记作(如2,),由样本算出的的估计量记作,人们常
20、希望给出一个区间,21,使以一定的概率落在此区间内。若有=121P,10H;左边检验:00:H,01:时用 tail=1;1H为0=HH,取05.0=。Matlab 实现如下:x=159 280 101 212 224 379 179 264.222 362 168 250 149 260 485 170;h,p,ci=ttest(x,225,0.05,1)求得 h=0,p=0.2570,说明在显著水平为 0.05 的情况下,不能拒绝原假设,认为元件的平均寿命不大于 225 小时。3.2 两个正态总体均值差的检验(t检验)还可以用t检验法检验具有相同方差的 2 个正态总体均值差的假设。在 Ma
21、tlab 中由函数 ttest2 实现,命令为:h,p,ci=ttest2(x,y,alpha,tail)与上面的 ttest 相比,不同处只在于输入的是两个样本 x,y(长度不一定相同),而不是一个样本和它的总体均值;tail 的用法与 ttest 相似,可参看帮助系统。例 5 在平炉上进行一项试验以确定改变操作方法的建议是否会增加钢的得率,试验是在同一平炉上进行的。每炼一炉钢时除操作方法外,其它条件都可能做到相同。先用标准方法炼一炉,然后用建议的新方法炼一炉,以后交换进行,各炼了 10 炉,其得率分别为 1标准方法 78.1 72.4 76.2 74.3 77.4 78.4 76.0 75
22、.6 76.7 77.3 2新方法 79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1 设这两个样本相互独立且分别来自正态总体),(21N和),(22N,221,均未知,问建议的新方法能否提高得率?(取05.0=。)解 (i)需要检验假设 0:210H,0:211H.(ii)Matlab 实现 -210-x=78.1 72.4 76.2 74.3 77.4 78.4 76.0 75.6 76.7 77.3;y=79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1;h,p,ci=ttest2(x,y,0
23、.05,-1)求得 h=1,p=2.212610-4。表明在05.0=的显著水平下,可以拒绝原假设,即认为建议的新操作方法较原方法优。3.3 分布拟合检验 在实际问题中,有时不能预知总体服从什么类型的分布,这时就需要根据样本来检验关于分布的假设。下面介绍2检验法和专用于检验分布是否为正态的“偏峰、峰度检验法”。3.3.1 2检验法 0H:总体x的分布函数为)(xF,1H:总体x的分布函数不是).(xF 在用下述2检验法检验假设0H时,若在假设0H下)(xF的形式已知,但其参数值未知,这时需要先用极大似然估计法估计参数,然后作检验。2检验法的基本思想如下:将随机试验可能结果的全体分为k个互不相容
24、的事件kAAAA,.,321),2,1,(1kjijiAAAjikikL=。于是在假设0H下,我们可以计算)(iiAPp=(或)(iiAPp=),ki,2,1L=。在n次试验中,事件iA出现的频率nfi/与ip(ip)往往有差异,但一般来说,若0H为真,且试验的次数又甚多时,则这种差异不应该很大。基于这种想法,皮尔逊使用 =kiiiinpnpf122)((或=kiiiipnpnf122)()(11)作为检验假设0H的统计量。并证明了以下定理。定理 若n充分大,则当0H为真时(不论0H中的分布属什么分布),统计量(11)总是近似地服从自由度为1rk的2分布,其中r是被估计的参数的个数。于是,若在
25、假设0H下算得(11)有),1(22rka 则在显著性水平下拒绝0H,否则就接受。注意:在使用2检验法时,要求样本容量n不小于 50,以及每个inp都不小于 5,而且inp最好是在 5 以上。否则应适当地合并iA,以满足这个要求。例 6 下面列出了 84 个伊特拉斯坎(Etruscan)人男子的头颅的最大宽度(mm),试检验这些数据是否来自正态总体(取)1.0=。141 148 132 138 154 142 150 146 155 158 150 140 147 148 144 150 149 145 149 158 143 141 144 144 126 140 144 142 141 1
26、40 145 135 147 146 141 136 140 146 142 137 148 154 137 139 143 140 131 143 141 149 148 135 148 152 143 144 141 143 147 146 -211-150 132 142 142 143 153 149 146 149 138 142 149 142 137 134 144 146 147 140 142 140 137 152 145 解 编写 Matlab 程序如下:clc x=141 148 132 138 154 142 150 146 155 158.150 140 147 1
27、48 144 150 149 145 149 158.143 141 144 144 126 140 144 142 141 140.145 135 147 146 141 136 140 146 142 137.148 154 137 139 143 140 131 143 141 149.148 135 148 152 143 144 141 143 147 146.150 132 142 142 143 153 149 146 149 138.142 149 142 137 134 144 146 147 140 142.140 137 152 145;mm=minmax(x)%求数据中
28、的最小数和最大数 hist(x,8)%画直方图 fi=length(find(x=135&x=138&x=142&x=146&x=150&x=154)%各区间上出现的频数 mu=mean(x),sigma=std(x)%均值和标准差 fendian=135,138,142,146,150,154%区间的分点 p0=normcdf(fendian,mu,sigma)%分点处分布函数的值 p1=diff(p0)%中间各区间的概率 p=p0(1),p1,1-p0(6)%所有区间的概率 chi=(fi-84*p).2./(84*p)chisum=sum(chi)%皮尔逊统计量的值 x_a=chi2in
29、v(0.9,4)%chi2分布的0.9分位数 求得皮尔逊统计量chisum=2.2654,7.7794)4()127(21.021.0=,故在水平0.1下接受0H,即认为数据来自正态分布总体。3.3.2 偏度、峰度检验(留作习题1)3.4 其它非参数检验 Matlab还提供了一些非参数方法。3.4.1 Wilcoxon秩和检验 在Matlab中,秩和检验由函数ranksum实现。命令为:p,h=ranksum(x,y,alpha)其中x,y可为不等长向量,alpha为给定的显著水平,它必须为0和1之间的数量。p返回产生两独立样本的总体是否相同的显著性概率,h返回假设检验的结果。如果x和y的总体
30、差别不显著,则h为零;如果x和y的总体差别显著,则h为1。如果p接近于零,则可对原假设质疑。例7 某商店为了确定向公司A或公司B购买某种产品,将BA,公司以往各次进货的次品率进行比较,数据如下所示,设两样本独立。问两公司的商品的质量有无显著差异。设两公司的商品的次品的密度最多只差一个平移,取05.0=。-212-A:7.0 3.5 9.6 8.1 6.2 5.1 10.4 4.0 2.0 10.5 B:5.7 3.2 4.2 11.0 9.7 6.9 3.6 4.8 5.6 8.4 10.1 5.5 12.3 解 分别以BA、记公司BA、的商品次品率总体的均值。所需检验的假设是 BAH=:0,
31、BAH:1.Matlab实现如下:a=7.0 3.5 9.6 8.1 6.2 5.1 10.4 4.0 2.0 10.5;b=5.7 3.2 4.2 11.0 9.7 6.9 3.6 4.8 5.6 8.4 10.1 5.5 12.3;p,h=ranksum(a,b)求得p=0.8041,h=0,表明两样本总体均值相等的概率为0.8041,并不很接近于零,且h=0说明可以接受原假设,即认为两个公司的商品的质量无明显差异。3.5 中位数检验 在假设检验中还有一种检验方法为中位数检验,在一般的教学中不一定介绍,但在实际中也是被广泛应用到的。在Matlab中提供了这种检验的函数。函数的使用方法简单,
32、下面只给出函数介绍。3.5.1 signrank函数 signrank Wilcoxon符号秩检验 p,h=signrank(x,y,alpha)其中p给出两个配对样本x和y的中位数相等的假设的显著性概率。向量x,y的长度必须相同,alpha为给出的显著性水平,取值为0和1之间的数。h返回假设检验的结果。如果这两个样本的中位数之差几乎为0,则h=0;若有显著差异,则h=1。3.5.2 signtest函数 signtest 符号检验 p,h=signtest(x,y,alpha)其中p给出两个配对样本x和y的中位数相等的假设的显著性概率。x和y若为向量,二者的长度必须相同;y亦可为标量,在此情
33、况下,计算x的中位数与常数y之间的差异。alpha和h同上。习 题 十 1.试用偏度、峰度检验法检验例6中的数据是否来自正态总体(取1.0=)。2.下 面 列 出 的 是 某 工 厂 随 机 选 取 的 20 只 部 件 的 装 配 时 间(分):9.8,10.4,10.6,9.6,9.7,9.9,10.9,11.1,9.6,10.2,10.3,9.6,9.9,11.2,10.6,9.8,10.5,10.1,10.5,9.7。设装配时间的总体服从正态分布,是否可以认为装配时间的均值显著地大于10(取05.0=)?3.表2分别给出两个文学家马克吐温(Mark Twain)的八篇小品文及斯诺特格拉斯(Snodgrass)的10篇小品文中由3个字母组成的词的比例。表2 马克吐温 0.225 0.262 0.217 0.240 0.230 0.229 0.235 0.217 斯诺特格拉斯 0.209 0.205 0.196 0.210 0.202 0.207 0.224 0.223 0.220 0.201 设两组数据分别来自正态总体,且两总体方差相等。两样本相互独立,问两个作家所写的小品文中包含由3个字母组成的词的比例是否有显著的差异(取05.0=)?